language: cpp
dist: focal
os: linux
jobs:
  include:
  - env: TARGET=release_linux-amd64-librw_gl3_glfw-oal
    os: linux
  - env: TARGET=debug_linux-amd64-librw_gl3_glfw-oal
    os: linux
  - env: TARGET=release_macosx-amd64-librw_gl3_glfw-oal PREMAKE5=premake-5.0.0-alpha15
    compiler: clang
    os: osx
    osx_image: xcode12u
  - env: TARGET=debug_macosx-amd64-librw_gl3_glfw-oal PREMAKE5=premake-5.0.0-alpha15
    compiler: clang
    os: osx
    osx_image: xcode12u
addons:
  apt:
    update: true
    packages:
      - linux-libc-dev
      - libopenal-dev
      - libglew-dev
      - libglfw3-dev
      - libsndfile1-dev
      - libmpg123-dev
      - gcc-8-multilib
      - g++-8-multilib
  homebrew:
    packages:
      - libsndfile
      - mpg123
      - glew
      - glfw
      - openal-soft
script:
  - mkdir -p "$TRAVIS_BUILD_DIR/build"
  - cd "$TRAVIS_BUILD_DIR"
  - if [ "$TRAVIS_OS_NAME" = linux ]; then ./premake5Linux --with-librw gmake2; fi
  - if [ "$TRAVIS_OS_NAME" = osx ]; then curl -L -o "${PREMAKE5}.zip" "https://github.com/premake/premake-core/releases/download/v5.0.0-alpha15/${PREMAKE5}-src.zip" && unzip -q "${PREMAKE5}.zip" && cd "$PREMAKE5" && make -f Bootstrap.mak osx && cd .. && "./${PREMAKE5}/bin/release/premake5" --with-librw gmake2; fi
  - cd build
  - if [ "$TRAVIS_OS_NAME" = linux ]; then env CC=gcc-8 CXX=g++-8 make config=$TARGET -j4 verbose=1; fi
  - if [ "$TRAVIS_OS_NAME" = osx ]; then make config=$TARGET -j4 verbose=1; fi