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
|