# This is a copy of ci-windows.yml for installed dependencies. It differs in the following ways:
#
#   * vcpkg is used to install dependencies that are packaged.
#   * rav1e is installed from a binary upstream.
#   * TODO: use proper installations of libgav1, libsharpyuv and SVT once released.

name: CI Windows Installed
on: [push, pull_request]

permissions:
  contents: read

# Cancel the workflow if a new one is triggered from the same PR, branch, or tag, except on main.
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

jobs:
  build-windows-installed:
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        compiler: [msvc, clang-cl]

    steps:
      - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
      - uses: ./.github/actions/setup-windows
        id: setup
        with:
          codec-aom: "SYSTEM"
          codec-dav1d: "SYSTEM"
          codec-rav1e: "SYSTEM"
          extra-cache-key: ${{ matrix.compiler }}
          libjpeg-turbo: "SYSTEM"
          libxml2: "SYSTEM"
          libyuv: "SYSTEM"
          zlibpng: "SYSTEM"
      - name: Leave compiler as default
        if: matrix.compiler == 'msvc'
        run: |
          echo "AVIF_CMAKE_C_COMPILER=-DCMAKE_C_COMPILER=cl" >> $env:GITHUB_ENV
          echo "AVIF_CMAKE_CXX_COMPILER=-DCMAKE_CXX_COMPILER=cl" >> $env:GITHUB_ENV
      - name: Set clang-cl as compiler
        if: matrix.compiler == 'clang-cl'
        run: |
          echo "AVIF_CMAKE_C_COMPILER=-DCMAKE_C_COMPILER=clang-cl" >> $env:GITHUB_ENV
          echo "AVIF_CMAKE_CXX_COMPILER=-DCMAKE_CXX_COMPILER=clang-cl" >> $env:GITHUB_ENV

      - name: Prepare libavif (cmake)
        run: >
          cmake ${{ steps.setup.outputs.vcpkg-cmake-config }} -G Ninja -S . -B build
          -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
          -DAVIF_CODEC_AOM=SYSTEM -DAVIF_CODEC_DAV1D=SYSTEM
          -DAVIF_CODEC_RAV1E=SYSTEM
          -DAVIF_JPEG=SYSTEM -DAVIF_LIBXML2=SYSTEM
          -DAVIF_LIBYUV=SYSTEM -DAVIF_ZLIBPNG=SYSTEM
          -DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON
          -DAVIF_BUILD_TESTS=ON -DAVIF_GTEST=LOCAL
          -DAVIF_ENABLE_EXPERIMENTAL_MINI=ON
          -DAVIF_ENABLE_EXPERIMENTAL_EXTENDED_PIXI=ON
          -DAVIF_ENABLE_WERROR=ON $env:AVIF_CMAKE_C_COMPILER $env:AVIF_CMAKE_CXX_COMPILER
      - name: Build libavif
        run: cmake --build build --config Release --parallel 4
      - name: Run AVIF Tests
        working-directory: ./build
        run: ctest -j $Env:NUMBER_OF_PROCESSORS --output-on-failure
