Skip to content

Commit

Permalink
Merge branch 'devel'
Browse files Browse the repository at this point in the history
  • Loading branch information
mbrunettini committed Nov 28, 2016
2 parents 2f514a5 + 410cfbd commit cf5b8cc
Show file tree
Hide file tree
Showing 2,498 changed files with 71,009 additions and 485,270 deletions.
39 changes: 27 additions & 12 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ version: appveyor.{build}

init:
- cmd: git config --global core.autocrlf true
- cmd: dir C:\projects
- cmd: cmake --version
- cmd: msbuild /version

clone_folder: c:\projects\yarp
clone_folder: C:\projects\yarp

platform:
- Win32
Expand All @@ -21,21 +20,35 @@ branches:
- travis

install:
- ps: $dwntool=New-Object System.Net.WebClient
- cmd: md C:\downloads

# Get 7zip
- cmd: cinst 7zip.commandline -x86
- cmd: dir c:\projects
- ps: if ($env:platform -Match "Win32") {$dwntool.DownloadFile('http://www.icub.org/download/packages/windows/msvc11/ACE_6.1.0-bin-msvc11.zip','c:\ace.zip')}
# - ps: if ($env:platform -Match "x64") {$dwntool.DownloadFile('http://www.icub.org/download/packages/windows/msvc11/ACE_6.1.0-bin-msvc11.zip','c:\ace.zip')}
- cmd: 7z x c:\ace.zip -oc:\ -y > nul
- cmd: set ACE_ROOT=c:\ACE_wrappers
- cmd: set PATH=%PATH%;c:\ACE_wrappers\bin;c:\projects\yarp\build\bin\%CONFIGURATION%;c:\projects\yarp\build\lib\%CONFIGURATION%
- cmd: set CTEST_OUTPUT_ON_FAILURE=1


# Get ACE:
- cmd: if "%platform%"=="Win32" appveyor DownloadFile "http://www.icub.org/download/packages/windows/msvc11/ACE_6.1.0-bin-msvc11.zip" -FileName "C:\downloads\ace.zip"
- cmd: 7z x C:\downloads\ace.zip -oC:\tools\ACE -y > nul
- cmd: set ACE_ROOT=C:\tools\ACE\ACE_wrappers
- cmd: set PATH=%PATH%;C:\tools\ACE\ACE_wrappers\bin;C:\projects\yarp\build\bin\%CONFIGURATION%;C:\projects\yarp\build\lib\%CONFIGURATION%

# Get Eigen:
- cmd: appveyor DownloadFile "http://bitbucket.org/eigen/eigen/get/3.3-beta2.zip" -FileName "C:\downloads\eigen.zip"
- cmd: 7z x C:\downloads\eigen.zip -o"C:\tools\eigen" -y > nul
- cmd: set EIGEN3_ROOT=C:\tools\eigen\eigen-eigen-69d418c06999

# Get Qt5:
- cmd: appveyor DownloadFile "https://raw.githubusercontent.com/robotology-dependencies/robotology-dep-scripts/master/qt5/qt-installer-noninteractive.qs" -FileName "C:\downloads\qt-installer-noninteractive.qs"
- cmd: if "%platform%"=="Win32" appveyor DownloadFile "https://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-windows-x86-msvc2012-5.5.1.exe" -FileName "C:\downloads\qt5.exe"
- cmd: if "%platform%"=="Win32" C:\downloads\qt5.exe --script C:\downloads\qt-installer-noninteractive.qs
- cmd: if "%platform%"=="Win32" set QTDIR=C:\Qt\Qt5.5.1\5.5\msvc2012
- cmd: set Qt5_DIR=%QTDIR%\lib\cmake\Qt5

before_build:
- cmd: md C:\projects\yarp\build
- cmd: cd C:\projects\yarp\build
- cmd: if "%platform%"=="Win32" cmake -G"Visual Studio 11" -DCMAKE_INSTALL_PREFIX:PATH=C:\projects\yarp\install -DYARP_COMPILE_TESTS:BOOL=ON ..
- cmd: if "%platform%"=="x64" cmake -G"Visual Studio 11 Win64" -DCMAKE_INSTALL_PREFIX:PATH=C:\projects\yarp\install -DYARP_COMPILE_TESTS:BOOL=ON ..
- cmd: if "%platform%"=="Win32" cmake -G"Visual Studio 11" -DCMAKE_INSTALL_PREFIX:PATH=C:\projects\yarp\install -C ..\scripts\admin\initial-cache.cmake ..
- cmd: if "%platform%"=="x64" cmake -G"Visual Studio 11 Win64" -DCMAKE_INSTALL_PREFIX:PATH=C:\projects\yarp\install -C ..\scripts\admin\initial-cache.cmake ..

