| # Build matrix / environment variables are explained on: |
| # http://about.travis-ci.org/docs/user/build-configuration/ |
| # This file can be validated on: http://lint.travis-ci.org/ |
| |
| language: cpp |
| dist: xenial |
| osx_image: xcode10.2 |
| |
| compiler: |
| - gcc |
| - clang |
| os: |
| - linux |
| - osx |
| |
| env: |
| - BUILD_TYPE=Debug |
| - BUILD_TYPE=RelWithDebInfo |
| |
| addons: |
| apt: |
| sources: |
| - llvm-toolchain-xenial-8 |
| - ubuntu-toolchain-r-test |
| packages: |
| - clang-8 |
| - cmake |
| - gcc-8 |
| - g++-8 |
| - libgoogle-perftools-dev |
| - libkyotocabinet-dev |
| - libsnappy-dev |
| - libsqlite3-dev |
| - ninja-build |
| homebrew: |
| packages: |
| - cmake |
| - crc32c |
| - gcc@8 |
| - gperftools |
| - kyotocabinet |
| - llvm@8 |
| - ninja |
| - snappy |
| - sqlite3 |
| update: true |
| |
| install: |
| # The following Homebrew packages aren't linked by default, and need to be |
| # prepended to the path explicitly. |
| - if [ "$TRAVIS_OS_NAME" == "osx" ]; then |
| export PATH="$(brew --prefix llvm)/bin:$PATH"; |
| fi |
| # /usr/bin/gcc points to an older compiler on both Linux and macOS. |
| - if [ "$CXX" = "g++" ]; then export CXX="g++-8" CC="gcc-8"; fi |
| # /usr/bin/clang points to an older compiler on both Linux and macOS. |
| # |
| # Homebrew's llvm package doesn't ship a versioned clang++ binary, so the values |
| # below don't work on macOS. Fortunately, the path change above makes the |
| # default values (clang and clang++) resolve to the correct compiler on macOS. |
| - if [ "$TRAVIS_OS_NAME" == "linux" ]; then |
| if [ "$CXX" = "clang++" ]; then export CXX="clang++-8" CC="clang-8"; fi; |
| fi |
| - echo ${CC} |
| - echo ${CXX} |
| - ${CXX} --version |
| - cmake --version |
| |
| before_script: |
| - mkdir -p build && cd build |
| - cmake .. -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE |
| - cmake --build . |
| - cd .. |
| |
| script: |
| - cd build && ctest --verbose && cd .. |
| - "if [ -f build/db_bench ] ; then build/db_bench ; fi" |
| - "if [ -f build/db_bench_sqlite3 ] ; then build/db_bench_sqlite3 ; fi" |
| - "if [ -f build/db_bench_tree_db ] ; then build/db_bench_tree_db ; fi" |