125 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
language: cpp
 | 
						|
cache: ccache
 | 
						|
sudo: required
 | 
						|
dist: xenial
 | 
						|
 | 
						|
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++-9
 | 
						|
    - clang-9
 | 
						|
    - build-essential pkg-config
 | 
						|
    - cmake
 | 
						|
    - libpython-dev python-numpy
 | 
						|
    - libboost-all-dev
 | 
						|
 | 
						|
# before_install:
 | 
						|
#  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update          ; fi
 | 
						|
 | 
						|
install:
 | 
						|
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache  ; fi
 | 
						|
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then export PATH="/usr/local/opt/ccache/libexec:$PATH" ; fi
 | 
						|
 | 
						|
# We first do the compile stage specified below, then the matrix expansion specified after.
 | 
						|
stages:
 | 
						|
  - compile
 | 
						|
  - test
 | 
						|
  - special
 | 
						|
 | 
						|
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
 | 
						|
    os: osx
 | 
						|
    compiler: gcc
 | 
						|
    env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF
 | 
						|
    script: bash .travis.sh -b
 | 
						|
  - stage: compile
 | 
						|
    os: osx
 | 
						|
    compiler: gcc
 | 
						|
    env: CMAKE_BUILD_TYPE=Release
 | 
						|
    script: bash .travis.sh -b
 | 
						|
# on Mac, CLANG
 | 
						|
  - stage: compile
 | 
						|
    os: osx
 | 
						|
    compiler: clang
 | 
						|
    env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF
 | 
						|
    script: bash .travis.sh -b
 | 
						|
  - stage: compile
 | 
						|
    os: osx
 | 
						|
    compiler: clang
 | 
						|
    env: CMAKE_BUILD_TYPE=Release
 | 
						|
    script: bash .travis.sh -b
 | 
						|
# on Linux, GCC
 | 
						|
  - stage: compile
 | 
						|
    os: linux
 | 
						|
    compiler: gcc
 | 
						|
    env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF
 | 
						|
    script: bash .travis.sh -b
 | 
						|
  - stage: compile
 | 
						|
    os: linux
 | 
						|
    compiler: gcc
 | 
						|
    env: CMAKE_BUILD_TYPE=Release
 | 
						|
    script: bash .travis.sh -b
 | 
						|
# on Linux, CLANG
 | 
						|
  - stage: compile
 | 
						|
    os: linux
 | 
						|
    compiler: clang
 | 
						|
    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: 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/tests
 | 
						|
  - stage: special
 | 
						|
    os: linux
 | 
						|
    compiler: clang
 | 
						|
    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
 | 
						|
# -------- 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
 | 
						|
  - stage: test
 | 
						|
    os: linux
 | 
						|
    compiler: gcc
 | 
						|
    env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF
 | 
						|
    script: bash .travis.sh -t
 | 
						|
  - stage: test
 | 
						|
    os: linux
 | 
						|
    compiler: clang
 | 
						|
    env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Release
 | 
						|
    script: bash .travis.sh -t
 | 
						|
# on Linux, with quaternions ON to make sure that path still compiles/tests
 | 
						|
  - stage: special
 | 
						|
    os: linux
 | 
						|
    compiler: clang
 | 
						|
    env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Release GTSAM_BUILD_UNSTABLE=OFF GTSAM_USE_QUATERNIONS=ON
 | 
						|
    script: bash .travis.sh -t
 |