linux-x86_64-binaries_task:
  container:
    image: ubuntu:latest

  setup_script:
    - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential curl libgtk2.0-dev libpulse-dev mesa-common-dev libgtksourceview2.0-dev libcairo2-dev libsdl2-dev libxv-dev libao-dev libopenal-dev libudev-dev zip

  matrix:
    - build_higan_script:
        - make -C higan-ui build=performance local=false
        - make -C icarus

      package_higan_script:
        - mkdir higan-nightly
        - cp -a higan-ui/out/higan higan-nightly/higan
        - cp -a higan/System higan-nightly
        - cp -a icarus/out/icarus higan-nightly/icarus
        - cp -a icarus/Database higan-nightly
        - cp -a icarus/Firmware higan-nightly
        - cp -a GPLv3.txt higan-nightly
        - cp -a extras/* higan-nightly
        - zip -r higan-nightly.zip higan-nightly

      matrix:
        - only_if: $CIRRUS_RELEASE != ""
          environment:
            OS: linux-x86_64
            GITHUB_TOKEN: ENCRYPTED[7a134a5ab55ae4be1e91c44040969d89e5f4017e2d71f4f03fbde21e136085b6f366c33e0bbcc2d2c6d23914a149aa66]
          upload_script: ./.cirrus.upload.sh
        - only_if: $CIRRUS_RELEASE == ""

      higan-nightly_artifacts:
        path: "higan-nightly.zip"

freebsd-x86_64-binaries_task:
  freebsd_instance:
    image_family: freebsd-12-2

  setup_script:
    - pkg install --yes curl gmake gdb gcc8 pkgconf sdl2 openal-soft gtksourceview2 libXv zip

  matrix:
    - build_higan_script:
        - gmake -C higan-ui build=performance local=false
        - gmake -C icarus

      package_higan_script:
        - mkdir higan-nightly
        - cp -a higan-ui/out/higan higan-nightly/higan
        - cp -a higan/System higan-nightly
        - cp -a icarus/out/icarus higan-nightly/icarus
        - cp -a icarus/Database higan-nightly
        - cp -a icarus/Firmware higan-nightly
        - cp -a GPLv3.txt higan-nightly
        - cp -a extras/* higan-nightly
        - zip -r higan-nightly.zip higan-nightly

      matrix:
        - only_if: $CIRRUS_RELEASE != ""
          environment:
            OS: freebsd-x86_64
            GITHUB_TOKEN: ENCRYPTED[7a134a5ab55ae4be1e91c44040969d89e5f4017e2d71f4f03fbde21e136085b6f366c33e0bbcc2d2c6d23914a149aa66]
          upload_script: ./.cirrus.upload.sh
        - only_if: $CIRRUS_RELEASE == ""

      higan-nightly_artifacts:
        path: "higan-nightly.zip"

windows-x86_64-binaries_task:
  container:
    image: ubuntu:latest

  setup_script:
    - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential curl mingw-w64 zip

  matrix:
    - build_higan_script:
        - make -C higan-ui build=performance local=false platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"
        - make -C icarus platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"

      package_higan_script:
        - mkdir higan-nightly
        - cp -a higan-ui/out/higan.exe higan-nightly/higan.exe
        - cp -a icarus/out/icarus.exe higan-nightly/icarus.exe
        - cp -a higan/System higan-nightly/Templates
        - mkdir higan-nightly/Systems
        - cp -a icarus/Database higan-nightly
        - cp -a icarus/Firmware higan-nightly
        - cp -a GPLv3.txt higan-nightly
        - cp -a extras/* higan-nightly
        - zip -r higan-nightly.zip higan-nightly

      matrix:
        - only_if: $CIRRUS_RELEASE != ""
          environment:
            OS: windows-x86_64
            GITHUB_TOKEN: ENCRYPTED[7a134a5ab55ae4be1e91c44040969d89e5f4017e2d71f4f03fbde21e136085b6f366c33e0bbcc2d2c6d23914a149aa66]
          upload_script: ./.cirrus.upload.sh
        - only_if: $CIRRUS_RELEASE == ""

      higan-nightly_artifacts:
        path: "higan-nightly.zip"

macOS-x86_64-binaries_task:
  osx_instance:
    image: mojave-base

  matrix:
    - build_higan_script:
        - make -C higan-ui build=performance local=false
        - make -C icarus

      package_higan_script:
        - mkdir higan-nightly
        - cp -a higan-ui/out/higan.app higan-nightly
        - cp -a higan/System higan-nightly
        - cp -a icarus/out/icarus.app higan-nightly
        - cp -a icarus/Database higan-nightly
        - cp -a icarus/Firmware higan-nightly
        - cp -a GPLv3.txt higan-nightly
        - cp -a extras/* higan-nightly
        - zip -r higan-nightly.zip higan-nightly

      matrix:
        - only_if: $CIRRUS_RELEASE != ""
          environment:
            OS: macOS-x86_64
            GITHUB_TOKEN: ENCRYPTED[7a134a5ab55ae4be1e91c44040969d89e5f4017e2d71f4f03fbde21e136085b6f366c33e0bbcc2d2c6d23914a149aa66]
          upload_script: ./.cirrus.upload.sh
        - only_if: $CIRRUS_RELEASE == ""

      higan-nightly_artifacts:
        path: "higan-nightly.zip"
