summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorMax Kellermann <max@musicpd.org>2017-12-29 17:12:55 +0100
committerMax Kellermann <max@musicpd.org>2018-10-14 23:41:38 +0200
commit94592c14062d5afc9482d11baa401648082022c0 (patch)
tree8723d462737f883181fb1aaa3f91ee3d0add9721 /.travis.yml
parent13ce142df137f346526de2a31a7ccbd59a903cdd (diff)
build with Meson instead of autotools
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords!
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml42
1 files changed, 29 insertions, 13 deletions
diff --git a/.travis.yml b/.travis.yml
index 3495a0a98..05f52da85 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,12 +9,23 @@ matrix:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:mhier/libboost-latest'
+ - sourceline: 'ppa:saiarcot895/chromium-dev' # for ninja-build
+ - sourceline: 'ppa:deadsnakes/ppa' # for Python 3.7 (required by Meson)
packages:
- g++-6
- libcppunit-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:
- - MATRIX_EVAL="export CC=gcc-6 CXX=g++-6"
+ # use gold as workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=17068
+ - MATRIX_EVAL="export CC=gcc-6 CXX=g++-6 LDFLAGS=-fuse-ld=gold PATH=$HOME/.local/bin:$PATH"
- os: linux
dist: trusty
@@ -23,22 +34,29 @@ matrix:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:mhier/libboost-latest'
+ - sourceline: 'ppa:saiarcot895/chromium-dev' # for ninja-build
+ - sourceline: 'ppa:deadsnakes/ppa' # for Python 3.7 (required by Meson)
packages:
- g++-8
- libcppunit-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:
- - MATRIX_EVAL="export CC=gcc-8 CXX=g++-8"
+ # use gold as workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=17068
+ - MATRIX_EVAL="export CC=gcc-8 CXX=g++-8 LDFLAGS=-fuse-ld=gold PATH=$HOME/.local/bin:$PATH"
- os: osx
osx_image: xcode9.3beta
env:
- MATRIX_EVAL=""
-env:
- global:
- - MAKEFLAGS="-j2"
-
cache:
- apt
- ccache
@@ -50,16 +68,14 @@ before_install:
install:
# C++14
- - test "$TRAVIS_OS_NAME" != "osx" || brew install cppunit ccache
+ - test "$TRAVIS_OS_NAME" != "osx" || brew install cppunit ccache meson
before_script:
- ccache -s
script:
- - OPTIONS="--enable-test"
- - test "$TRAVIS_OS_NAME" != "osx" || OPTIONS="$OPTIONS --enable-osx"
- - ./autogen.sh
- - ./configure CC="ccache $CC" CXX="ccache $CXX" --disable-silent-rules --disable-dependency-tracking $OPTIONS
- - make
- - make check
+ - eval "${MATRIX_EVAL}"
+ - OPTIONS="-Dtest=true"
+ - meson . output --werror $OPTIONS
+ - ninja -C output -v test
- ccache -s