| # 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/ |
| |
| sudo: false |
| dist: trusty |
| language: cpp |
| |
| compiler: |
| - gcc |
| - clang |
| os: |
| - linux |
| - osx |
| |
| env: |
| - BUILD_TYPE=Debug |
| - BUILD_TYPE=RelWithDebInfo |
| |
| matrix: |
| allow_failures: |
| - compiler: clang |
| env: BUILD_TYPE=RelWithDebInfo |
| |
| addons: |
| apt: |
| # List of whitelisted in travis packages for ubuntu-trusty can be found here: |
| # https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-trusty |
| # List of whitelisted in travis apt-sources: |
| # https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json |
| sources: |
| - ubuntu-toolchain-r-test |
| - llvm-toolchain-trusty-4.0 |
| packages: |
| - cmake |
| - gcc-6 |
| - g++-6 |
| - clang-4.0 |
| |
| install: |
| # Travis doesn't have a nice way to install homebrew packages yet. |
| # https://github.com/travis-ci/travis-ci/issues/5377 |
| - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update; fi |
| - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install gcc@6; fi |
| # /usr/bin/gcc is stuck to old versions by on both Linux and OSX. |
| - if [ "$CXX" = "g++" ]; then export CXX="g++-6" CC="gcc-6"; fi |
| - echo ${CC} |
| - echo ${CXX} |
| - ${CXX} --version |
| - cmake --version |
| |
| before_script: |
| - mkdir -p build && cd build |
| - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE |
| - cmake --build . |
| - cd .. |
| |
| script: |
| - build/snappy_unittest |