Update LocalAom.cmake to AVM research-v11.0.0 #4330
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a copy of ci-unix-static.yml for Windows. It differs from ci-unix-static.yml as follows: | |
# | |
# * The os matrix consists of windows-latest only. | |
# * Installs Visual Studio in the os image. | |
# * Runs ext/*.cmd as Windows batch files rather than using bash. This is | |
# important for ext/svt.cmd, to prevent it from running ext/svt.sh. | |
# * Builds with local libjpeg (-DAVIF_JPEG=LOCAL). | |
# * Builds with local zlib and libpng (-DAVIF_ZLIBPNG=LOCAL). | |
name: CI Windows | |
on: | |
push: | |
pull_request: | |
paths: | |
- ".github/actions/**" | |
- ".github/workflows/ci-windows.yml" | |
- "**CMakeLists.txt" | |
- "cmake/**" | |
- "ext/**" | |
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: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest] | |
generator: [Ninja, "Visual Studio 17 2022"] | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: ./.github/actions/setup-windows | |
id: setup | |
with: | |
codec-aom: "LOCAL" | |
codec-dav1d: "LOCAL" | |
codec-rav1e: "LOCAL" | |
extra-cache-key: ${{ matrix.generator }} | |
- name: Build libyuv | |
if: steps.setup.outputs.ext-cache-hit != 'true' | |
working-directory: ./ext | |
run: ./libyuv.cmd | |
# Use clang-cl to build libyuv. The assembly code in libyuv is written in the | |
# GCC inline assembly format. Visual C++ doesn't support GCC inline assembly. | |
env: | |
CC: clang-cl | |
CXX: clang-cl | |
- name: Prepare libavif (cmake) | |
run: > | |
cmake -G "${{ matrix.generator }}" -S . -B build | |
-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF | |
-DAVIF_CODEC_AOM=LOCAL -DAVIF_CODEC_DAV1D=LOCAL | |
-DAVIF_CODEC_RAV1E=LOCAL -DAVIF_CODEC_SVT=LOCAL | |
-DAVIF_CODEC_LIBGAV1=LOCAL | |
-DAVIF_JPEG=LOCAL -DAVIF_LIBSHARPYUV=LOCAL -DAVIF_LIBXML2=LOCAL | |
-DAVIF_LIBYUV=LOCAL -DAVIF_ZLIBPNG=LOCAL | |
-DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON | |
-DAVIF_BUILD_TESTS=ON -DAVIF_GTEST=LOCAL | |
-DAVIF_ENABLE_EXPERIMENTAL_MINI=ON | |
-DAVIF_ENABLE_EXPERIMENTAL_SAMPLE_TRANSFORM=ON | |
-DAVIF_ENABLE_EXPERIMENTAL_EXTENDED_PIXI=ON | |
-DAVIF_ENABLE_WERROR=ON | |
- name: Build libavif | |
run: cmake --build build --config Release --parallel 4 | |
- name: Run AVIF Tests | |
working-directory: ./build | |
run: ctest -C Release -j $Env:NUMBER_OF_PROCESSORS --output-on-failure | |
- name: Set the config folder for Ninja | |
if: ${{ matrix.generator == 'Ninja' }} | |
run: | |
echo "CONFIG_DIR=" >> $env:GITHUB_ENV | |
- name: Set the config folder for multi-config MSVC | |
if: ${{ matrix.generator != 'Ninja' }} | |
run: | |
echo "CONFIG_DIR=Release\" >> $env:GITHUB_ENV | |
- name: Check static link bundling | |
run: > | |
cl .\apps\avifenc.c .\apps\shared\*.c .\third_party\iccjpeg\iccjpeg.c /nologo | |
/DWIN32 /D_WINDOWS /MD /O2 /Ob2 | |
-I.\apps\shared -I.\include -I.\third_party\iccjpeg | |
-external:W0 | |
-external:I.\build\_deps\libpng-src | |
-external:I.\build\libjpeg\src\libjpeg\src | |
-external:I.\build\libjpeg\src\libjpeg-build | |
-external:I.\build\_deps\zlib-src | |
-external:I.\build\_deps\libpng | |
-external:I.\build\_deps\zlib | |
/link | |
build\libjpeg\src\libjpeg-build\${env:CONFIG_DIR}jpeg-static.lib | |
build\_deps\libpng\${env:CONFIG_DIR}libpng16_static.lib | |
build\_deps\zlib\${env:CONFIG_DIR}zlibstatic.lib | |
build\${env:CONFIG_DIR}avif.lib | |
ws2_32.lib ntdll.lib userenv.lib bcrypt.lib advapi32.lib | |
/out:avifenc.exe | |
.\avifenc.exe --help |