language: c++ sudo: false branches: except: - /^(wip\/)?(appveyor|msvc|mingw|windows)(\-.+)?$/ matrix: include: ### ## Release build using the latest GCC ### - env: CMAKE_BUILD_TYPE=Release C_COMPILER=gcc-8 CXX_COMPILER=g++-8 addons: apt: sources: - ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - gcc-8 - g++-8 - cmake - cmake-data ### ## Linux builds using various versions of GCC. ### - env: C_COMPILER=gcc-8 CXX_COMPILER=g++-8 addons: apt: sources: - ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - gcc-8 - g++-8 - cmake - cmake-data # - env: C_COMPILER=gcc-7 CXX_COMPILER=g++-7 # addons: # apt: # sources: # - ubuntu-toolchain-r-test # - george-edison55-precise-backports # packages: # - gcc-7 # - g++-7 # - cmake # - cmake-data - env: C_COMPILER=gcc-6 CXX_COMPILER=g++-6 addons: apt: sources: - ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - gcc-6 - g++-6 - cmake - cmake-data - env: C_COMPILER=gcc-5 CXX_COMPILER=g++-5 addons: apt: sources: - ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - gcc-5 - g++-5 - cmake - cmake-data # - env: C_COMPILER=gcc-4.9 CXX_COMPILER=g++-4.9 # addons: # apt: # sources: # - ubuntu-toolchain-r-test # - george-edison55-precise-backports # packages: # - gcc-4.9 # - g++-4.9 # - cmake # - cmake-data - env: C_COMPILER=gcc-4.8 CXX_COMPILER=g++-4.8 addons: apt: sources: - ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - gcc-4.8 - g++-4.8 - cmake - cmake-data # - env: C_COMPILER=gcc-4.7 CXX_COMPILER=g++-4.7 # addons: # apt: # sources: # - ubuntu-toolchain-r-test # - george-edison55-precise-backports # packages: # - gcc-4.7 # - g++-4.7 # - cmake # - cmake-data # - env: C_COMPILER=gcc-4.6 CXX_COMPILER=g++-4.6 # addons: # apt: # sources: # - ubuntu-toolchain-r-test # - george-edison55-precise-backports # packages: # - gcc-4.6 # - g++-4.6 # - cmake # - cmake-data # - os: linux # env: C_COMPILER=gcc-4.5 CXX_COMPILER=g++-4.5 # addons: # apt: # sources: # - ubuntu-toolchain-r-test # - george-edison55-precise-backports # packages: # - gcc-4.5 # - g++-4.5 # - cmake # - cmake-data # - env: C_COMPILER=gcc-4.4 CXX_COMPILER=g++-4.4 # addons: # apt: # sources: # - ubuntu-toolchain-r-test # - george-edison55-precise-backports # packages: # - gcc-4.4 # - g++-4.4 # - cmake # - cmake-data ### ## clang on Linux ### - env: C_COMPILER=clang-3.9 CXX_COMPILER=clang++-3.9 addons: apt: sources: - llvm-toolchain-precise-3.9 - ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - clang-3.9 - cmake - cmake-data # - env: C_COMPILER=clang-3.8 CXX_COMPILER=clang++-3.8 # addons: # apt: # sources: # - llvm-toolchain-precise-3.8 # - ubuntu-toolchain-r-test # - george-edison55-precise-backports # packages: # - clang-3.8 # - cmake # - cmake-data - env: C_COMPILER=clang-3.7 CXX_COMPILER=clang++-3.7 addons: apt: sources: - llvm-toolchain-precise-3.7 - ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - clang-3.7 - cmake - cmake-data # - env: C_COMPILER=clang-3.6 CXX_COMPILER=clang++-3.6 # addons: # apt: # sources: # - llvm-toolchain-precise-3.6 # - ubuntu-toolchain-r-test # - george-edison55-precise-backports # packages: # - clang-3.6 # - cmake # - cmake-data - env: C_COMPILER=clang-3.5 CXX_COMPILER=clang++-3.5 addons: apt: sources: - llvm-toolchain-precise-3.5 - ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - clang-3.5 - cmake - cmake-data ### ## PGI ### - env: C_COMPILER=pgcc CXX_COMPILER=pgc++ addons: apt: sources: - george-edison55-precise-backports packages: - cmake - cmake-data ### ## OS X ### - os: osx before_install: - if [ "${C_COMPILER}" = "pgcc" -o "${CXX_COMPILER}" = "pgc++" ]; then curl -s 'https://raw.githubusercontent.com/nemequ/pgi-travis/master/install-pgi.sh' | /bin/sh; fi ### ## If we use the matrix to set CC/CXX Travis overwrites the values, ## so instead we use C/CXX_COMPILER then copy the values to CC/CXX ## here (after Travis has set CC/CXX). ### - if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi - if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi # Debug builds by default - if [ -z "${CMAKE_BUILD_TYPE}" ]; then export CMAKE_BUILD_TYPE=Debug; fi - mkdir build - cd build script: - if [ "${CXX}" != "pgc++" ]; then export AVX_FLAG="-mavx"; fi - cmake .. -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" -DCMAKE_CXX_COMPILER="${CXX_COMPILER}" -DCMAKE_CXX_FLAGS="${AVX_FLAG} ${CXXFLAGS}" - make VERBOSE=1