os: linux # Use linux unless specified otherwise. dist: bionic sudo: required language: cpp matrix: include: - os: linux compiler: g++ addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-7 env: - CXX_COMPILER=g++-7 CC_COMPILER=gcc-7 - os: linux compiler: g++ addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-8 env: - CXX_COMPILER=g++-8 CC_COMPILER=gcc-8 - os: linux compiler: g++ addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-9 env: - CXX_COMPILER=g++-9 CC_COMPILER=gcc-9 - os: linux compiler: clang++ addons: apt: sources: - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' packages: - clang-7 env: - CXX_COMPILER=clang++-7 CC_COMPILER=clang-7 - os: linux compiler: clang++ addons: apt: sources: - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' packages: - clang-8 env: - CXX_COMPILER=clang++-8 CC_COMPILER=clang-8 - os: linux compiler: clang++ addons: apt: sources: - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' packages: - clang-9 env: - CXX_COMPILER=clang++-9 CC_COMPILER=clang-9 - os: linux compiler: clang++ addons: apt: sources: - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main' key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' packages: - clang-10 env: - CXX_COMPILER=clang++-10 CC_COMPILER=clang-10 - os: osx compiler: clang++ osx_image: xcode10.3 env: - CXX_COMPILER=clang++ CC_COMPILER=clang - os: osx compiler: clang++ osx_image: xcode11.6 env: - CXX_COMPILER=clang++ CC_COMPILER=clang - os: osx compiler: clang++ osx_image: xcode12 env: - CXX_COMPILER=clang++ CC_COMPILER=clang install: - export CC=${CC_COMPILER} - export CXX=${CXX_COMPILER} - JOBS=2 # Travis machines have 2 cores. before_script: - rm -rf build - mkdir -p build - cd build script: - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug .. - cmake --build . --config Debug -- -j${JOBS} - ctest --output-on-failure -C Debug -j${JOBS} - rm -rf ./* - cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .. - cmake --build . --config Release -- -j${JOBS} - ctest --output-on-failure -C Release -j${JOBS} notifications: email: false