language: cpp sudo: false matrix: include: # 1/ Linux Clang Builds - os: linux compiler: clang addons: &clang34 apt: sources: ['llvm-toolchain-precise', 'ubuntu-toolchain-r-test'] packages: ['clang'] env: COMPILER='clang++' BUILD_TYPE='Release' - os: linux compiler: clang addons: *clang34 env: COMPILER='clang++' BUILD_TYPE='Debug' - 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: &gcc44 apt: sources: ['ubuntu-toolchain-r-test'] packages: ['g++-4.4'] env: COMPILER='g++-4.4' BUILD_TYPE='Release' - os: linux compiler: gcc addons: *gcc44 env: COMPILER='g++-4.4' BUILD_TYPE='Debug' - os: linux compiler: gcc addons: &gcc47 apt: sources: ['ubuntu-toolchain-r-test'] packages: ['g++-4.7'] env: COMPILER='g++-4.7' BUILD_TYPE='Release' - os: linux compiler: gcc addons: *gcc47 env: COMPILER='g++-4.7' BUILD_TYPE='Debug' - 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