name: Build (VM Actions)

on: [push, pull_request]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
  cancel-in-progress: true

jobs:
  freebsd:
    runs-on: macos-12
    name: FreeBSD
    steps:
    - uses: actions/checkout@v3
    - name: Build
      uses: vmactions/freebsd-vm@v0
      with:
        mem: 8192
        usesh: true
        prepare: |
          pkg install -y \
              cmake \
              ninja \
              pkgconf \
              libXcursor \
              libXext \
              libXinerama \
              libXi \
              libXfixes \
              libXrandr \
              libXScrnSaver \
              libXxf86vm \
              wayland \
              wayland-protocols \
              libxkbcommon \
              mesa-libs \
              libglvnd \
              evdev-proto \
              libinotify \
              alsa-lib \
              jackit \
              pipewire \
              pulseaudio \
              sndio \
              dbus \
              zh-fcitx \
              ibus \
              libsamplerate \
              libudev-devd

        run: |
          cmake -S . -B build -GNinja \
            -Wdeprecated -Wdev -Werror \
            -DCMAKE_BUILD_TYPE=Release \
            -DSDL_CHECK_REQUIRED_INCLUDES="/usr/local/include" \
            -DSDL_CHECK_REQUIRED_LINK_OPTIONS="-L/usr/local/lib"
          cmake --build build/ --config Release --verbose -- -j`sysctl -n hw.ncpu`
          cmake --build build/ --config Release --target package
          
          cmake --build build/ --config Release --target clean
    - uses: actions/upload-artifact@v3
      with:
        if-no-files-found: error
        name: SDL-freebsd
        path: build/dist/SDL3*
