--- a/.travis.yml Tue Nov 17 16:34:20 2015 +0100
+++ b/.travis.yml Tue Nov 17 20:53:05 2015 +0100
@@ -1,7 +1,10 @@
language: c
+os:
+ - linux
+ - osx
branches:
- except:
- gh-pages
+ only:
+ master
compiler:
- gcc
- clang
@@ -11,15 +14,41 @@
- BUILD_ARGS="-DNOSERVER=1 -DBUILD_ENGINE_C=1"
- BUILD_ARGS="-DNOSERVER=1 -DNOVIDEOREC=1 -DNOPNG=1"
- BUILD_ARGS="-DNOSERVER=1 -DLUA_SYSTEM=0 -DPHYSFS_SYSTEM=0"
-matrix:
- allow_failures:
- # Failures we expect here
-before_install:
- - sudo add-apt-repository -y ppa:zoogie/sdl2-snapshots
- - sudo apt-get update -qq
- - sudo apt-get install debhelper cmake dpkg-dev libqt4-dev qt4-qmake libphysfs-dev libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-net-dev bzip2 ghc libghc-mtl-dev libghc-parsec3-dev libghc-bytestring-show-dev libghc-vector-dev libghc-zlib-dev libghc-random-dev libghc-stm-dev libghc-network-dev libghc-dataenc-dev libghc-hslogger-dev libghc-utf8-string-dev libghc-sha-dev libghc-entropy-dev liblua5.1-0-dev imagemagick fpc fp-compiler fp-units-misc libpng-dev fp-units-gfx libavcodec-dev libavformat-dev libglew1.6-dev
-script:
- - mkdir build && cd build && cmake $BUILD_ARGS .. && make VERBOSE=1 && make test_verbose
+before_install: |
+ if [ "$TRAVIS_OS_NAME" == "linux" ]; then
+ sudo add-apt-repository -y ppa:zoogie/sdl2-snapshots
+ sudo apt-get update -qq
+ elif [ "$TRAVIS_OS_NAME" == "osx" ]; then
+ brew update --all
+ fi
+install: |
+ if [ "$TRAVIS_OS_NAME" == "linux" ]; then
+ sudo apt-get install debhelper cmake dpkg-dev libqt4-dev qt4-qmake libphysfs-dev libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-net-dev bzip2 ghc libghc-mtl-dev libghc-parsec3-dev libghc-bytestring-show-dev libghc-vector-dev libghc-zlib-dev libghc-random-dev libghc-stm-dev libghc-network-dev libghc-dataenc-dev libghc-hslogger-dev libghc-utf8-string-dev libghc-sha-dev libghc-entropy-dev liblua5.1-0-dev imagemagick fpc fp-compiler fp-units-misc libpng-dev fp-units-gfx libavcodec-dev libavformat-dev libglew1.6-dev
+ elif [ "$TRAVIS_OS_NAME" == "osx" ]; then
+ brew install fpc glew qt physfs lua51 sdl2 sdl2_image sdl2_net sdl2_ttf ffmpeg ghc cabal-install
+ brew install sdl2_mixer --with-vorbis
+ # use cabal install haskell deps, pas2c ones are covered by server
+ if [[ "$BUILD_ARGS" != *"NOSERVER"* ]]; then
+ cabal update
+ cabal install --only-dependencies gameServer/hedgewars-server.cabal
+ fi
+ if [[ "$BUILD_ARGS" == *"BUILD_ENGINE_C"* ]]; then
+ cabal update
+ cabal install --only-dependencies tools/pas2c/pas2c.cabal
+ fi
+ # avoid installing Sparkle, add default unit path
+ export BUILD_ARGS="$BUILD_ARGS -DNOAUTOUPDATE=1 -DCMAKE_Pascal_FLAGS=-Fu/usr/local/lib/fpc/$(fpc -iW)/units/x86_64-darwin/*/"
+ fi
+before_script:
+ - mkdir build && cd build && cmake $BUILD_ARGS ..
+script:
+ - make VERBOSE=1
+after_success: |
+ if [ "$TRAVIS_OS_NAME" == "linux" ]; then
+ make test_verbose
+ elif [ "$TRAVIS_OS_NAME" == "osx" ]; then
+ make install
+ fi
notifications:
email: false
irc:
@@ -30,3 +59,4 @@
- "See details at %{build_url}"
on_success: change
on_failure: always
+ skip_join: true