

matrix:
  include:
    - env: SUBSURFACE_PLATFORM='ios'
      os: osx
      osx_image: xcode9.3
      language: c++

    - env: SUBSURFACE_PLATFORM='mac'
      os: osx
      osx_image: xcode6.4
      language: c++ ruby

    - env: SUBSURFACE_PLATFORM='windows'
      os: linux
      dist: trusty
      sudo: required
      language: c++

    - env: SUBSURFACE_PLATFORM='linux'
      os: linux
      dist: trusty
      sudo: required
      language: c++
      addons:
        apt:
          packages:
            - git
            - g++
            - make
            - autoconf
            - automake
            - libtool
            - cmake
            - pkg-config
            - libxml2-dev
            - libxslt1-dev
            - libzip-dev
            - libsqlite3-dev
            - libusb-1.0-0-dev
            - libssl-dev
            - libssh2-1-dev
            - libcurl4-openssl-dev
            # Not a subsurface dependency, but a Qt dependency
            - mesa-common-dev
            - libqt5gui5
            - libxcb-xinerama0
            # Not a subsurface dependency, but a QtMultimedia/libdeclarative_multimedia.so dependency
            - libpulse-mainloop-glib0
            # Not a subsurface dependency, but a QtWebKit dependency
            - libhyphen-dev
            - libicu52
            # For SmartTrak import
            - libglib2.0-dev
            - mdbtools-dev

    - env: SUBSURFACE_PLATFORM='linux2'
      os: linux
      dist: trusty
      language: c++
      addons:
        apt:
          sources:
            - sourceline: 'ppa:beineri/opt-qt-5.10.1-trusty'
              key_url: 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x10C56D0DE9977759'
          packages:
            - qt510base
            - qt510connectivity
            - qt510declarative
            - qt510location
            - qt510quickcontrols
            - qt510quickcontrols2
            - qt510script
            - qt510translations
            - qt510svg
            - qt510tools
            - git
            - g++
            - make
            - autoconf
            - automake
            - libtool
            - cmake
            - pkg-config
            - libxml2-dev
            - libxslt1-dev
            - libzip-dev
            - libsqlite3-dev
            - libusb-1.0-0-dev
            - libssl-dev
            - libssh2-1-dev
            - libcurl4-openssl-dev
            # Not a subsurface dependency, but a Qt dependency
            - mesa-common-dev
            - libxcb-xinerama0

    - env: SUBSURFACE_PLATFORM="android"
      # Currently hard coded to arm
      os: linux
      language: c++
      filter_secrets: false
      services:
          - docker
# TODO: caching
#      cache:
#          timeout: 300
#          directories:
#              - 3pp

    - env: SUBSURFACE_PLATFORM="qt55"
      # Currently hard coded to arm
      os: linux
      language: c++
      filter_secrets: false
      services:
          - docker

before_install:
    - source ${TRAVIS_BUILD_DIR}/scripts/${SUBSURFACE_PLATFORM}/before_install.sh

script:
    - source ${TRAVIS_BUILD_DIR}/scripts/${SUBSURFACE_PLATFORM}/travisbuild.sh

after_success:
    - source ${TRAVIS_BUILD_DIR}/scripts/${SUBSURFACE_PLATFORM}/after_success.sh

branches:
  except:
    - # Do not build tags that we create when we upload to GitHub Releases
    - /^(?i:continuous)/
