162 lines
4.9 KiB
YAML
162 lines
4.9 KiB
YAML
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 --no-cache-dir
|
|
install:
|
|
- /usr/bin/python3.6 $HOME/.local/bin/pip install --user meson --no-cache-dir
|
|
env:
|
|
- MATRIX_EVAL="export PATH=\$HOME/.local/bin:\$PATH"
|
|
|
|
# Ubuntu Bionic (18.04) with GCC 7 on big-endian
|
|
- os: linux
|
|
arch: s390x
|
|
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 --no-cache-dir
|
|
install:
|
|
- /usr/bin/python3.6 $HOME/.local/bin/pip install --user meson --no-cache-dir
|
|
env:
|
|
- MATRIX_EVAL="export PATH=\$HOME/.local/bin:\$PATH"
|
|
|
|
# Ubuntu Bionic (18.04) with GCC 7 on ARM64
|
|
- os: linux
|
|
arch: arm64
|
|
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 --no-cache-dir
|
|
install:
|
|
- /usr/bin/python3.6 $HOME/.local/bin/pip install --user meson --no-cache-dir
|
|
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 --no-cache-dir
|
|
install:
|
|
- /usr/bin/python3.6 $HOME/.local/bin/pip install --user meson --no-cache-dir
|
|
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 --no-cache-dir
|
|
install:
|
|
- /usr/bin/python3.6 $HOME/.local/bin/pip install --user meson --no-cache-dir
|
|
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.4
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- ccache
|
|
- meson
|
|
env:
|
|
- MATRIX_EVAL="export PATH=/usr/local/opt/ccache/libexec:$PATH HOMEBREW_NO_ANALYTICS=1"
|
|
|
|
cache:
|
|
apt: true
|
|
ccache: true
|
|
directories:
|
|
- $HOME/Library/Caches/Homebrew
|
|
|
|
before_cache:
|
|
- test "$TRAVIS_OS_NAME" != "osx" || brew cleanup
|
|
|
|
before_install:
|
|
- eval "${MATRIX_EVAL}"
|
|
|
|
install:
|
|
# C++14
|
|
|
|
# Work around "Target /usr/local/lib/libgtest.a is a symlink
|
|
# belonging to nss. You can unlink it" during gtest install
|
|
- test "$TRAVIS_OS_NAME" != "osx" || brew unlink nss
|
|
|
|
- test "$TRAVIS_OS_NAME" != "osx" || brew install 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
|