language: cpp git: depth: 1 matrix: include: - os: osx osx_image: xcode10.2 compiler: clang env: TRAVIS_TARGET=osx addons: homebrew: packages: - qt - os: linux sudo: required dist: xenial compiler: gcc env: TRAVIS_TARGET=steamlink addons: apt: packages: - libc6:i386 - libstdc++6:i386 - os: linux sudo: required dist: bionic compiler: gcc env: TRAVIS_TARGET=linux addons: apt: sources: - sourceline: 'ppa:savoury1/multimedia' - sourceline: 'ppa:savoury1/ffmpeg4' packages: - qt5-default - qtbase5-dev - qtquickcontrols2-5-dev - libqt5svg5-dev - libgl1-mesa-dev - libegl1-mesa-dev - libxkbcommon-dev - wayland-protocols - libopus-dev - libva-dev - libvdpau-dev - libsdl2-dev - qtdeclarative5-dev - libssl-dev - libsdl2-ttf-dev - libavcodec-dev - libavutil-dev install: - '[ "$TRAVIS_TARGET" != osx ] || brew link --force qt' - if [[ "$TRAVIS_TARGET" = "osx" ]]; then nvm use node && npm install --global create-dmg; fi - if [[ "$TRAVIS_TARGET" = "steamlink" ]]; then git clone --depth=1 https://github.com/ValveSoftware/steamlink-sdk.git $HOME/steamlink-sdk; fi before_script: - '[ "$TRAVIS_TARGET" = "steamlink" ] || qmake -v' - '[[ "$TRAVIS_TARGET" != linux || "$CXX" != clang++ ]] || export QMAKESPEC=linux-clang' - '[[ "$TRAVIS_TARGET" != linux || "$CXX" != g++ ]] || export QMAKESPEC=linux-g++' - '[ "$TRAVIS_TARGET" != osx ] || export QMAKESPEC=macx-clang' - '[ "$TRAVIS_TARGET" != "steamlink" ] || export STEAMLINK_SDK_PATH=$HOME/steamlink-sdk' script: - '[ "$TRAVIS_TARGET" != "linux" ] || qmake moonlight-qt.pro -spec $QMAKESPEC' - '[ "$TRAVIS_TARGET" != "linux" ] || make -j$(nproc) debug' - '[ "$TRAVIS_TARGET" != "linux" ] || make -j$(nproc) release' - '[ "$TRAVIS_TARGET" != "osx" ] || scripts/generate-dmg.sh Release' - '[ "$TRAVIS_TARGET" != "steamlink" ] || scripts/build-steamlink-app.sh'