6 # Define build matrix for Linux
9 language: generic # No host compilation
12 - DIST=ubuntu-xenial CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=OFF -DWITH_WEBKIT=OFF"
13 - DIST=ubuntu-xenial CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=OFF -DWITH_WEBKIT=OFF"
14 - DIST=ubuntu-xenial CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBKIT=ON"
15 - DIST=ubuntu-xenial CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBKIT=ON"
16 - DIST=ubuntu-bionic CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBKIT=ON"
17 - DIST=ubuntu-bionic CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
18 - DIST=ubuntu-eoan CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
19 - DIST=ubuntu-eoan CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
20 - DIST=ubuntu-focal CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
21 - DIST=ubuntu-focal CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
22 - DIST=debian-stable CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
23 - DIST=debian-stable CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=OFF -DWITH_WEBENGINE=ON"
24 - DIST=debian-testing CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=OFF -DWITH_WEBENGINE=ON"
25 - DIST=debian-testing CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBENGINE=ON"
30 - $TRAVIS_BUILD_DIR/ccache
34 - docker pull quassel/quassel-build-env:$DIST
38 # Build inside the docker image
39 # Source, build and ccache directories are bind-mounted into the container
42 docker run -t -w /build --rm \
43 -v "$(readlink -f .):/src" \
44 -v "$(readlink -f build):/build" \
45 -v "$(readlink -f ccache):/ccache" \
46 -e CCACHE_DIR=/ccache \
47 -e CCACHE_MAXSIZE=1G \
49 quassel/quassel-build-env:$DIST \
50 sh -c "cmake /src $CMAKE_OPTIONS \
52 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
60 # Define a separate job for OSX
70 - $HOME/Library/Caches/Homebrew
72 - brew update && brew install ccache ninja qca qt5
74 - export CCACHE_MAXSIZE=1G
75 - mkdir build && cd build
77 PATH=$PATH:/usr/local/opt/qt5/bin
79 if [[ "$TRAVIS_TAG" != "" && "$GH_TOKEN" != "" ]]; then
82 cmake -GNinja .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DDEPLOY=$DEPLOY
88 api_key: "${GH_TOKEN}"
91 - "QuasselClient_MacOSX-x86_64_*.dmg"
92 - "QuasselCore_MacOSX-x86_64_*.dmg"
93 - "QuasselMono_MacOSX-x86_64_*.dmg"
97 condition: "$GH_TOKEN != ''"