build:
project: C:\projects\yarp\build\yarp.sln
Expand All @@ -44,4 +57,6 @@ after_build:
- cmd: cmake --build C:\projects\yarp\build --target INSTALL --config %CONFIGURATION%

test_script:
- cmd: set YARP_VERBOSE=1
- cmd: set YARP_DATA_DIRS=C:\projects\yarp\build\share\yarp
- cmd: ctest --output-on-failure --build . -C %CONFIGURATION%
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/scripts/debian/ export-ignore
/src/modules/dimax_u2c/blob/ export-ignore
/src/devices/dimax_u2c/blob/ export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.mailmap export-ignore
Expand Down
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ This is the recommended code style for YARP.
* The defined macro should have this format:
* Main libraries: `YARP_<LIB>_<FILENAME_H>` i.e. `YARP_OS_FOO_H`
* Impl headers: `YARP_<LIB>_IMPL_<FILENAME_H>` i.e. `YARP_OS_IMPL_FOO_H`
* Plugins (carriers and modules): `YARP_<NAME>_<CARRIER/DEVICE>_FILENAME_H` i.e.
* Plugins (carriers and devices): `YARP_<NAME>_<CARRIER/DEVICE>_FILENAME_H` i.e.
`YARP_HUMAN_CARRIER_HUMANSTREAM_H` and`YARP_FAKEBOT_DEVICE_FAKEBOT_H`
* Executables (tools and GUIs): `YARP_<NAME>_FILENAME_H` i.e. `YARP_YARP_YARPROBOT_H`
and `YARP_YARPMANAGER_QT_YSCOPEWINDOW_H`
Expand Down
1 change: 1 addition & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,4 @@ YARP Developers <yarp0-devel@lists.sourceforge.net> <icub@icub.org>
YARP Developers <yarp0-devel@lists.sourceforge.net> <icub@icub16.icub.org>
YARP Developers <yarp0-devel@lists.sourceforge.net> <icub.headv3@icub.org>
YARP Developers <yarp0-devel@lists.sourceforge.net> <icub@icub22.icub.local>
YARP Developers <yarp0-devel@lists.sourceforge.net> <ikart@iit.it>
44 changes: 31 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ env:
- TRAVIS_WITH_INTEGRATION_TESTS=false
- TRAVIS_STATIC=false
- TRAVIS_WITH_VALGRIND=false
- TRAVIS_NO_DEPRECATED=false
- TRAVIS_WITH_BROKEN_TESTS=false

matrix:
# Normal build
Expand Down Expand Up @@ -71,6 +73,16 @@ matrix:
compiler: clang
env: TRAVIS_WITH_ACE=true TRAVIS_WITH_CXX11=false TRAVIS_WITH_INTEGRATION_TESTS=true

# Normal build no deprecated (linux, gcc)
- os: linux
compiler: gcc
env: TRAVIS_WITH_ACE=true TRAVIS_WITH_CXX11=false TRAVIS_NO_DEPRECATED=true

# Normal build no deprecated (linux, clang)
- os: linux
compiler: clang
env: TRAVIS_WITH_ACE=true TRAVIS_WITH_CXX11=false TRAVIS_NO_DEPRECATED=true

# Static build (linux, gcc)
- os: linux
compiler: gcc
Expand Down Expand Up @@ -111,6 +123,11 @@ matrix:
compiler: gcc
env: TRAVIS_WITH_ACE=false TRAVIS_WITH_CXX11=true TRAVIS_WITH_VALGRIND=true

# Normal build with valgrind and broken tests (linux, gcc)
- os: linux
compiler: gcc
env: TRAVIS_WITH_ACE=true TRAVIS_WITH_CXX11=false TRAVIS_WITH_VALGRIND=true TRAVIS_WITH_BROKEN_TESTS=true

