Fix build with CMake 3.22 (#3096)

Fixes https://github.com/AOMediaCodec/libavif/issues/3095
diff --git a/.github/workflows/ci-linux-oldest-cmake.yml b/.github/workflows/ci-linux-oldest-cmake.yml
new file mode 100644
index 0000000..b54d0ca
--- /dev/null
+++ b/.github/workflows/ci-linux-oldest-cmake.yml
@@ -0,0 +1,55 @@
+# This is a copy of ci-unix-shared-local.yml for Linux only and using the oldest supported CMake
+
+name: CI Linux Oldest CMake
+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-local:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+
+    name: build-linux-oldest-cmake
+
+    steps:
+      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+      - uses: ./.github/actions/setup-linux
+        with:
+          codec-aom: "LOCAL"
+          codec-dav1d: "LOCAL"
+          codec-rav1e: "LOCAL"
+          codec-svt: "LOCAL"
+          libjpeg-turbo: "LOCAL"
+          libxml2: "LOCAL"
+          libyuv: "LOCAL"
+          oldest-cmake: true
+          zlibpng: "LOCAL"
+
+      - name: Prepare libavif (cmake)
+        run: >
+          cmake -G Ninja -S . -B build
+          -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON
+          -DAVIF_CODEC_AOM=LOCAL -DAVIF_CODEC_DAV1D=LOCAL
+          -DAVIF_CODEC_LIBGAV1=LOCAL -DAVIF_CODEC_RAV1E=LOCAL
+          -DAVIF_CODEC_SVT=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_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 -j $(getconf _NPROCESSORS_ONLN) --output-on-failure
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 09985ff..af04b31 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,10 @@
 
 ## [Unreleased]
 
+### Changed since 1.4.0
+
+* Fix build with CMake 3.22
+
 ### Removed since 1.4.0
 
 * Remove experimental status for the following options of avifenc: --progressive,
diff --git a/cmake/Modules/LocalAom.cmake b/cmake/Modules/LocalAom.cmake
index 88fb596..ab8382c 100644
--- a/cmake/Modules/LocalAom.cmake
+++ b/cmake/Modules/LocalAom.cmake
@@ -144,7 +144,7 @@
     endif()
 
     set_property(TARGET aom PROPERTY AVIF_LOCAL ON)
-    target_include_directories(aom INTERFACE $<BUILD_INTERFACE:$<PATH:ABSOLUTE_PATH,${libaom_SOURCE_DIR},/>>)
+    target_include_directories(aom INTERFACE $<BUILD_INTERFACE:${libaom_SOURCE_DIR}>)
 
     message(CHECK_PASS "complete")
 endif()
diff --git a/cmake/Modules/LocalAvm.cmake b/cmake/Modules/LocalAvm.cmake
index 1fa3080..2953b67 100644
--- a/cmake/Modules/LocalAvm.cmake
+++ b/cmake/Modules/LocalAvm.cmake
@@ -118,7 +118,7 @@
 target_link_libraries(avm PRIVATE tensorflow-lite)
 
 set_property(TARGET avm PROPERTY AVIF_LOCAL ON)
-target_include_directories(avm INTERFACE $<BUILD_INTERFACE:$<PATH:ABSOLUTE_PATH,${libavm_SOURCE_DIR},/>>)
+target_include_directories(avm INTERFACE $<BUILD_INTERFACE:${libavm_SOURCE_DIR}>)
 # libavm-src/avm/avm_encoder.h includes config/avm_config.h which is generated by the local build of avm.
 target_include_directories(avm INTERFACE $<BUILD_INTERFACE:${libavm_BINARY_DIR}>)