- # 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: bionic
- osx_image: xcode11.3
-
- compiler:
- - gcc
- - clang
- os:
- - linux
- - osx
-
- env:
- - BUILD_TYPE=Debug
- - BUILD_TYPE=RelWithDebInfo
-
- jobs:
- allow_failures:
- # Homebrew's GCC is currently broken on XCode 11.
- - compiler: gcc
- os: osx
-
- addons:
- apt:
- sources:
- - sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
- key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
- - sourceline: 'ppa:ubuntu-toolchain-r/test'
- packages:
- - clang-10
- - cmake
- - gcc-9
- - g++-9
- - libgoogle-perftools-dev
- - libkyotocabinet-dev
- - libsnappy-dev
- - libsqlite3-dev
- - ninja-build
- homebrew:
- packages:
- - cmake
- - crc32c
- - gcc@9
- - gperftools
- - kyoto-cabinet
- - llvm@10
- - 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++-9" CC="gcc-9"; 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++-10" CC="clang-10"; 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
- -DCMAKE_INSTALL_PREFIX=$HOME/.local
- - 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"
- - cd build && cmake --build . --target install
|