-# Define build matrix for Linux
-os: linux
-dist: bionic
-language: generic # No host compilation
-
-env:
- - DIST=xenial CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=OFF -DWITH_WEBKIT=OFF"
- - DIST=xenial CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=OFF -DWITH_WEBKIT=OFF"
- - DIST=xenial CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBKIT=ON"
- - DIST=xenial CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBKIT=ON"
- - DIST=bionic CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBKIT=ON"
- - DIST=bionic CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
- - DIST=cosmic CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
- - DIST=cosmic CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
-
-# Set up cache
-cache:
- directories:
- - $TRAVIS_BUILD_DIR/ccache
-
-# Prepare
-before_install:
- - docker pull quassel/quassel-build-env:$DIST
- - docker images
- - mkdir build
-
-# Build inside the docker image
-# Source, build and ccache directories are bind-mounted into the container
-script:
- - |
- docker run -t -w /build --rm \
- -v "$(readlink -f .):/src" \
- -v "$(readlink -f build):/build" \
- -v "$(readlink -f ccache):/ccache" \
- -e CCACHE_DIR=/ccache \
- -e CCACHE_MAXSIZE=1G \
- -e CXX=$CXX \
- quassel/quassel-build-env:$DIST \
- sh -c "cmake /src $CMAKE_OPTIONS \
- -GNinja \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
- -DBUILD_TESTING=ON \
- -DFATAL_WARNINGS=ON \
- && ninja install \
- && ccache -s \
- && ctest -VV \
- "
-
-# Define a separate job for OSX