2017-08-30 05:30:27 -04:00
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
#
|
|
|
|
# Configuration for continuous integration service at travis-ci.org
|
|
|
|
#
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
os: linux
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
dist: xenial
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
language: generic
|
2018-04-19 15:03:25 -04:00
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
2017-08-30 05:30:27 -04:00
|
|
|
cache:
|
|
|
|
directories:
|
|
|
|
- $HOME/.ccache
|
|
|
|
|
|
|
|
env:
|
|
|
|
global:
|
|
|
|
- CCACHE_TEMPDIR=/tmp/.ccache-temp
|
|
|
|
- CCACHE_COMPRESS=1
|
|
|
|
- CASHER_TIME_OUT=1000
|
|
|
|
|
2018-04-19 15:03:25 -04:00
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
# 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:
|
2020-11-17 16:59:06 -05:00
|
|
|
packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'clang-3.8']
|
2018-04-19 15:03:25 -04:00
|
|
|
addons_clang39: &clang39
|
|
|
|
apt:
|
2020-11-17 16:59:06 -05:00
|
|
|
packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'clang-3.9']
|
2018-04-19 15:03:25 -04:00
|
|
|
addons_clang50: &clang50
|
|
|
|
apt:
|
2020-11-17 16:59:06 -05:00
|
|
|
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' ]
|
2018-04-19 15:03:25 -04:00
|
|
|
addons_gcc48: &gcc48
|
|
|
|
apt:
|
2020-11-17 16:59:06 -05:00
|
|
|
packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'g++-4.8', 'gcc-4.8' ]
|
2018-04-19 15:03:25 -04:00
|
|
|
addons_gcc49: &gcc49
|
|
|
|
apt:
|
2020-11-17 16:59:06 -05:00
|
|
|
packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'g++-4.9', 'gcc-4.9' ]
|
2018-04-19 15:03:25 -04:00
|
|
|
addons_gcc5: &gcc5
|
|
|
|
apt:
|
2020-11-17 16:59:06 -05:00
|
|
|
packages: [ 'libboost-all-dev', 'libgdal-dev', 'libproj-dev', 'libsparsehash-dev', 'spatialite-bin', 'g++-5', 'gcc-5' ]
|
2018-04-19 15:03:25 -04:00
|
|
|
addons_gcc6: &gcc6
|
|
|
|
apt:
|
2020-11-17 16:59:06 -05:00
|
|
|
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' ]
|
2018-04-19 15:03:25 -04:00
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
addons:
|
|
|
|
homebrew:
|
|
|
|
packages:
|
|
|
|
- cmake
|
|
|
|
- boost
|
|
|
|
- google-sparsehash
|
|
|
|
- gdal
|
|
|
|
update: true
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
include:
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
# Linux Clang Builds
|
2017-08-30 05:30:27 -04:00
|
|
|
- os: linux
|
|
|
|
compiler: linux-clang35-dev
|
2018-04-19 15:03:25 -04:00
|
|
|
env: CC='clang-3.5' CXX='clang++-3.5' BUILD_TYPE='Dev'
|
|
|
|
addons: *clang35
|
2020-11-17 16:59:06 -05:00
|
|
|
dist: trusty
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2018-04-19 15:03:25 -04:00
|
|
|
- os: linux
|
|
|
|
compiler: linux-clang38-dev
|
|
|
|
env: CC='clang-3.8' CXX='clang++-3.8' BUILD_TYPE='Dev'
|
|
|
|
addons: *clang38
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: linux
|
2018-04-19 15:03:25 -04:00
|
|
|
compiler: linux-clang39-dev
|
|
|
|
env: CC='clang-3.9' CXX='clang++-3.9' BUILD_TYPE='Dev'
|
|
|
|
addons: *clang39
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2018-04-19 15:03:25 -04:00
|
|
|
- os: linux
|
2020-11-17 16:59:06 -05:00
|
|
|
compiler: linux-clang50-dev
|
|
|
|
env: CC='clang-5.0' CXX='clang++-5.0' BUILD_TYPE='Dev'
|
|
|
|
addons: *clang50
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: linux
|
2020-11-17 16:59:06 -05:00
|
|
|
compiler: linux-clang60-dev
|
|
|
|
env: CC='clang-6.0' CXX='clang++-6.0' BUILD_TYPE='Dev'
|
|
|
|
addons: *clang60
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: linux
|
2020-11-17 16:59:06 -05:00
|
|
|
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
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2018-04-19 15:03:25 -04:00
|
|
|
- os: linux
|
2020-11-17 16:59:06 -05:00
|
|
|
compiler: linux-clang60-release
|
|
|
|
env: CC='clang-6.0' CXX='clang++-6.0' BUILD_TYPE='Release'
|
|
|
|
addons: *clang60
|
2018-04-19 15:03:25 -04:00
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
- 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
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: linux
|
2020-11-17 16:59:06 -05:00
|
|
|
compiler: linux-clang7-release
|
|
|
|
env: CC='clang-7' CXX='clang++-7' BUILD_TYPE='Release'
|
|
|
|
addons: *clang7
|
|
|
|
dist: bionic
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
# Linux GCC Builds
|
2017-08-30 05:30:27 -04:00
|
|
|
- os: linux
|
|
|
|
compiler: linux-gcc48-dev
|
2018-04-19 15:03:25 -04:00
|
|
|
env: CC='gcc-4.8' CXX='g++-4.8' BUILD_TYPE='Dev'
|
|
|
|
CXXFLAGS='-Wno-return-type'
|
|
|
|
addons: *gcc48
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: linux
|
|
|
|
compiler: linux-gcc49-dev
|
2018-04-19 15:03:25 -04:00
|
|
|
env: CC='gcc-4.9' CXX='g++-4.9' BUILD_TYPE='Dev'
|
|
|
|
addons: *gcc49
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: linux
|
|
|
|
compiler: linux-gcc5-dev
|
2018-04-19 15:03:25 -04:00
|
|
|
env: CC='gcc-5' CXX='g++-5' BUILD_TYPE='Dev'
|
|
|
|
addons: *gcc5
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: linux
|
|
|
|
compiler: linux-gcc6-dev
|
2018-04-19 15:03:25 -04:00
|
|
|
env: CC='gcc-6' CXX='g++-6' BUILD_TYPE='Dev'
|
|
|
|
addons: *gcc6
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: linux
|
2020-11-17 16:59:06 -05:00
|
|
|
compiler: linux-gcc7-dev
|
|
|
|
env: CC='gcc-7' CXX='g++-7' BUILD_TYPE='Dev'
|
|
|
|
addons: *gcc7
|
|
|
|
dist: bionic
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
- 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
|
2017-08-30 05:30:27 -04:00
|
|
|
|
2020-11-17 16:59:06 -05:00
|
|
|
# OSX Clang Builds
|
2017-08-30 05:30:27 -04:00
|
|
|
- os: osx
|
2020-11-17 16:59:06 -05:00
|
|
|
osx_image: xcode9.4
|
|
|
|
compiler: xcode94-clang-dev
|
2018-04-19 15:03:25 -04:00
|
|
|
env: CC='clang' CXX='clang++' BUILD_TYPE='Dev'
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: osx
|
2020-11-17 16:59:06 -05:00
|
|
|
osx_image: xcode10.2
|
|
|
|
compiler: xcode10-clang-dev
|
|
|
|
env: CC='clang' CXX='clang++' BUILD_TYPE='Dev'
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: osx
|
2020-11-17 16:59:06 -05:00
|
|
|
osx_image: xcode11
|
|
|
|
compiler: xcode11-clang-dev
|
2018-04-19 15:03:25 -04:00
|
|
|
env: CC='clang' CXX='clang++' BUILD_TYPE='Dev'
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
- os: osx
|
2020-11-17 16:59:06 -05:00
|
|
|
osx_image: xcode11
|
|
|
|
compiler: xcode11-clang-release
|
2018-04-19 15:03:25 -04:00
|
|
|
env: CC='clang' CXX='clang++' BUILD_TYPE='Release'
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
|
|
|
|
install:
|
2018-04-19 15:03:25 -04:00
|
|
|
- git clone --quiet --depth 1 https://github.com/mapbox/protozero.git ../protozero
|
2017-08-30 05:30:27 -04:00
|
|
|
- cmake --version
|
|
|
|
|
|
|
|
before_script:
|
|
|
|
- cd ${TRAVIS_BUILD_DIR}
|
2018-04-19 15:03:25 -04:00
|
|
|
- git submodule update --init
|
2017-08-30 05:30:27 -04:00
|
|
|
- mkdir build && cd build
|
2018-04-19 15:03:25 -04:00
|
|
|
- cmake -LA .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_DATA_TESTS=ON -DBUILD_WITH_CCACHE=1
|
2017-08-30 05:30:27 -04:00
|
|
|
|
|
|
|
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
|
2018-04-19 15:03:25 -04:00
|
|
|
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
|
2017-08-30 05:30:27 -04:00
|
|
|
fi
|
|
|
|
|
2018-04-19 15:03:25 -04:00
|
|
|
#-----------------------------------------------------------------------------
|