language: cpp matrix: include: # Ubuntu Bionic (18.04) with GCC 7 - os: linux dist: bionic addons: apt: sources: - sourceline: 'ppa:deadsnakes/ppa' # for Python 3.7 (required by Meson) packages: - libgtest-dev - libboost-dev - python3.6 - python3-urllib3 - ninja-build before_install: - wget https://bootstrap.pypa.io/get-pip.py - /usr/bin/python3.6 get-pip.py --user install: - /usr/bin/python3.6 $HOME/.local/bin/pip install --user meson env: - MATRIX_EVAL="export PATH=\$HOME/.local/bin:\$PATH" # Ubuntu Trusty (16.04) with GCC 6 - os: linux dist: trusty addons: apt: sources: - ubuntu-toolchain-r-test - sourceline: 'ppa:mhier/libboost-latest' - sourceline: 'ppa:mstipicevic/ninja-build-1-7-2' - sourceline: 'ppa:deadsnakes/ppa' # for Python 3.7 (required by Meson) packages: - g++-6 - libgtest-dev - boost1.67 - python3.6 - python3-urllib3 - ninja-build before_install: - wget https://bootstrap.pypa.io/get-pip.py - /usr/bin/python3.6 get-pip.py --user install: - /usr/bin/python3.6 $HOME/.local/bin/pip install --user meson env: # use gold as workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=17068 - MATRIX_EVAL="export CC='ccache gcc-6' CXX='ccache g++-6' LDFLAGS=-fuse-ld=gold PATH=\$HOME/.local/bin:\$PATH" # Ubuntu Trusty (16.04) with GCC 8 - os: linux dist: trusty addons: apt: sources: - ubuntu-toolchain-r-test - sourceline: 'ppa:mhier/libboost-latest' - sourceline: 'ppa:mstipicevic/ninja-build-1-7-2' - sourceline: 'ppa:deadsnakes/ppa' # for Python 3.7 (required by Meson) packages: - g++-8 - libgtest-dev - boost1.67 - python3.6 - python3-urllib3 - ninja-build before_install: - wget https://bootstrap.pypa.io/get-pip.py - /usr/bin/python3.6 get-pip.py --user install: - /usr/bin/python3.6 $HOME/.local/bin/pip install --user meson env: # use gold as workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=17068 - MATRIX_EVAL="export CC='ccache gcc-8' CXX='ccache g++-8' LDFLAGS=-fuse-ld=gold PATH=\$HOME/.local/bin:\$PATH" - os: osx osx_image: xcode9.3beta env: - MATRIX_EVAL="export PATH=/usr/local/opt/ccache/libexec:$PATH" cache: apt: true ccache: true before_install: - eval "${MATRIX_EVAL}" # C++14 - test "$TRAVIS_OS_NAME" != "osx" || brew update install: # C++14 - test "$TRAVIS_OS_NAME" != "osx" || brew install ccache meson - test "$TRAVIS_OS_NAME" != "osx" || brew install --HEAD https://gist.githubusercontent.com/Kronuz/96ac10fbd8472eb1e7566d740c4034f8/raw/gtest.rb before_script: - ccache -s script: - eval "${MATRIX_EVAL}" - OPTIONS="-Dtest=true" - meson . output --werror $OPTIONS - ninja -C output -v test - ccache -s