diff --git a/.travis.yml b/.travis.yml index f27bdce3198711f88bf3c7c6f521c8b722f6447b..b34dd4f9ceb367fb0765e9ef07f3e9aad5a94c61 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,11 +6,15 @@ env: - CTEST_OUTPUT_ON_FAILURE=1 - CXX_FLAGS_DEBUG="-O1" - BUILD_PYTHON_INTERFACE=ON + - MAKEFLAGS="-j2" + +cache: + ccache: true matrix: include: - - name: "Trusty - Debug - g++" - env: BUILD_TYPE=Debug + - name: "Trusty - Release - g++" + env: BUILD_TYPE=Release dist: trusty compiler: g++ addons: @@ -21,18 +25,6 @@ matrix: - libassimp-dev - libeigen3-dev - - name: "Xenial - Debug - g++" - env: BUILD_TYPE=Debug - dist: xenial - compiler: g++ - addons: - apt: - packages: - - cmake - - libboost-all-dev - - libassimp-dev - - libeigen3-dev - - liboctomap-dev - name: "Xenial - Release - g++" env: BUILD_TYPE=Release dist: xenial @@ -45,10 +37,11 @@ matrix: - libassimp-dev - libeigen3-dev - liboctomap-dev - - name: "Xenial - Debug - clang" - env: BUILD_TYPE=Debug - dist: xenial - compiler: clang + + - name: "Bionic - Release - g++" + env: BUILD_TYPE=Release + dist: bionic + compiler: g++ addons: apt: packages: @@ -60,7 +53,7 @@ matrix: - name: "Bionic - Debug - g++" env: BUILD_TYPE=Debug - dist: xenial + dist: bionic compiler: g++ addons: apt: @@ -71,27 +64,18 @@ matrix: - libeigen3-dev - liboctomap-dev - - name: "OSX - Debug - clang" - env: BUILD_TYPE=Debug + - name: "OSX - Release - clang" + env: BUILD_TYPE=Release os: osx compiler: clang - addons: - homebrew: - update: true - packages: - - git # build - - doxygen # build - - cmake # build - - pkg-config # build - - boost - - brewsci/homebrew-science/cddlib - - assimp - - eigen - - octomap + cache: + ccache: true + directories: + - $HOME/Library/Caches/Homebrew before_install: - if [ "$TRAVIS_OS_NAME" = "linux" ]; then source travis_custom/custom_before_install_linux.sh ; fi - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then source travis_custom/custom_before_install_osx.sh ; fi + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then source travis_custom/custom_before_install_osx.sh ; fi script: # Create build directory @@ -102,11 +86,11 @@ script: - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_FLAGS=-w -DCMAKE_CXX_FLAGS_DEBUG=${CXX_FLAGS_DEBUG} -DBUILD_PYTHON_INTERFACE=${BUILD_PYTHON_INTERFACE} .. # Build - - make -j4 + - make # Run unit tests - - travis_wait 30 ctest + - travis_wait 30 make test # Make sure we can install and uninstall with no issues - - sudo make -j4 install - - sudo make -j4 uninstall + - sudo make install + - sudo make uninstall diff --git a/include/hpp/fcl/mesh_loader/assimp.h b/include/hpp/fcl/mesh_loader/assimp.h index 79ba1808605527ce69dcd8a946639bb9abea4868..68748291dd9c9ce494040948dafc23d12e394bef 100644 --- a/include/hpp/fcl/mesh_loader/assimp.h +++ b/include/hpp/fcl/mesh_loader/assimp.h @@ -3,7 +3,8 @@ * * Copyright (c) 2011-2014, Willow Garage, Inc. * Copyright (c) 2014-2015, Open Source Robotics Foundation - * Copyright (c) 2016, CNRS - LAAS + * Copyright (c) 2016-2019, CNRS - LAAS + * Copyright (c) 2019, INRIA * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/mesh_loader/assimp.cpp b/src/mesh_loader/assimp.cpp index d529ec6dc6f6e1d8554caec9616a11467890fc60..2645a4be2e07729b069eabe4bf8d00647a09e352 100644 --- a/src/mesh_loader/assimp.cpp +++ b/src/mesh_loader/assimp.cpp @@ -34,6 +34,14 @@ #include <hpp/fcl/mesh_loader/assimp.h> +// Assimp >= 5.0 is forcing the use of C++11 keywords. A fix has been submitted https://github.com/assimp/assimp/pull/2758. +// The next lines fixes the bug for current version of hpp-fcl. +#include <assimp/defs.h> +#if __cplusplus < 201103L && defined(AI_NO_EXCEPT) + #undef AI_NO_EXCEPT + #define AI_NO_EXCEPT +#endif + #ifdef HPP_FCL_USE_ASSIMP_UNIFIED_HEADER_NAMES #include <assimp/DefaultLogger.hpp> #include <assimp/IOStream.hpp> diff --git a/travis_custom/custom_before_install_osx.sh b/travis_custom/custom_before_install_osx.sh index 8050eac617a6312a5ce8f50bd862cf3c1c33fdb9..e6015a00656ab08d8b7fbb006aa7d43eb08f85e7 100755 --- a/travis_custom/custom_before_install_osx.sh +++ b/travis_custom/custom_before_install_osx.sh @@ -2,8 +2,8 @@ brew tap gepetto/homebrew-gepetto # install eigenpy -brew install eigenpy +brew install boost assimp eigen octomap eigenpy # set environment variables export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/opt/openrobots/lib/pkgconfig" -export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/openrobots/lib" \ No newline at end of file +export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/openrobots/lib"