diff --git a/.travis.yml b/.travis.yml index bf8c90e3..c44a8cd7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,35 +1,35 @@ language: cpp sudo: false -cache: - ccache: true - directories: - - $HOME/.ccache - -env: - global: - - USE_CCACHE=1 - - CCACHE_COMPRESS=1 - - CCACHE_MAXSIZE=200M - - CCACHE_CPP2=1 - - 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' CPP11=0 + + - os: linux + compiler: clang + addons: *clang34 + env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0 + - os: linux compiler: clang addons: &clang35 apt: sources: ['llvm-toolchain-precise-3.5', 'ubuntu-toolchain-r-test'] packages: ['clang-3.5'] - env: COMPILER='ccache clang++-3.5' BUILD_TYPE='Release' + env: COMPILER='clang++-3.5' BUILD_TYPE='Release' CPP11=0 - os: linux compiler: clang addons: *clang35 - env: COMPILER='ccache clang++-3.5' BUILD_TYPE='Debug' + env: COMPILER='clang++-3.5' BUILD_TYPE='Debug' CPP11=0 - os: linux @@ -38,12 +38,12 @@ matrix: apt: sources: ['llvm-toolchain-precise-3.6', 'ubuntu-toolchain-r-test'] packages: ['clang-3.6'] - env: COMPILER='ccache clang++-3.6' BUILD_TYPE='Release' + env: COMPILER='clang++-3.6' BUILD_TYPE='Release' CPP11=0 - os: linux compiler: clang addons: *clang36 - env: COMPILER='ccache clang++-3.6' BUILD_TYPE='Debug' + env: COMPILER='clang++-3.6' BUILD_TYPE='Debug' CPP11=0 - os: linux @@ -52,12 +52,12 @@ matrix: apt: sources: ['llvm-toolchain-precise-3.7', 'ubuntu-toolchain-r-test'] packages: ['clang-3.7'] - env: COMPILER='ccache clang++-3.7' BUILD_TYPE='Release' + env: COMPILER='clang++-3.7' BUILD_TYPE='Release' CPP11=0 - os: linux compiler: clang addons: *clang37 - env: COMPILER='ccache clang++-3.7' BUILD_TYPE='Debug' + env: COMPILER='clang++-3.7' BUILD_TYPE='Debug' CPP11=0 - os: linux @@ -66,27 +66,55 @@ matrix: apt: sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test'] packages: ['clang-3.8'] - env: COMPILER='ccache clang++-3.8' BUILD_TYPE='Release' + env: COMPILER='clang++-3.8' BUILD_TYPE='Release' CPP11=0 - os: linux compiler: clang addons: *clang38 - env: COMPILER='ccache clang++-3.8' BUILD_TYPE='Debug' + env: COMPILER='clang++-3.8' BUILD_TYPE='Debug' CPP11=0 # 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' CPP11=0 + + - os: linux + compiler: gcc + addons: *gcc44 + env: COMPILER='g++-4.4' BUILD_TYPE='Debug' CPP11=0 + + + - os: linux + compiler: gcc + addons: &gcc47 + apt: + sources: ['ubuntu-toolchain-r-test'] + packages: ['g++-4.7'] + env: COMPILER='g++-4.7' BUILD_TYPE='Release' CPP11=0 + + - os: linux + compiler: gcc + addons: *gcc47 + env: COMPILER='g++-4.7' BUILD_TYPE='Debug' CPP11=0 + + - os: linux compiler: gcc addons: &gcc48 apt: sources: ['ubuntu-toolchain-r-test'] packages: ['g++-4.8'] - env: COMPILER='ccache g++-4.8' BUILD_TYPE='Release' + env: COMPILER='g++-4.8' BUILD_TYPE='Release' CPP11=0 - os: linux compiler: gcc addons: *gcc48 - env: COMPILER='ccache g++-4.8' BUILD_TYPE='Debug' + env: COMPILER='g++-4.8' BUILD_TYPE='Debug' CPP11=0 - os: linux @@ -95,12 +123,12 @@ matrix: apt: sources: ['ubuntu-toolchain-r-test'] packages: ['g++-4.9'] - env: COMPILER='ccache g++-4.9' BUILD_TYPE='Release' + env: COMPILER='g++-4.9' BUILD_TYPE='Release' CPP11=0 - os: linux compiler: gcc addons: *gcc49 - env: COMPILER='ccache g++-4.9' BUILD_TYPE='Debug' + env: COMPILER='g++-4.9' BUILD_TYPE='Debug' CPP11=0 - os: linux @@ -109,34 +137,76 @@ matrix: apt: sources: ['ubuntu-toolchain-r-test'] packages: ['g++-5'] - env: COMPILER='ccache g++-5' BUILD_TYPE='Release' + env: COMPILER='g++-5' BUILD_TYPE='Release' CPP11=0 - os: linux compiler: gcc addons: *gcc5 - env: COMPILER='ccache g++-5' BUILD_TYPE='Debug' + env: COMPILER='g++-5' BUILD_TYPE='Debug' CPP11=0 - # 3/ OSX Clang Builds + - os: linux + compiler: gcc + addons: &gcc6 + apt: + sources: ['ubuntu-toolchain-r-test'] + packages: ['g++-6'] + env: COMPILER='g++-6' BUILD_TYPE='Release' CPP11=0 + + - os: linux + compiler: gcc + addons: *gcc6 + env: COMPILER='g++-6' BUILD_TYPE='Debug' CPP11=0 + + # 3a/ Linux C++11 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' 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 + apt: + sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test'] + packages: ['clang-3.8'] + 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 + + + # 4/ OSX Clang Builds - os: osx osx_image: xcode7.3 compiler: clang - env: COMPILER='ccache clang++' BUILD_TYPE='Debug' + env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0 - os: osx osx_image: xcode7.3 compiler: clang - env: COMPILER='ccache clang++' BUILD_TYPE='Release' + env: COMPILER='clang++' BUILD_TYPE='Release' CPP11=0 - os: osx osx_image: xcode8 compiler: clang - env: COMPILER='ccache clang++' BUILD_TYPE='Debug' + env: COMPILER='clang++' BUILD_TYPE='Debug' CPP11=0 - os: osx osx_image: xcode8 compiler: clang - env: COMPILER='ccache clang++' BUILD_TYPE='Release' + env: COMPILER='clang++' BUILD_TYPE='Release' CPP11=0 install: @@ -149,13 +219,12 @@ install: export PATH=${DEPS_DIR}/cmake/bin:${PATH} elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then which cmake || brew install cmake - which ccache || brew install ccache fi before_script: - export CXX=${COMPILER} - cd ${TRAVIS_BUILD_DIR} - - cmake -H. -BBuild -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -Wdev + - cmake -H. -BBuild -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -Wdev -DUSE_CPP11=${CPP11} - cd Build script: