X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=.travis.yml;h=bc92eacc7f756a917128e0238acdeec72334abda;hp=b99c62bb964c5416b559058b90c2e92bcf7c9e39;hb=a113f73e5f8ce89c3df5c42d55528404fc7a2294;hpb=e69f471077b6cc3ca719763892eaf31197ec1726 diff --git a/.travis.yml b/.travis.yml index b99c62bb..bc92eacc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,74 @@ +os: + - linux + - osx + +sudo: required +dist: trusty + language: cpp +cache: ccache + compiler: - gcc - clang -before_install: - - sudo add-apt-repository ppa:kalakris/cmake/test -y - - sudo apt-get update -qq - - sudo apt-get install cmake - - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y - - sudo apt-get update -qq - - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.7; fi - - if [ "$CXX" = "g++" ]; then export CXX="g++-4.7" CC="gcc-4.7"; fi +env: + - QT_VERSION=qt4 + - QT_VERSION=qt5 + +matrix: + exclude: + - compiler: clang + env: QT_VERSION=qt4 + - os: osx + compiler: clang + - os: osx + 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 ..; fi + if [ "$QT_VERSION" = "qt5" ]; then cmake -DUSE_QT5=ON ..; fi + make + elif [ "$TRAVIS_OS_NAME" == "osx" ] + then + if [[ "$TRAVIS_TAG" != "" && "$GH_TOKEN" != "" ]] + then + PATH=$PATH:/usr/local/opt/qt5/bin + cmake -G"Ninja" .. -DCMAKE_BUILD_TYPE=Release -DUSE_QT5=ON -DWANT_CORE=ON -DWANT_QTCLIENT=ON -DWANT_MONO=ON -DDEPLOY=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 + else + cmake -G"Ninja" .. -DCMAKE_BUILD_TYPE=Release -DUSE_QT5=ON -DWANT_CORE=ON -DWANT_QTCLIENT=ON -DWANT_MONO=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 + fi + ninja install + fi -script: mkdir build && cd build && cmake ../ && make +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 != ''"