#----------------------------------------------------------------------------- # # Configuration for continuous integration service at travis-ci.org # #----------------------------------------------------------------------------- os: linux dist: xenial language: generic #----------------------------------------------------------------------------- cache: directories: - $HOME/.ccache env: global: - CCACHE_TEMPDIR=/tmp/.ccache-temp - CCACHE_COMPRESS=1 - CASHER_TIME_OUT=1000 #----------------------------------------------------------------------------- # Save common build configurations as shortcuts, so we can reference them later. addons_shortcuts: addons_clang35: &clang35 apt: sources: [ 'ubuntu-toolchain-r-test', 'boost-latest' ] packages: [ 'libboost1.55-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'clang-3.5'] addons_clang38: &clang38 apt: packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'clang-3.8'] addons_clang39: &clang39 apt: packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'clang-3.9'] addons_clang50: &clang50 apt: sources: [ 'ubuntu-toolchain-r-test' ] packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'clang-5.0', 'g++-6', 'gcc-6'] addons_clang60: &clang60 apt: sources: [ 'ubuntu-toolchain-r-test' ] packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'clang-6.0', 'g++-6', 'gcc-6'] addons_clang7: &clang7 apt: packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'clang-7' ] addons_gcc48: &gcc48 apt: packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'g++-4.8', 'gcc-4.8' ] addons_gcc49: &gcc49 apt: packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'g++-4.9', 'gcc-4.9' ] addons_gcc5: &gcc5 apt: packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'g++-5', 'gcc-5' ] addons_gcc6: &gcc6 apt: sources: [ 'ubuntu-toolchain-r-test' ] packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'g++-6', 'gcc-6' ] addons_gcc7: &gcc7 apt: packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin' ] #----------------------------------------------------------------------------- addons: homebrew: packages: - cmake - boost - google-sparsehash - gdal update: true #----------------------------------------------------------------------------- jobs: include: # Linux Clang Builds - os: linux compiler: linux-clang35-dev env: CC='clang-3.5' CXX='clang++-3.5' BUILD_TYPE='Dev' addons: *clang35 dist: trusty - os: linux compiler: linux-clang38-dev env: CC='clang-3.8' CXX='clang++-3.8' BUILD_TYPE='Dev' addons: *clang38 - os: linux compiler: linux-clang39-dev env: CC='clang-3.9' CXX='clang++-3.9' BUILD_TYPE='Dev' addons: *clang39 - os: linux compiler: linux-clang50-dev env: CC='clang-5.0' CXX='clang++-5.0' BUILD_TYPE='Dev' addons: *clang50 - os: linux compiler: linux-clang60-dev env: CC='clang-6.0' CXX='clang++-6.0' BUILD_TYPE='Dev' addons: *clang60 - os: linux compiler: linux-clang60-debug env: CC='clang-6.0' CXX='clang++-6.0' BUILD_TYPE='Debug' CXXFLAGS="-fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address,undefined,integer" addons: *clang60 - os: linux compiler: linux-clang60-release env: CC='clang-6.0' CXX='clang++-6.0' BUILD_TYPE='Release' addons: *clang60 - os: linux compiler: linux-clang7-debug env: CC='clang-7' CXX='clang++-7' BUILD_TYPE='Debug' CXXFLAGS="-fsanitize=address,undefined,integer -fno-sanitize-recover=all -fno-omit-frame-pointer" LDFLAGS="-fsanitize=address,undefined,integer" addons: *clang7 dist: bionic - os: linux compiler: linux-clang7-release env: CC='clang-7' CXX='clang++-7' BUILD_TYPE='Release' addons: *clang7 dist: bionic # Linux GCC Builds - os: linux compiler: linux-gcc48-dev env: CC='gcc-4.8' CXX='g++-4.8' BUILD_TYPE='Dev' CXXFLAGS='-Wno-return-type' addons: *gcc48 - os: linux compiler: linux-gcc49-dev env: CC='gcc-4.9' CXX='g++-4.9' BUILD_TYPE='Dev' addons: *gcc49 - os: linux compiler: linux-gcc5-dev env: CC='gcc-5' CXX='g++-5' BUILD_TYPE='Dev' addons: *gcc5 - os: linux compiler: linux-gcc6-dev env: CC='gcc-6' CXX='g++-6' BUILD_TYPE='Dev' addons: *gcc6 - os: linux compiler: linux-gcc7-dev env: CC='gcc-7' CXX='g++-7' BUILD_TYPE='Dev' addons: *gcc7 dist: bionic - os: linux compiler: linux-gcc7-coverage env: CC='gcc-7' CXX='g++-7' BUILD_TYPE='Coverage' addons: *gcc7 dist: bionic - os: linux compiler: linux-gcc7-release env: CC='gcc-7' CXX='g++-7' BUILD_TYPE='Release' addons: *gcc7 dist: bionic # OSX Clang Builds - os: osx osx_image: xcode9.4 compiler: xcode94-clang-dev env: CC='clang' CXX='clang++' BUILD_TYPE='Dev' - os: osx osx_image: xcode10.2 compiler: xcode10-clang-dev env: CC='clang' CXX='clang++' BUILD_TYPE='Dev' - os: osx osx_image: xcode11 compiler: xcode11-clang-dev env: CC='clang' CXX='clang++' BUILD_TYPE='Dev' - os: osx osx_image: xcode11 compiler: xcode11-clang-release env: CC='clang' CXX='clang++' BUILD_TYPE='Release' install: - git clone --quiet --depth 1 https://github.com/mapbox/protozero.git ../protozero - cmake --version before_script: - cd ${TRAVIS_BUILD_DIR} - git submodule update --init - mkdir build && cd build - cmake -LA .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_DATA_TESTS=ON -DBUILD_WITH_CCACHE=1 script: - make VERBOSE=1 && ctest --output-on-failure after_success: - | if [ "${BUILD_TYPE}" = "Coverage" ]; then curl -S -f https://codecov.io/bash -o codecov chmod +x codecov gcov-${CXX#g++-} -p $(find test/CMakeFiles -name '*.o') ./codecov -Z -c -X gcov -F unit_tests gcov-${CXX#g++-} -p $(find test/data-tests -name '*.o') ./codecov -Z -c -X gcov -F data_tests gcov-${CXX#g++-} -p $(find examples -name '*.o') ./codecov -Z -c -X gcov -F examples fi #-----------------------------------------------------------------------------