6 # Define build matrix for Linux
8 language: generic # No host compilation
11 - DIST=xenial CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=OFF -DWITH_WEBKIT=ON"
12 - DIST=xenial CXX=g++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBKIT=ON"
13 - DIST=xenial CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=OFF -DWITH_WEBKIT=ON"
14 - DIST=xenial CXX=clang++ CMAKE_OPTIONS="-DWITH_KDE=ON -DWITH_WEBKIT=ON"
19 - $TRAVIS_BUILD_DIR/ccache
23 - docker pull quassel/quassel-build-env:$DIST
27 # Build inside the docker image
28 # Source, build and ccache directories are bind-mounted into the container
31 docker run -t -w /build --rm \
32 -v "$(readlink -f .):/src" \
33 -v "$(readlink -f build):/build" \
34 -v "$(readlink -f ccache):/ccache" \
35 -e CCACHE_DIR=/ccache \
37 quassel/quassel-build-env:$DIST \
38 sh -c "cmake -GNinja /src $CMAKE_OPTIONS \
39 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
44 # Define a separate job for OSX
54 - $HOME/Library/Caches/Homebrew
56 - brew update && brew install ccache ninja qca qt5
58 - mkdir build && cd build
60 PATH=$PATH:/usr/local/opt/qt5/bin
62 if [[ "$TRAVIS_TAG" != "" && "$GH_TOKEN" != "" ]]; then
65 cmake -GNinja .. -DCMAKE_BUILD_TYPE=Release -DDEPLOY=$DEPLOY
70 api_key: "${GH_TOKEN}"
73 - "QuasselClient_MacOSX-x86_64_*.dmg"
74 - "QuasselCore_MacOSX-x86_64_*.dmg"
75 - "QuasselMono_MacOSX-x86_64_*.dmg"
79 condition: "$GH_TOKEN != ''"