travis: use clang-9
							parent
							
								
									60d820e042
								
							
						
					
					
						commit
						087221ac95
					
				
							
								
								
									
										51
									
								
								.travis.sh
								
								
								
								
							
							
						
						
									
										51
									
								
								.travis.sh
								
								
								
								
							|  | @ -1,7 +1,7 @@ | |||
| #!/bin/bash | ||||
| 
 | ||||
| # common tasks before either build or test | ||||
| function prepare () | ||||
| function configure() | ||||
| { | ||||
|   set -e   # Make sure any error makes the script to return an error code | ||||
|   set -x   # echo | ||||
|  | @ -14,21 +14,23 @@ function prepare () | |||
|   rm -fr $BUILD_DIR || true | ||||
|   mkdir $BUILD_DIR && cd $BUILD_DIR | ||||
| 
 | ||||
|   if [ -z "$CMAKE_BUILD_TYPE" ]; then | ||||
|     CMAKE_BUILD_TYPE=Debug | ||||
|   fi | ||||
| 
 | ||||
|   if [ -z "$GTSAM_ALLOW_DEPRECATED_SINCE_V4" ]; then | ||||
|     GTSAM_ALLOW_DEPRECATED_SINCE_V4=OFF | ||||
|   fi | ||||
| 
 | ||||
|   if [ ! -z "$GCC_VERSION" ]; then | ||||
|     sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-$GCC_VERSION 60 \ | ||||
|                          --slave /usr/bin/g++ g++ /usr/bin/g++-$GCC_VERSION | ||||
|     sudo update-alternatives --set gcc /usr/bin/gcc-$GCC_VERSION | ||||
|     export CC=gcc-$GCC_VERSION | ||||
|     export CXX=g++-$GCC_VERSION | ||||
|   fi | ||||
| 
 | ||||
|   # GTSAM_BUILD_WITH_MARCH_NATIVE=OFF: to avoid crashes in builder VMs | ||||
|   cmake $SOURCE_DIR \ | ||||
|       -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Debug} \ | ||||
|       -DGTSAM_BUILD_TESTS=${GTSAM_BUILD_TESTS:-OFF} \ | ||||
|       -DGTSAM_BUILD_UNSTABLE=${GTSAM_BUILD_UNSTABLE:-ON} \ | ||||
|       -DGTSAM_BUILD_EXAMPLES_ALWAYS=${GTSAM_BUILD_EXAMPLES_ALWAYS:-ON} \ | ||||
|       -DGTSAM_ALLOW_DEPRECATED_SINCE_V4=${GTSAM_ALLOW_DEPRECATED_SINCE_V4:-OFF} \ | ||||
|       -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \ | ||||
|       -DCMAKE_VERBOSE_MAKEFILE=ON | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| # common tasks after either build or test | ||||
| function finish () | ||||
| { | ||||
|  | @ -41,17 +43,12 @@ function finish () | |||
| # compile the code with the intent of populating the cache | ||||
| function build () | ||||
| { | ||||
|   prepare | ||||
|   export GTSAM_BUILD_EXAMPLES_ALWAYS=ON | ||||
|   export GTSAM_BUILD_TESTS=OFF | ||||
| 
 | ||||
|   cmake $SOURCE_DIR \ | ||||
|       -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ | ||||
|       -DGTSAM_BUILD_TESTS=OFF \ | ||||
|       -DGTSAM_BUILD_UNSTABLE=$GTSAM_BUILD_UNSTABLE \ | ||||
|       -DGTSAM_BUILD_EXAMPLES_ALWAYS=ON \ | ||||
|       -DGTSAM_ALLOW_DEPRECATED_SINCE_V4=$GTSAM_ALLOW_DEPRECATED_SINCE_V4 | ||||
|   configure | ||||
| 
 | ||||
|   # Actual build: | ||||
|   VERBOSE=1 make -j2 | ||||
|   make -j2 | ||||
| 
 | ||||
|   finish | ||||
| } | ||||
|  | @ -59,14 +56,10 @@ function build () | |||
| # run the tests | ||||
| function test () | ||||
| { | ||||
|   prepare | ||||
|   export GTSAM_BUILD_EXAMPLES_ALWAYS=OFF | ||||
|   export GTSAM_BUILD_TESTS=ON | ||||
| 
 | ||||
|   cmake $SOURCE_DIR \ | ||||
|       -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \ | ||||
|       -DGTSAM_BUILD_TESTS=ON \ | ||||
|       -DGTSAM_BUILD_UNSTABLE=$GTSAM_BUILD_UNSTABLE \ | ||||
|       -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \ | ||||
|       -DGTSAM_ALLOW_DEPRECATED_SINCE_V4=OFF | ||||
|   configure | ||||
| 
 | ||||
|   # Actual build: | ||||
|   make -j2 check | ||||
|  | @ -79,7 +72,7 @@ case $1 in | |||
|   -b) | ||||
|     build | ||||
|     ;; | ||||
|   -t)                       | ||||
|   -t) | ||||
|     test | ||||
|     ;; | ||||
| esac | ||||
|  |  | |||
							
								
								
									
										80
									
								
								.travis.yml
								
								
								
								
							
							
						
						
									
										80
									
								
								.travis.yml
								
								
								
								
							|  | @ -7,11 +7,12 @@ addons: | |||
