| language: cpp |
| sudo: false |
| |
| matrix: |
| include: |
| |
| # 1/ Linux Clang Builds |
| - os: linux |
| compiler: clang |
| addons: &clang35 |
| apt: |
| sources: ['llvm-toolchain-precise-3.5', 'ubuntu-toolchain-r-test'] |
| packages: ['clang-3.5'] |
| env: COMPILER='clang++-3.5' BUILD_TYPE='Release' |
| |
| - os: linux |
| compiler: clang |
| addons: *clang35 |
| env: COMPILER='clang++-3.5' BUILD_TYPE='Debug' |
| |
| |
| - os: linux |
| compiler: clang |
| addons: &clang36 |
| apt: |
| sources: ['llvm-toolchain-precise-3.6', 'ubuntu-toolchain-r-test'] |
| packages: ['clang-3.6'] |
| env: COMPILER='clang++-3.6' BUILD_TYPE='Release' |
| |
| - os: linux |
| compiler: clang |
| addons: *clang36 |
| env: COMPILER='clang++-3.6' BUILD_TYPE='Debug' |
| |
| |
| - os: linux |
| compiler: clang |
| addons: &clang37 |
| apt: |
| sources: ['llvm-toolchain-precise-3.7', 'ubuntu-toolchain-r-test'] |
| packages: ['clang-3.7'] |
| env: COMPILER='clang++-3.7' BUILD_TYPE='Release' |
| |
| - os: linux |
| compiler: clang |
| addons: *clang37 |
| env: COMPILER='clang++-3.7' BUILD_TYPE='Debug' |
| |
| |
| - os: linux |
| compiler: clang |
| addons: &clang38 |
| apt: |
| sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test'] |
| packages: ['clang-3.8'] |
| env: COMPILER='clang++-3.8' BUILD_TYPE='Release' |
| |
| - os: linux |
| compiler: clang |
| addons: *clang38 |
| env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' |
| |
| |
| # 2/ Linux GCC Builds |
| - os: linux |
| compiler: gcc |
| addons: &gcc48 |
| apt: |
| sources: ['ubuntu-toolchain-r-test'] |
| packages: ['g++-4.8'] |
| env: COMPILER='g++-4.8' BUILD_TYPE='Release' |
| |
| - os: linux |
| compiler: gcc |
| addons: *gcc48 |
| env: COMPILER='g++-4.8' BUILD_TYPE='Debug' |
| |
| |
| - os: linux |
| compiler: gcc |
| addons: &gcc49 |
| apt: |
| sources: ['ubuntu-toolchain-r-test'] |
| packages: ['g++-4.9'] |
| env: COMPILER='g++-4.9' BUILD_TYPE='Release' |
| |
| - os: linux |
| compiler: gcc |
| addons: *gcc49 |
| env: COMPILER='g++-4.9' BUILD_TYPE='Debug' |
| |
| |
| - os: linux |
| compiler: gcc |
| addons: &gcc5 |
| apt: |
| sources: ['ubuntu-toolchain-r-test'] |
| packages: ['g++-5'] |
| env: COMPILER='g++-5' BUILD_TYPE='Release' |
| |
| - os: linux |
| compiler: gcc |
| addons: *gcc5 |
| env: COMPILER='g++-5' BUILD_TYPE='Debug' |
| |
| |
| - os: linux |
| compiler: gcc |
| addons: &gcc6 |
| apt: |
| sources: ['ubuntu-toolchain-r-test'] |
| packages: ['g++-6'] |
| env: COMPILER='g++-6' BUILD_TYPE='Release' |
| |
| - os: linux |
| compiler: gcc |
| addons: *gcc6 |
| env: COMPILER='g++-6' BUILD_TYPE='Debug' |
| |
| # 3a/ Linux C++11 GCC builds |
| - os: linux |
| compiler: gcc |
| addons: *gcc48 |
| env: COMPILER='g++-4.8' BUILD_TYPE='Release' CPP11=1 |
| |
| - os: linux |
| compiler: gcc |
| addons: *gcc48 |
| env: COMPILER='g++-4.8' BUILD_TYPE='Debug' CPP11=1 |
| |
| # 3b/ Linux C++11 Clang builds |
| - os: linux |
| compiler: clang |
| addons: *clang38 |
| env: COMPILER='clang++-3.8' BUILD_TYPE='Release' CPP11=1 |
| |
| - os: linux |
| compiler: clang |
| addons: *clang38 |
| env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' CPP11=1 |
| |
| # 4a/ Linux C++14 GCC builds |
| - os: linux |
| compiler: gcc |
| addons: *gcc6 |
| env: COMPILER='g++-6' BUILD_TYPE='Release' CPP14=1 |
| |
| - os: linux |
| compiler: gcc |
| addons: *gcc6 |
| env: COMPILER='g++-6' BUILD_TYPE='Debug' CPP14=1 |
| |
| # 4b/ Linux C++14 Clang builds |
| - os: linux |
| compiler: clang |
| addons: *clang38 |
| env: COMPILER='clang++-3.8' BUILD_TYPE='Release' CPP14=1 |
| |
| - os: linux |
| compiler: clang |
| addons: *clang38 |
| env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' CPP14=1 |
| |
| |
| # 5/ OSX Clang Builds |
| - os: osx |
| osx_image: xcode7.3 |
| compiler: clang |
| env: COMPILER='clang++' BUILD_TYPE='Debug' |
| |
| - os: osx |
| osx_image: xcode7.3 |
| compiler: clang |
| env: COMPILER='clang++' BUILD_TYPE='Release' |
| |
| - os: osx |
| osx_image: xcode8 |
| compiler: clang |
| env: COMPILER='clang++' BUILD_TYPE='Debug' |
| |
| - os: osx |
| osx_image: xcode8 |
| compiler: clang |
| env: COMPILER='clang++' BUILD_TYPE='Release' |
| |
| - os: osx |
| osx_image: xcode8 |
| compiler: clang |
| env: COMPILER='clang++' BUILD_TYPE='Debug' USE_CPP11=1 |
| |
| - os: osx |
| osx_image: xcode8 |
| compiler: clang |
| env: COMPILER='clang++' BUILD_TYPE='Release' USE_CPP11=1 |
| |
| - os: osx |
| osx_image: xcode8 |
| compiler: clang |
| env: COMPILER='clang++' BUILD_TYPE='Debug' USE_CPP14=1 |
| |
| - os: osx |
| osx_image: xcode8 |
| compiler: clang |
| env: COMPILER='clang++' BUILD_TYPE='Release' USE_CPP14=1 |
| |
| |
| install: |
| - DEPS_DIR="${TRAVIS_BUILD_DIR}/deps" |
| - mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR} |
| - | |
| if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then |
| CMAKE_URL="http://www.cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz" |
| mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake |
| export PATH=${DEPS_DIR}/cmake/bin:${PATH} |
| elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then |
| which cmake || brew install cmake |
| fi |
| |
| before_script: |
| - export CXX=${COMPILER} |
| - cd ${TRAVIS_BUILD_DIR} |
| - cmake -H. -BBuild -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -Wdev -DUSE_CPP11=${CPP11} -DUSE_CPP14=${CPP14} |
| - cd Build |
| |
| script: |
| - make -j 2 |
| - ctest -V -j 2 |