-before_install:
- - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- - sudo add-apt-repository -y ppa:kalakris/cmake
- - sudo apt-add-repository -y ppa:beineri/opt-qt521
- - sudo apt-get -qq update
-
-install:
- - sudo apt-get install -q gcc-4.7 g++-4.7
- - if [ "$CXX" = "clang" ]; then sudo apt-get install -q clang-3.4; fi
- - sudo apt-get install -q cmake
- - sudo apt-get install -q qt52base qt52webkit qt52tools qt52script
- - if [ "$CXX" = "g++" ]; then export CXX="g++-4.7" CC="gcc-4.7"; fi
+os:
+ - linux
+
+sudo: required
+dist: trusty
language: cpp
+cache: ccache
compiler:
- - gcc
+ - gcc
- clang
-env:
+env:
- QT_VERSION=qt4
- QT_VERSION=qt5
-script:
- - mkdir build
- - cd build
- - if [ "$QT_VERSION" = "qt4" ]; then cmake ..; fi
- - if [ "$QT_VERSION" = "qt5" ]; then source /opt/qt52/bin/qt52-env.sh && cmake -DUSE_QT5=ON ..; fi
- - make
-
matrix:
+ include:
+ - os: osx
+ compiler: gcc
+ env: QT_VERSION=qt5
exclude:
- compiler: clang
env: QT_VERSION=qt4
+
+install: |-
+ if [ "$TRAVIS_OS_NAME" == "linux" ]
+ then
+ sudo apt-get -qy install libqt5webkit5-dev qttools5-dev qtscript5-dev
+ sudo apt-get -qy install libdbusmenu-qt-dev libdbusmenu-qt5-dev
+ sudo apt-get -qy install libphonon-dev libphonon4qt5-dev
+ sudo apt-get -qy install libqca2-dev
+ sudo apt-get -qy install qt4-dev-tools qttools5-dev-tools
+ sudo apt-get -qy install libphonon4qt5experimental4 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805096
+ elif [ "$TRAVIS_OS_NAME" == "osx" ]
+ then
+ brew update
+ brew install ninja qt5
+ fi
+
+script: |-
+ mkdir build
+ cd build
+ if [ "$TRAVIS_OS_NAME" == "linux" ]
+ then
+ if [ "$QT_VERSION" = "qt4" ]; then cmake -DUSE_QT4=ON ..; fi
+ if [ "$QT_VERSION" = "qt5" ]; then cmake ..; fi
+ make
+ elif [ "$TRAVIS_OS_NAME" == "osx" ]
+ then
+ PATH=$PATH:/usr/local/opt/qt5/bin
+ if [[ "$TRAVIS_TAG" != "" && "$GH_TOKEN" != "" ]]
+ then
+ cmake -G"Ninja" .. -DCMAKE_BUILD_TYPE=Release -DDEPLOY=ON
+ else
+ cmake -G"Ninja" .. -DCMAKE_BUILD_TYPE=Release
+ fi
+ ninja install
+ fi
+
+deploy:
+ provider: releases
+ api_key: "${GH_TOKEN}"
+ file_glob: true
+ file:
+ - "QuasselClient_MacOSX-x86_64_*.dmg"
+ - "QuasselCore_MacOSX-x86_64_*.dmg"
+ - "QuasselMono_MacOSX-x86_64_*.dmg"
+ skip_cleanup: true
+ on:
+ tags: true
+ condition: "$TRAVIS_OS_NAME == 'osx' && $GH_TOKEN != ''"