# Normal build with Coverage (linux, gcc)
# - os: linux
# compiler: gcc
Expand Down Expand Up @@ -143,6 +160,9 @@ matrix:
allow_failures:
# Normal build with integration tests (sometimes integration::rpc test fails)
- env: TRAVIS_WITH_ACE=true TRAVIS_WITH_CXX11=false TRAVIS_WITH_INTEGRATION_TESTS=true

# Normal build with valgrind and broken tests (tests of already broken things)
- env: TRAVIS_WITH_ACE=true TRAVIS_WITH_CXX11=false TRAVIS_WITH_VALGRIND=true TRAVIS_WITH_BROKEN_TESTS=true

branches:
except:
Expand Down Expand Up @@ -217,28 +237,23 @@ install:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then if $TRAVIS_WITH_ACE; then sudo apt-get -y install libace-dev; fi; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then if $TRAVIS_WITH_ACE; then brew install ace; fi; fi

# Install other core dependencies (sqlite, tinyxml)
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y libsqlite3-dev libtinyxml-dev; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install sqlite tinyxml; fi

# Install GTK2 GUIs dependencies
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y libgtkmm-2.4-dev libgtkdataboxmm-dev libgoocanvasmm-dev; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install gtkmm gtk+ gtkdatabox goocanvas; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew link --force gettext; fi # Fix goocanvas build
# Install other core dependencies (sqlite, tinyxml, libedit)
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y libsqlite3-dev libtinyxml-dev libedit-dev; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install sqlite tinyxml homebrew/dupes/libedit; fi

# Install Qt5 GUIs dependencies
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y qtbase5-dev qtdeclarative5-dev qtmultimedia5-dev; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install qt5; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export Qt5_DIR="/usr/local/opt/qt5/lib/cmake/Qt5"; fi

# Install GPL dependencies (gsl, readline, qcustomplot)
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y libgsl0-dev libreadline-dev libqcustomplot-dev; fi
# Install GPL dependencies (gsl, qcustomplot)
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y libgsl0-dev libqcustomplot-dev; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install gsl readline; fi

# Install other dependencies (opencv)
# Install other dependencies (opencv, eigen)
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y libopencv-dev libeigen3-dev; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then /usr/bin/yes | pip uninstall numpy || true; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y libopencv-dev; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install opencv; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install opencv eigen; fi

# Install swig stuff
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then if $TRAVIS_WITH_INTEGRATION_TESTS; then sudo apt-get -y install liblua5.1-0-dev lua5.1 tcl-dev tk-dev mono-mcs; fi; fi
Expand All @@ -264,6 +279,9 @@ before_script:
- if $TRAVIS_WITH_INTEGRATION_TESTS; then export YARP_CMAKE_OPTIONS="${YARP_CMAKE_OPTIONS} -DYARP_TEST_INTEGRATION=ON"; fi
- if $TRAVIS_STATIC; then export YARP_CMAKE_OPTIONS="${YARP_CMAKE_OPTIONS} -DCREATE_SHARED_LIBRARY=OFF"; fi
- if $TRAVIS_WITH_VALGRIND; then export YARP_CMAKE_OPTIONS="${YARP_CMAKE_OPTIONS} -DYARP_VALGRIND_TESTS=ON -DYARP_VALGRIND_DRD_TESTS=OFF -DYARP_VALGRIND_HELGRIND_TESTS=OFF YARP_VALGRIND_MEMCHECK_TESTS=ON YARP_VALGRIND_SGCHECK_TESTS=OFF"; fi
- if $TRAVIS_NO_DEPRECATED; then export YARP_CMAKE_OPTIONS="${YARP_CMAKE_OPTIONS} -DYARP_NO_DEPRECATED=ON"; fi
- if $TRAVIS_WITH_BROKEN_TESTS; then export YARP_CMAKE_OPTIONS="${YARP_CMAKE_OPTIONS} -DYARP_ENABLE_BROKEN_TESTS=ON"; fi
- export YARP_CMAKE_OPTIONS="${YARP_CMAKE_OPTIONS} -DCREATE_LIB_MATH_USING_GSL=OFF"

# Run CMake
- (cd build; cmake -G"${TRAVIS_CMAKE_GENERATOR}" -DCMAKE_BUILD_TYPE=${TRAVIS_BUILD_TYPE} ${YARP_CMAKE_OPTIONS} ..)
Expand Down
49 changes: 27 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,22 @@ endif()

