Set CMP0169 to NEW (#3089)
FetchContent_Populate(${name}) cannot be used anymore.
Now use FetchContent_MakeAvailable and unify how _SOURCE_DIR
and _BINARY_DIR are set.diff --git a/.github/workflows/ci-windows.yml b/.github/workflows/ci-windows.yml
index 0bc2678..43b76f7 100644
--- a/.github/workflows/ci-windows.yml
+++ b/.github/workflows/ci-windows.yml
@@ -85,15 +85,15 @@
-I.\apps\shared -I.\include -I.\third_party\iccjpeg
-external:W0
-external:I.\build\_deps\libpng-src
+ -external:I.\build\_deps\libpng-build
-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
+ -external:I.\build\_deps\zlib-build
/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}zs.lib
+ build\_deps\libpng-build\${env:CONFIG_DIR}libpng16_static.lib
+ build\_deps\zlib-build\${env:CONFIG_DIR}zs.lib
build\${env:CONFIG_DIR}avif.lib
ws2_32.lib ntdll.lib userenv.lib bcrypt.lib advapi32.lib
/out:avifenc.exe
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4a07fc3..ed2c17e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,7 +22,7 @@
# New in CMake version 3.30. FetchContent_Populate(<name>) is deprecated, call
# FetchContent_MakeAvailable(<name>) instead.
if(POLICY CMP0169)
- cmake_policy(SET CMP0169 OLD)
+ cmake_policy(SET CMP0169 NEW)
endif()
# Disallow MSVC for ASM.
diff --git a/cmake/Modules/AvifExternalProjectUtils.cmake b/cmake/Modules/AvifExternalProjectUtils.cmake
index f734408..45423d4 100644
--- a/cmake/Modules/AvifExternalProjectUtils.cmake
+++ b/cmake/Modules/AvifExternalProjectUtils.cmake
@@ -1,16 +1,20 @@
-macro(avif_fetchcontent_populate_cmake name)
+function(avif_fetchcontent_makeavailable_cmake name)
+ FetchContent_GetProperties(${name})
if(NOT ${name}_POPULATED)
- FetchContent_Populate(${name})
-
# Force static build
- set(BUILD_SHARED_LIBS_ORIG ${BUILD_SHARED_LIBS})
- set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "")
- set(BUILD_TESTING_ORIG ${BUILD_TESTING})
- set(BUILD_TESTING OFF CACHE INTERNAL "")
+ set(BUILD_SHARED_LIBS OFF)
+ set(BUILD_TESTING OFF)
- add_subdirectory(${${name}_SOURCE_DIR} ${${name}_BINARY_DIR} EXCLUDE_FROM_ALL)
+ FetchContent_MakeAvailable(${name})
- set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_ORIG} CACHE BOOL "" FORCE)
- set(BUILD_TESTING ${BUILD_TESTING_ORIG} CACHE BOOL "" FORCE)
+ if(ANDROID_ABI)
+ set(${name}_BINARY_DIR "${${name}_BINARY_DIR}/${ANDROID_ABI}")
+ endif()
+
+ # We must explicitly move the path variables to the parent scope
+ FetchContent_GetProperties(${name})
+ set(${name}_SOURCE_DIR ${${name}_SOURCE_DIR} PARENT_SCOPE)
+ set(${name}_BINARY_DIR ${${name}_BINARY_DIR} PARENT_SCOPE)
+ set(${name}_POPULATED ${${name}_POPULATED} PARENT_SCOPE)
endif()
-endmacro()
+endfunction()
diff --git a/cmake/Modules/LocalAom.cmake b/cmake/Modules/LocalAom.cmake
index c2a0100..88fb596 100644
--- a/cmake/Modules/LocalAom.cmake
+++ b/cmake/Modules/LocalAom.cmake
@@ -67,14 +67,10 @@
endforeach()
endfunction()
- set(AOM_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/aom-build")
-
- if(ANDROID_ABI)
- set(AOM_BINARY_DIR "${AOM_BINARY_DIR}/${ANDROID_ABI}")
- endif()
-
FetchContent_Declare(
- libaom URL "https://aomedia.googlesource.com/aom/+archive/${AVIF_AOM_GIT_TAG}.tar.gz" BINARY_DIR "${AOM_BINARY_DIR}"
+ libaom
+ EXCLUDE_FROM_ALL
+ URL "https://aomedia.googlesource.com/aom/+archive/${AVIF_AOM_GIT_TAG}.tar.gz"
UPDATE_COMMAND ""
)
@@ -109,7 +105,7 @@
endforeach()
endforeach()
- avif_fetchcontent_populate_cmake(libaom)
+ avif_fetchcontent_makeavailable_cmake(libaom)
set(_aom_config RELEASE)
if(CMAKE_BUILD_TYPE)
@@ -139,10 +135,10 @@
# linked against this project's target. Here we update the value in aom_config.h and add libyuv
# to AOM's link libraries
if(libyuv_FOUND)
- file(READ ${AOM_BINARY_DIR}/config/aom_config.h AOM_CONFIG_H)
+ file(READ ${libaom_BINARY_DIR}/config/aom_config.h AOM_CONFIG_H)
if("${AOM_CONFIG_H}" MATCHES "CONFIG_LIBYUV 0")
string(REPLACE "CONFIG_LIBYUV 0" "CONFIG_LIBYUV 1" AOM_CONFIG_H "${AOM_CONFIG_H}")
- file(WRITE ${AOM_BINARY_DIR}/config/aom_config.h "${AOM_CONFIG_H}")
+ file(WRITE ${libaom_BINARY_DIR}/config/aom_config.h "${AOM_CONFIG_H}")
endif()
target_link_libraries(aom PRIVATE $<TARGET_FILE:yuv::yuv>)
endif()
diff --git a/cmake/Modules/LocalAvm.cmake b/cmake/Modules/LocalAvm.cmake
index 6a5a3da..1fa3080 100644
--- a/cmake/Modules/LocalAvm.cmake
+++ b/cmake/Modules/LocalAvm.cmake
@@ -25,16 +25,10 @@
endforeach()
endfunction()
-set(AVM_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/avm-build")
-
-if(ANDROID_ABI)
- set(AVM_BINARY_DIR "${AVM_BINARY_DIR}/${ANDROID_ABI}")
-endif()
-
FetchContent_Declare(
libavm
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://gitlab.com/AOMediaCodec/avm.git"
- BINARY_DIR "${AVM_BINARY_DIR}"
GIT_TAG ${AVIF_AVM_GIT_TAG}
GIT_PROGRESS ON
GIT_SHALLOW ON
@@ -83,7 +77,7 @@
endforeach()
endforeach()
- avif_fetchcontent_populate_cmake(libavm)
+ avif_fetchcontent_makeavailable_cmake(libavm)
set(_avm_config RELEASE)
if(CMAKE_BUILD_TYPE)
@@ -113,10 +107,10 @@
# linked against this project's target. Here we update the value in avm_config.h and add libyuv
# to AVM's link libraries
if(libyuv_FOUND)
- file(READ ${AVM_BINARY_DIR}/config/avm_config.h AVM_CONFIG_H)
+ file(READ ${libavm_BINARY_DIR}/config/avm_config.h AVM_CONFIG_H)
if("${AVM_CONFIG_H}" MATCHES "CONFIG_LIBYUV 0")
string(REPLACE "CONFIG_LIBYUV 0" "CONFIG_LIBYUV 1" AVM_CONFIG_H "${AVM_CONFIG_H}")
- file(WRITE ${AVM_BINARY_DIR}/config/avm_config.h "${AVM_CONFIG_H}")
+ file(WRITE ${libavm_BINARY_DIR}/config/avm_config.h "${AVM_CONFIG_H}")
endif()
target_link_libraries(avm PRIVATE $<TARGET_FILE:yuv::yuv>)
endif()
@@ -126,6 +120,6 @@
set_property(TARGET avm PROPERTY AVIF_LOCAL ON)
target_include_directories(avm INTERFACE $<BUILD_INTERFACE:$<PATH:ABSOLUTE_PATH,${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:${AVM_BINARY_DIR}>)
+target_include_directories(avm INTERFACE $<BUILD_INTERFACE:${libavm_BINARY_DIR}>)
message(CHECK_PASS "complete")
diff --git a/cmake/Modules/LocalFuzztest.cmake b/cmake/Modules/LocalFuzztest.cmake
index 8e19886..732d8bb 100644
--- a/cmake/Modules/LocalFuzztest.cmake
+++ b/cmake/Modules/LocalFuzztest.cmake
@@ -11,12 +11,10 @@
message(CHECK_START "libavif(AVIF_FUZZTEST=LOCAL): configuring fuzztest")
- set(FUZZTEST_SOURCE_DIR "${FETCHCONTENT_BASE_DIR}/fuzztest-src")
- set(FUZZTEST_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/fuzztest-build")
FetchContent_Declare(
fuzztest
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://github.com/google/fuzztest.git"
- BINARY_DIR "${FUZZTEST_BINARY_DIR}"
GIT_TAG "${AVIF_FUZZTEST_TAG}"
# Fixes for https://github.com/google/fuzztest/issues/1124
PATCH_COMMAND
@@ -27,7 +25,7 @@
&& sed -i.bak -e "s/set(GTEST_HAS_ABSL ON)/set(GTEST_HAS_ABSL OFF)/" cmake/BuildDependencies.cmake
)
- avif_fetchcontent_populate_cmake(fuzztest)
+ avif_fetchcontent_makeavailable_cmake(fuzztest)
message(CHECK_PASS "complete")
endif()
diff --git a/cmake/Modules/LocalGTest.cmake b/cmake/Modules/LocalGTest.cmake
index 5850e6d..390ab7a 100644
--- a/cmake/Modules/LocalGTest.cmake
+++ b/cmake/Modules/LocalGTest.cmake
@@ -34,6 +34,7 @@
FetchContent_Declare(
googletest
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG ${AVIF_GTEST_GIT_TAG}
GIT_SHALLOW ON
@@ -41,7 +42,7 @@
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
set(BUILD_GMOCK OFF CACHE BOOL "" FORCE)
- avif_fetchcontent_populate_cmake(googletest)
+ avif_fetchcontent_makeavailable_cmake(googletest)
set_target_properties(gtest gtest_main PROPERTIES AVIF_LOCAL ON)
diff --git a/cmake/Modules/LocalLibXml2.cmake b/cmake/Modules/LocalLibXml2.cmake
index dcc223f..ea2c65a 100644
--- a/cmake/Modules/LocalLibXml2.cmake
+++ b/cmake/Modules/LocalLibXml2.cmake
@@ -42,21 +42,16 @@
set(LIBXML2_WITH_TESTS OFF CACHE INTERNAL "-")
set(LIBXML2_WITH_ZLIB OFF CACHE INTERNAL "-")
-set(LIBXML2_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/libxml2-build")
-if(ANDROID_ABI)
- set(LIBXML2_BINARY_DIR "${LIBXML2_BINARY_DIR}/${ANDROID_ABI}")
-endif()
-
FetchContent_Declare(
libxml2
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://github.com/GNOME/libxml2.git"
- BINARY_DIR "${LIBXML2_BINARY_DIR}"
GIT_TAG "${AVIF_LIBXML_GIT_TAG}"
GIT_SHALLOW ON
UPDATE_COMMAND ""
)
-avif_fetchcontent_populate_cmake(libxml2)
+avif_fetchcontent_makeavailable_cmake(libxml2)
set_property(TARGET LibXml2 PROPERTY AVIF_LOCAL ON)
get_target_property(VAR1 LibXml2 LINKER_LANGUAGE)
diff --git a/cmake/Modules/LocalLibargparse.cmake b/cmake/Modules/LocalLibargparse.cmake
index 964cafa..84fb193 100644
--- a/cmake/Modules/LocalLibargparse.cmake
+++ b/cmake/Modules/LocalLibargparse.cmake
@@ -21,11 +21,12 @@
FetchContent_Declare(
libargparse
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://github.com/kmurray/libargparse.git"
GIT_TAG ${AVIF_LIBARGPARSE_GIT_TAG}
UPDATE_COMMAND ""
)
- avif_fetchcontent_populate_cmake(libargparse)
+ avif_fetchcontent_makeavailable_cmake(libargparse)
message(CHECK_PASS "complete")
endif()
diff --git a/cmake/Modules/LocalLibgav1.cmake b/cmake/Modules/LocalLibgav1.cmake
index eb0858c..8194a5e 100644
--- a/cmake/Modules/LocalLibgav1.cmake
+++ b/cmake/Modules/LocalLibgav1.cmake
@@ -23,11 +23,6 @@
message(CHECK_START "libavif(AVIF_CODEC_LIBGAV1=LOCAL): fetching and configuring libgav1")
endif()
- set(LIBGAV1_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/libgav1-build")
- if(ANDROID_ABI)
- set(LIBGAV1_BINARY_DIR "${LIBGAV1_BINARY_DIR}/${ANDROID_ABI}")
- endif()
-
set(LIBGAV1_THREADPOOL_USE_STD_MUTEX 1 CACHE INTERNAL "")
set(LIBGAV1_ENABLE_EXAMPLES OFF CACHE INTERNAL "")
set(LIBGAV1_ENABLE_TESTS OFF CACHE INTERNAL "")
@@ -35,14 +30,14 @@
FetchContent_Declare(
libgav1
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://chromium.googlesource.com/codecs/libgav1"
- BINARY_DIR "${LIBGAV1_BINARY_DIR}"
GIT_TAG "${AVIF_LIBGAV1_GIT_TAG}"
GIT_SHALLOW ON
UPDATE_COMMAND ""
)
- avif_fetchcontent_populate_cmake(libgav1)
+ avif_fetchcontent_makeavailable_cmake(libgav1)
message(CHECK_PASS "complete")
endif()
diff --git a/cmake/Modules/LocalLibsharpyuv.cmake b/cmake/Modules/LocalLibsharpyuv.cmake
index 37e66d7..7d6507c 100644
--- a/cmake/Modules/LocalLibsharpyuv.cmake
+++ b/cmake/Modules/LocalLibsharpyuv.cmake
@@ -30,21 +30,16 @@
set(WEBP_BUILD_WEBPMUX OFF CACHE BOOL "")
set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "")
- set(LIBSHARPYUV_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/libwebp")
- if(ANDROID_ABI)
- set(LIBSHARPYUV_BINARY_DIR "${LIBSHARPYUV_BINARY_DIR}/${ANDROID_ABI}")
- endif()
-
FetchContent_Declare(
libwebp
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://chromium.googlesource.com/webm/libwebp"
- BINARY_DIR "${LIBSHARPYUV_BINARY_DIR}"
GIT_TAG "${AVIF_LIBSHARPYUV_GIT_TAG}"
GIT_SHALLOW ON
UPDATE_COMMAND ""
)
- avif_fetchcontent_populate_cmake(libwebp)
+ avif_fetchcontent_makeavailable_cmake(libwebp)
set_property(TARGET sharpyuv PROPERTY POSITION_INDEPENDENT_CODE ON)
set_property(TARGET sharpyuv PROPERTY AVIF_LOCAL ON)
diff --git a/cmake/Modules/LocalLibyuv.cmake b/cmake/Modules/LocalLibyuv.cmake
index 516eeab..094d01a 100644
--- a/cmake/Modules/LocalLibyuv.cmake
+++ b/cmake/Modules/LocalLibyuv.cmake
@@ -25,11 +25,6 @@
message(CHECK_START "libavif(AVIF_LIBYUV=LOCAL): fetching and configuring libyuv")
endif()
- set(LIBYUV_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/libyuv-build")
- if(ANDROID_ABI)
- set(LIBYUV_BINARY_DIR "${LIBYUV_BINARY_DIR}/${ANDROID_ABI}")
- endif()
-
# unset JPEG_FOUND so that libyuv does not find it
set(JPEG_FOUND_ORIG ${JPEG_FOUND})
unset(JPEG_FOUND CACHE)
@@ -37,13 +32,13 @@
FetchContent_Declare(
libyuv
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://chromium.googlesource.com/libyuv/libyuv"
- BINARY_DIR "${LIBYUV_BINARY_DIR}"
GIT_TAG "${AVIF_LIBYUV_TAG}"
UPDATE_COMMAND ""
)
- avif_fetchcontent_populate_cmake(libyuv)
+ avif_fetchcontent_makeavailable_cmake(libyuv)
set(JPEG_FOUND ${JPEG_FOUND_ORIG})
unset(JPEG_FOUND_ORIG CACHE)
diff --git a/cmake/Modules/LocalRav1e.cmake b/cmake/Modules/LocalRav1e.cmake
index 641b36f..5bff957 100644
--- a/cmake/Modules/LocalRav1e.cmake
+++ b/cmake/Modules/LocalRav1e.cmake
@@ -25,6 +25,7 @@
FetchContent_Declare(
Corrosion
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
GIT_TAG ${AVIF_CORROSION_GIT_TAG}
GIT_SHALLOW ON
@@ -48,6 +49,7 @@
if(NOT TARGET cargo-cinstall)
FetchContent_Declare(
cargoc
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY https://github.com/lu-zero/cargo-c.git
GIT_TAG "${AVIF_CARGOC_GIT_TAG}"
GIT_SHALLOW ON
@@ -64,6 +66,7 @@
FetchContent_Declare(
rav1e
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY https://github.com/xiph/rav1e.git
GIT_TAG "${AVIF_RAV1E_GIT_TAG}"
GIT_SHALLOW ON
diff --git a/cmake/Modules/LocalSvt.cmake b/cmake/Modules/LocalSvt.cmake
index b6b0201..1ef3e09 100644
--- a/cmake/Modules/LocalSvt.cmake
+++ b/cmake/Modules/LocalSvt.cmake
@@ -17,11 +17,6 @@
message(CHECK_START "libavif(AVIF_CODEC_SVT=LOCAL): fetching and configuring SVT-AV1")
endif()
- set(SVT_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/svt-build")
- if(ANDROID_ABI)
- set(SVT_BINARY_DIR "${SVT_BINARY_DIR}/${ANDROID_ABI}")
- endif()
-
if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|AMD64|amd64)")
# NASM is only used on x86.
if(NOT CMAKE_ASM_NASM_COMPILER)
@@ -42,8 +37,8 @@
FetchContent_Declare(
svt
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://gitlab.com/AOMediaCodec/SVT-AV1.git"
- BINARY_DIR "${SVT_BINARY_DIR}"
GIT_TAG "${AVIF_SVT_GIT_TAG}"
UPDATE_COMMAND ""
GIT_SHALLOW ON
@@ -57,7 +52,7 @@
set(CMAKE_BUILD_TYPE Release CACHE INTERNAL "")
set(CMAKE_OUTPUT_DIRECTORY_ORIG "${CMAKE_OUTPUT_DIRECTORY}")
- set(CMAKE_OUTPUT_DIRECTORY "${SVT_BINARY_DIR}" CACHE INTERNAL "")
+ set(CMAKE_OUTPUT_DIRECTORY "${svt_BINARY_DIR}" CACHE INTERNAL "")
if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
set(SVT_AV1_LTO ON)
@@ -65,12 +60,12 @@
set(SVT_AV1_LTO OFF)
endif()
- avif_fetchcontent_populate_cmake(svt)
+ avif_fetchcontent_makeavailable_cmake(svt)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_ORIG} CACHE STRING "" FORCE)
set(CMAKE_OUTPUT_DIRECTORY ${CMAKE_OUTPUT_DIRECTORY_ORIG} CACHE STRING "" FORCE)
- set(SVT_INCLUDE_DIR ${SVT_BINARY_DIR}/include)
+ set(SVT_INCLUDE_DIR ${svt_BINARY_DIR}/include)
file(MAKE_DIRECTORY ${SVT_INCLUDE_DIR}/svt-av1)
file(GLOB _svt_header_files ${svt_SOURCE_DIR}/Source/API/*.h)
diff --git a/cmake/Modules/LocalZlibpng.cmake b/cmake/Modules/LocalZlibpng.cmake
index a87bdab..7101c0f 100644
--- a/cmake/Modules/LocalZlibpng.cmake
+++ b/cmake/Modules/LocalZlibpng.cmake
@@ -5,21 +5,14 @@
message(STATUS "libavif(AVIF_ZLIBPNG=LOCAL): ext/zlib found; using as FetchContent SOURCE_DIR")
set(FETCHCONTENT_SOURCE_DIR_ZLIB "${AVIF_SOURCE_DIR}/ext/zlib")
message(CHECK_START "libavif(AVIF_ZLIBPNG=LOCAL): configuring zlib")
- set(ZLIB_SOURCE_DIR "${FETCHCONTENT_SOURCE_DIR_ZLIB}")
else()
message(CHECK_START "libavif(AVIF_ZLIBPNG=LOCAL): fetching and configuring zlib")
- set(ZLIB_SOURCE_DIR "${FETCHCONTENT_BASE_DIR}/zlib-src")
-endif()
-
-set(ZLIB_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/zlib")
-if(ANDROID_ABI)
- set(ZLIB_BINARY_DIR "${ZLIB_BINARY_DIR}/${ANDROID_ABI}")
endif()
FetchContent_Declare(
zlib
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://github.com/madler/zlib.git"
- SOURCE_DIR "${ZLIB_SOURCE_DIR}" BINARY_DIR "${ZLIB_BINARY_DIR}"
GIT_TAG "${AVIF_ZLIB_GIT_TAG}"
GIT_SHALLOW ON
UPDATE_COMMAND ""
@@ -29,9 +22,7 @@
set(ZLIB_BUILD_SHARED OFF CACHE BOOL "")
set(ZLIB_BUILD_STATIC ON CACHE BOOL "")
-if(NOT zlib_POPULATED)
- avif_fetchcontent_populate_cmake(zlib)
-endif()
+avif_fetchcontent_makeavailable_cmake(zlib)
if(NOT TARGET ZLIB::ZLIB)
add_library(ZLIB::ZLIB ALIAS zlibstatic)
@@ -58,21 +49,16 @@
set(PNG_TESTS OFF CACHE BOOL "")
set(PNG_TOOLS OFF CACHE BOOL "")
-set(LIBPNG_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/libpng")
-if(ANDROID_ABI)
- set(LIBPNG_BINARY_DIR "${LIBPNG_BINARY_DIR}/${ANDROID_ABI}")
-endif()
-
FetchContent_Declare(
libpng
+ EXCLUDE_FROM_ALL
GIT_REPOSITORY "https://github.com/glennrp/libpng.git"
- BINARY_DIR "${LIBPNG_BINARY_DIR}"
GIT_TAG "${AVIF_LIBPNG_GIT_TAG}"
GIT_SHALLOW ON
UPDATE_COMMAND ""
)
-avif_fetchcontent_populate_cmake(libpng)
+avif_fetchcontent_makeavailable_cmake(libpng)
set(PNG_PNG_INCLUDE_DIR "${libpng_SOURCE_DIR}")
include_directories("${libpng_BINARY_DIR}")