language: cpp

#
# Define the builds to get up to date versions of cmake and gcc
#
env:
  global:
    - app_id=pvr.stalker

matrix:
  include:
    - os: linux
      dist: bionic
      sudo: required
      compiler: gcc
    - os: linux
      dist: bionic
      sudo: required
      compiler: clang
    - os: linux
      dist: bionic
      sudo: required
      compiler: gcc
      env: DEBIAN_BUILD=true
    - os: linux
      dist: focal
      sudo: required
      compiler: gcc
      env: DEBIAN_BUILD=true
    - os: osx
      osx_image: xcode10.2

before_install:
  - if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/xbmc-nightly; fi
  - if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi
  - if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi

#
# The addon source is automatically checked out in $TRAVIS_BUILD_DIR,
# we'll put the Kodi source on the same level
#
before_script:
  - if [[ $DEBIAN_BUILD != true ]]; then cd $TRAVIS_BUILD_DIR/..; fi
  - if [[ $DEBIAN_BUILD != true ]]; then git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git; fi
  - if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id} && mkdir build && cd build; fi
  - if [[ $DEBIAN_BUILD != true ]]; then mkdir -p definition/${app_id}; fi
  - if [[ $DEBIAN_BUILD != true ]]; then echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt; fi
  - if [[ $DEBIAN_BUILD != true ]]; then cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons; fi
  - if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/master/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
  - if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get build-dep $TRAVIS_BUILD_DIR; fi

script: 
  - if [[ $DEBIAN_BUILD != true ]]; then make; fi
  - if [[ $DEBIAN_BUILD == true ]]; then ./debian-addon-package-test.sh $TRAVIS_BUILD_DIR; fi
