core: Save schema version for intermediate steps
[quassel.git] / .travis.yml
index fe824dd..42fae1f 100644 (file)
@@ -1,26 +1,9 @@
 os:
-  - osx
   - linux
 
 sudo: required
 dist: trusty
 
-install: |-
-  if [ "$TRAVIS_OS_NAME" == "osx" ]
-  then
-    brew update
-    brew install ninja qt5
-  fi
-  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
-  fi
-
 language: cpp
 cache: ccache
 
@@ -32,25 +15,59 @@ env:
   - QT_VERSION=qt4
   - QT_VERSION=qt5
 
+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" == "osx" ]
-  then
-    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
-    ninja install
-  elif [ "$TRAVIS_OS_NAME" == "linux" ]
+  if [ "$TRAVIS_OS_NAME" == "linux" ]
   then
-    if [ "$QT_VERSION" = "qt4" ]; then cmake ..; fi
-    if [ "$QT_VERSION" = "qt5" ]; then cmake -DUSE_QT5=ON ..; fi
+    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
 
-matrix:
-  exclude:
-    - compiler: clang
-      env: QT_VERSION=qt4
-    - os: osx
-      compiler: clang
-    - os: osx
-      env: QT_VERSION=qt4
+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 != ''"