2019-05-31 15:48:51 +08:00
|
|
|
language: cpp
|
|
|
|
cache: ccache
|
|
|
|
dist: xenial
|
|
|
|
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
sources:
|
|
|
|
- ubuntu-toolchain-r-test
|
2019-12-11 23:31:43 +08:00
|
|
|
- sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
|
|
|
|
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
2019-05-31 15:48:51 +08:00
|
|
|
packages:
|
2019-12-11 23:31:43 +08:00
|
|
|
- g++-9
|
|
|
|
- clang-9
|
|
|
|
- build-essential pkg-config
|
2019-05-31 15:48:51 +08:00
|
|
|
- cmake
|
2020-06-24 05:08:44 +08:00
|
|
|
- python3-dev libpython-dev
|
|
|
|
- python3-numpy
|
2019-05-31 15:48:51 +08:00
|
|
|
- libboost-all-dev
|
|
|
|
|
2019-06-03 10:55:57 +08:00
|
|
|
# before_install:
|
2020-03-27 21:21:51 +08:00
|
|
|
# - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi
|
2019-05-31 15:48:51 +08:00
|
|
|
|
2019-06-03 04:43:33 +08:00
|
|
|
install:
|
2019-06-03 11:58:46 +08:00
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache ; fi
|
2019-06-03 04:43:33 +08:00
|
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then export PATH="/usr/local/opt/ccache/libexec:$PATH" ; fi
|
|
|
|
|
2019-06-07 05:46:27 +08:00
|
|
|
# We first do the compile stage specified below, then the matrix expansion specified after.
|
|
|
|
stages:
|
|
|
|
- compile
|
|
|
|
- test
|
2019-06-16 03:24:37 +08:00
|
|
|
- special
|
2019-05-31 15:48:51 +08:00
|
|
|
|
2019-12-11 23:31:43 +08:00
|
|
|
env:
|
|
|
|
global:
|
2020-07-25 00:24:46 +08:00
|
|
|
- MAKEFLAGS="-j3"
|
2019-12-11 23:31:43 +08:00
|
|
|
- CCACHE_SLOPPINESS=pch_defines,time_macros
|
|
|
|
|
2019-06-07 05:46:27 +08:00
|
|
|
# Compile stage without building examples/tests to populate the caches.
|
|
|
|
jobs:
|
2019-12-11 23:31:43 +08:00
|
|
|
# -------- STAGE 1: COMPILE -----------
|
2019-05-31 15:48:51 +08:00
|
|
|
include:
|
2019-06-07 06:25:55 +08:00
|
|
|
# on Mac, GCC
|
|
|
|
- stage: compile
|
|
|
|
os: osx
|
|
|
|
compiler: gcc
|
2019-06-13 03:37:30 +08:00
|
|
|
env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF
|
2019-06-12 12:23:40 +08:00
|
|
|
script: bash .travis.sh -b
|
2019-06-11 02:04:21 +08:00
|
|
|
- stage: compile
|
|
|
|
os: osx
|
|
|
|
compiler: gcc
|
2019-06-12 12:23:40 +08:00
|
|
|
env: CMAKE_BUILD_TYPE=Release
|
|
|
|
script: bash .travis.sh -b
|
2019-06-07 06:25:55 +08:00
|
|
|
# on Mac, CLANG
|
|
|
|
- stage: compile
|
|
|
|
os: osx
|
|
|
|
compiler: clang
|
2019-06-13 03:37:30 +08:00
|
|
|
env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF
|
2019-06-12 12:23:40 +08:00
|
|
|
script: bash .travis.sh -b
|
2019-06-11 02:04:21 +08:00
|
|
|
- stage: compile
|
|
|
|
os: osx
|
|
|
|
compiler: clang
|
2019-06-12 12:23:40 +08:00
|
|
|
env: CMAKE_BUILD_TYPE=Release
|
|
|
|
script: bash .travis.sh -b
|
2019-06-07 05:46:27 +08:00
|
|
|
# on Linux, GCC
|
|
|
|
- stage: compile
|
2019-06-02 23:02:37 +08:00
|
|
|
os: linux
|
2019-06-07 05:46:27 +08:00
|
|
|
compiler: gcc
|
2019-06-13 03:37:30 +08:00
|
|
|
env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF
|
2019-06-12 12:23:40 +08:00
|
|
|
script: bash .travis.sh -b
|
2019-06-11 02:04:21 +08:00
|
|
|
- stage: compile
|
|
|
|
os: linux
|
|
|
|
compiler: gcc
|
2019-06-12 12:23:40 +08:00
|
|
|
env: CMAKE_BUILD_TYPE=Release
|
|
|
|
script: bash .travis.sh -b
|
2019-06-07 05:46:27 +08:00
|
|
|
# on Linux, CLANG
|
|
|
|
- stage: compile
|
2019-06-02 23:02:37 +08:00
|
|
|
os: linux
|
2019-06-07 05:46:27 +08:00
|
|
|
compiler: clang
|
2019-12-11 23:31:43 +08:00
|
|
|
env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF
|
2019-06-12 12:23:40 +08:00
|
|
|
script: bash .travis.sh -b
|
2019-06-11 02:04:21 +08:00
|
|
|
- stage: compile
|
|
|
|
os: linux
|
|
|
|
compiler: clang
|
2019-12-11 23:31:43 +08:00
|
|
|
env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Release
|
2019-06-12 12:23:40 +08:00
|
|
|
script: bash .travis.sh -b
|
2019-06-16 03:24:37 +08:00
|
|
|
# on Linux, with deprecated ON to make sure that path still compiles/tests
|
|
|
|
- stage: special
|
2019-06-05 04:10:33 +08:00
|
|
|
os: linux
|
2019-06-07 05:46:27 +08:00
|
|
|
compiler: clang
|
2020-07-23 05:32:07 +08:00
|
|
|
env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF GTSAM_ALLOW_DEPRECATED_SINCE_V41=ON
|
2019-06-12 12:23:40 +08:00
|
|
|
script: bash .travis.sh -b
|
2020-03-27 01:38:17 +08:00
|
|
|
# on Linux, with GTSAM_WITH_TBB on to make sure GTSAM still compiles/tests
|
2020-01-13 00:34:02 +08:00
|
|
|
- stage: special
|
|
|
|
os: linux
|
|
|
|
compiler: gcc
|
2020-03-27 01:38:17 +08:00
|
|
|
env: CMAKE_BUILD_TYPE=Debug GTSAM_BUILD_UNSTABLE=OFF GTSAM_WITH_TBB=ON
|
2020-06-07 03:04:43 +08:00
|
|
|
script: bash .travis.sh -t
|
2019-12-11 23:31:43 +08:00
|
|
|
# -------- 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
|
2019-12-22 12:56:28 +08:00
|
|
|
- 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
|
2019-06-16 03:24:37 +08:00
|
|
|
script: bash .travis.sh -t
|
|
|
|
# on Linux, with quaternions ON to make sure that path still compiles/tests
|
|
|
|
- stage: special
|
|
|
|
os: linux
|
|
|
|
compiler: clang
|
2019-12-22 12:56:28 +08:00
|
|
|
env: CC=clang-9 CXX=clang++-9 CMAKE_BUILD_TYPE=Release GTSAM_BUILD_UNSTABLE=OFF GTSAM_USE_QUATERNIONS=ON
|
2019-06-16 03:24:37 +08:00
|
|
|
script: bash .travis.sh -t
|
2020-02-12 03:43:56 +08:00
|
|
|
- stage: special
|
|
|
|
os: linux
|
|
|
|
compiler: gcc
|
2020-02-14 05:41:59 +08:00
|
|
|
env: PYTHON_VERSION=3
|
2020-02-12 03:43:56 +08:00
|
|
|
script: bash .travis.python.sh
|
|
|
|
- stage: special
|
|
|
|
os: osx
|
|
|
|
compiler: clang
|
2020-02-14 05:41:59 +08:00
|
|
|
env: PYTHON_VERSION=3
|
2020-02-12 03:43:56 +08:00
|
|
|
script: bash .travis.python.sh
|