project(YARP)

# Pick up our CMake scripts - they are all in the conf subdirectory.
set(YARP_MODULE_DIR ${PROJECT_SOURCE_DIR}/conf)
set(YARP_MODULE_PATH ${YARP_MODULE_DIR})
if(${CMAKE_VERSION} VERSION_LESS 3.5)
list(APPEND YARP_MODULE_PATH ${PROJECT_SOURCE_DIR}/conf/cmake-3.5/Modules)
# Pick up our CMake scripts - they are all in the cmake subdirectory.
set(YARP_MODULE_DIR "${CMAKE_SOURCE_DIR}/cmake")
set(YARP_MODULE_PATH "${YARP_MODULE_DIR}")

find_package(YCM 0.2.2 QUIET)
if(NOT YCM_FOUND)
list(APPEND YARP_MODULE_PATH "${YARP_MODULE_DIR}/ycm-0.2/find-modules"
"${YARP_MODULE_DIR}/ycm-0.2/modules"
"${YARP_MODULE_DIR}/ycm-0.2/3rdparty"
"${YARP_MODULE_DIR}/ycm-0.2/cmake-next")
if(${CMAKE_VERSION} VERSION_LESS 3.1)
list(APPEND YARP_MODULE_PATH "${YARP_MODULE_DIR}/ycm-0.2/cmake-3.1/Modules")
endif()
endif()
if(${CMAKE_VERSION} VERSION_LESS 3.1)
list(APPEND YARP_MODULE_PATH ${PROJECT_SOURCE_DIR}/conf/cmake-3.1/Modules)
endif()
set(CMAKE_MODULE_PATH ${YARP_MODULE_PATH})

list(APPEND CMAKE_MODULE_PATH ${YARP_MODULE_PATH})

# The YARP build is fairly flexible, so we need to accumulate some
# information about what libraries are being built (and their dependencies),
Expand All @@ -36,27 +42,27 @@ set_property(GLOBAL PROPERTY YARP_LIBS)
set_property(GLOBAL PROPERTY YARP_DEFS)

# Get the current YARP version.
# See conf/YarpVersion.cmake.
# See cmake/YarpVersion.cmake.
include(YarpVersion)

# Check system configuration.
# See conf/YarpSystemCheck.cmake.
# See cmake/YarpSystemCheck.cmake.
include(YarpSystemCheck)

# Set up some compilation options.
# See conf/YarpOptions.cmake.
# See cmake/YarpOptions.cmake.
include(YarpOptions)

# Include some workarounds for older cmake versions
# See conf/YarpCMakeWorkarounds.cmake
# See cmake/YarpCMakeWorkarounds.cmake
include(YarpCMakeWorkarounds)

# Check YARP dependencies, find necessary libraries.
# See conf/YarpFindDependencies.cmake.
# See cmake/YarpFindDependencies.cmake.
include(YarpFindDependencies)

# Make some custom header files containing compile settings.
add_subdirectory(conf)
add_subdirectory(cmake)

# Build required 3rd party libraries
add_subdirectory(extern)
Expand All @@ -73,24 +79,23 @@ add_subdirectory(tests)
# Platform independent data
add_subdirectory(data)

# add rule for uninstalling YARP
# see conf/YARPUninstall.cmake
include(YARPUninstall)

# Output configuration files describing how YARP was built, and how
# its libraries may be linked against and used. This uses
# information accumulated in the global property variables set up earlier.
# See conf/YarpDescribe.cmake
# See cmake/YarpDescribe.cmake
include(YarpDescribe)

# Set up some packaging properties (for generating tarballs etc).
# See conf/YarpPackage.cmake
# See cmake/YarpPackage.cmake
include(YarpPackage)

# Make documentation target, documentation goes in doc subdirectory
# of build. See conf/YarpDoc.cmake
# of build. See cmake/YarpDoc.cmake
include(YarpDoc)

# Make sure yarp.i and related source files get installed, to allow
# bindings for other languages to be compiled from the build material.
include(YarpBindingsSource)

# add rule for uninstalling YARP
include(AddUninstallTarget)
Loading

0 comments on commit cf5b8cc

Please sign in to comment.