|   apt: | ||||
|     sources: | ||||
|     - ubuntu-toolchain-r-test | ||||
|     - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' | ||||
|       key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' | ||||
|     packages: | ||||
|     - g++-8 | ||||
|     - clang-3.8 | ||||
|     - build-essential | ||||
|     - pkg-config | ||||
|     - g++-9 | ||||
|     - clang-9 | ||||
|     - build-essential pkg-config | ||||
|     - cmake | ||||
|     - libpython-dev python-numpy | ||||
|     - libboost-all-dev | ||||
|  | @ -28,8 +29,14 @@ stages: | |||
|   - compile | ||||
|   - test | ||||
| 
 | ||||
| env: | ||||
|   global: | ||||
|     - MAKEFLAGS="-j2" | ||||
|     - CCACHE_SLOPPINESS=pch_defines,time_macros | ||||
| 
 | ||||
| # Compile stage without building examples/tests to populate the caches. | ||||
| jobs: | ||||
| # -------- STAGE 1: COMPILE ----------- | ||||
|   include: | ||||
| # on Mac, GCC | ||||
|   - stage: compile | ||||
|  | @ -68,46 +75,45 @@ jobs: | |||
|   - stage: compile | ||||
|     os: linux | ||||
|     compiler: clang | ||||
|     env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF | ||||
|     env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF | ||||
|     script: bash .travis.sh -b | ||||
|   - stage: compile | ||||
|     os: linux | ||||
|     compiler: clang | ||||
|     env: CMAKE_BUILD_TYPE=Release | ||||
|     env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Release | ||||
|     script: bash .travis.sh -b | ||||
| # on Linux, with deprecated ON to make sure that path still compiles | ||||
|   - stage: compile | ||||
|     os: linux | ||||
|     compiler: clang | ||||
|     env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF GTSAM_ALLOW_DEPRECATED_SINCE_V4=ON | ||||
|     env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF GTSAM_ALLOW_DEPRECATED_SINCE_V4=ON | ||||
|     script: bash .travis.sh -b | ||||
| 
 | ||||
| # Matrix configuration: | ||||
| os: | ||||
|   - osx | ||||
|   - linux | ||||
| compiler: | ||||
|   - gcc | ||||
|   - clang | ||||
| env: | ||||
|   global: | ||||
|     - MAKEFLAGS="-j2" | ||||
|     - CCACHE_SLOPPINESS=pch_defines,time_macros | ||||
|     - GTSAM_ALLOW_DEPRECATED_SINCE_V4=OFF | ||||
|     - GTSAM_BUILD_UNSTABLE=ON | ||||
|   matrix: | ||||
|     - CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF | ||||
|     - CMAKE_BUILD_TYPE=Release | ||||
| script: | ||||
|   - bash .travis.sh -t | ||||
| 
 | ||||
| matrix: | ||||
|   exclude: | ||||
|     # Exclude g++ debug on Linux as it consistently times out | ||||
|     - os: linux | ||||
|       compiler: gcc | ||||
|       env : CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF | ||||
|     # Exclude clang on Linux/clang in release until issue #57 is solved | ||||
|     - os: linux | ||||
|       compiler: clang | ||||
|       env : CMAKE_BUILD_TYPE=Release | ||||
| # -------- STAGE 2: TESTS ----------- | ||||
| # on Mac, GCC | ||||
|   - stage: test | ||||
|     os: osx | ||||
|     compiler: clang | ||||
|     env: CMAKE_BUILD_TYPE=Release | ||||
|     script: bash .travis.sh -t | ||||
|   - stage: test | ||||
|     os: osx | ||||
|     compiler: clang | ||||
|     env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF | ||||
|     script: bash .travis.sh -t | ||||
|   - stage: test | ||||
|     os: linux | ||||
|     compiler: gcc | ||||
|     env: CMAKE_BUILD_TYPE=Release | ||||
|     script: bash .travis.sh -t | ||||
| # Exclude g++ debug on Linux as it consistently times out | ||||
| #  - stage: test | ||||
| #    os: linux | ||||
| #    compiler: gcc | ||||
| #    env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF | ||||
| #    script: bash .travis.sh -t | ||||
| # Exclude clang on Linux/clang in release until issue #57 is solved | ||||
| #  - stage: test | ||||
| #    os: linux | ||||
| #    compiler: clang | ||||
| #    env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Release | ||||
| #    script: bash .travis.sh -t | ||||
|  |  | |||
|  | @ -434,7 +434,7 @@ add_subdirectory(timing) | |||
| # Build gtsam_unstable | ||||
| if (GTSAM_BUILD_UNSTABLE) | ||||
|     add_subdirectory(gtsam_unstable) | ||||
| endif(GTSAM_BUILD_UNSTABLE) | ||||
| endif() | ||||
| 
 | ||||
| # Matlab toolbox | ||||
| if (GTSAM_INSTALL_MATLAB_TOOLBOX) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue