name: CI Linux Shared 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-shared-installed:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        oldest-cmake: [false, true]
        include:
          - os: ubuntu-latest
            compiler: gcc
            gcc: 14

    name: build-shared-installed (ubuntu, oldest-cmake ${{ matrix.oldest-cmake }})

    steps:
      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
      - uses: ./.github/actions/setup-linux
        with:
          codec-aom: "SYSTEM"
          codec-dav1d: "SYSTEM"
          codec-rav1e: "SYSTEM"
          codec-svt: "SYSTEM"
          gcc-version: ${{ matrix.gcc }}
          gtest: "SYSTEM"
          libjpeg-turbo: "SYSTEM"
          libyuv: "SYSTEM"
          oldest-cmake: ${{ matrix.oldest-cmake }}
          zlibpng: "SYSTEM"

      - name: Prepare libavif (cmake)
        run: >
          cmake -G Ninja -S . -B build
          -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON
          -DAVIF_CODEC_AOM=SYSTEM
          -DAVIF_CODEC_AOM_DECODE=OFF -DAVIF_CODEC_AOM_ENCODE=ON
          -DAVIF_CODEC_DAV1D=SYSTEM -DAVIF_CODEC_RAV1E=SYSTEM
          -DAVIF_CODEC_SVT=SYSTEM
          -DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON
          -DAVIF_BUILD_TESTS=ON -DAVIF_GTEST=SYSTEM
          -DAVIF_BUILD_GDK_PIXBUF=ON -DCMAKE_INSTALL_PREFIX=./build/install
          -DAVIF_ENABLE_WERROR=ON ${{ env.CMAKE_AVIF_FLAGS }}
      - name: Build libavif
        run: cmake --build build --config Release --parallel 4
      - name: Run AVIF Tests
        working-directory: ./build
        run: ctest -j $(getconf _NPROCESSORS_ONLN) --output-on-failure
      - name: Install AVIF
        run: cmake --install build
      - name: Test installed cmake
        working-directory: ./build
        run: >
          mkdir test && cd test

          echo "cmake_minimum_required(VERSION 3.22)
                project(FindPackageTest)
                message(STATUS ${CMAKE_PREFIX_PATH})
                find_package(libavif REQUIRED)
                if(TARGET avif)
                  message(STATUS "\""avif found"\"")
                else()
                  message(FATAL_ERROR "\""avif not found"\"")
                endif()" >> CMakeLists.txt

          cmake . -DCMAKE_PREFIX_PATH=../install
