language: c++
dist: trusty
sudo: required 

branches:
  except:
    - /^appveyor.*$/

git:
  depth: 10

matrix:
  include:
    - os: osx
      osx_image: xcode8.2
      env:
        - CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DFORCE_INTERNAL_ZLIB=YES -DFORCE_INTERNAL_JPEG=YES -DFORCE_INTERNAL_BZIP2=YES -DFORCE_INTERNAL_GME=YES"
        - FMOD_LIBRARY=libfmodex.dylib

    - os: linux
      compiler: gcc
      env:
        - GCC_VERSION=5
        - CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=Release"
        - FMOD_LIBRARY=libfmodex64.so
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-5
            - libsdl2-dev
            - libgme-dev
            - libopenal-dev
            - libmpg123-dev
            - libsndfile-dev
            - libfluidsynth-dev
            - libgtk-3-dev

    - os: linux
      compiler: gcc
      env:
        - GCC_VERSION=6
        - CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DDYN_FLUIDSYNTH=NO"
        - FMOD_LIBRARY=libfmodex64.so
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - g++-6
            - libsdl2-dev
            - libgme-dev
            - libopenal-dev
            - libmpg123-dev
            - libsndfile-dev
            - libfluidsynth-dev
            - libgtk-3-dev

    - os: linux
      compiler: clang
      env:
        - CLANG_VERSION=3.9
        - CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=Debug -DDYN_OPENAL=NO"
        - FMOD_LIBRARY=libfmodex64.so
      addons:
        apt:
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-trusty-3.9
          packages:
            - clang-3.9
            - libstdc++-5-dev
            - libsdl2-dev
            - libgme-dev
            - libopenal-dev
            - libmpg123-dev
            - libsndfile-dev
            - libfluidsynth-dev
            - libgtk-3-dev

before_install:
  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; brew install mpg123 libsndfile fluidsynth; fi
  - if [ -n "$GCC_VERSION" ]; then export CC="gcc-${GCC_VERSION}" CXX="g++-${GCC_VERSION}"; fi
  - if [ -n "$CLANG_VERSION" ]; then export CC="clang-${CLANG_VERSION}" CXX="clang++-${CLANG_VERSION}"; fi
  - $CC --version
  - $CXX --version
  # Update dependencies here: https://github.com/coelckers/gzdoom/releases/tag/ci_deps
  - export FMOD_FILENAME=fmod-4.44.64-${TRAVIS_OS_NAME}.tar.bz2
  - curl -LO "https://github.com/coelckers/gzdoom/releases/download/ci_deps/${FMOD_FILENAME}"
  - tar -xf "${FMOD_FILENAME}"

script:
  - echo ${TRAVIS_BUILD_DIR}
  - mkdir build
  - cd build
  - cmake ${CMAKE_OPTIONS} -DFMOD_INCLUDE_DIR="${TRAVIS_BUILD_DIR}/fmod/inc" -DFMOD_LIBRARY="${TRAVIS_BUILD_DIR}/fmod/lib/${FMOD_LIBRARY}" ..
  - make -j2

notifications:
  email: false