diff --git a/CMakeLists.txt b/CMakeLists.txt index d98a43a6a9..fd569352c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,12 +89,14 @@ endif() # Any proper unix environment should ignore these entire following blocks. option(AVIF_LOCAL_ZLIBPNG "Build zlib and libpng by providing your own copy inside the ext subdir." OFF) if(AVIF_LOCAL_ZLIBPNG) - add_subdirectory(ext/zlib) # Put the value of ZLIB_INCLUDE_DIR in the cache. This works around cmake behavior that has been updated by # cmake policy CMP0102 in cmake 3.17. Remove the CACHE workaround when we require cmake 3.17 or later. See # https://gitlab.kitware.com/cmake/cmake/-/issues/21343. set(ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ext/zlib" CACHE PATH "zlib include dir") + # This include_directories() call must be before add_subdirectory(ext/zlib) to work around the + # zlib/CMakeLists.txt bug fixed by https://github.com/madler/zlib/pull/818. include_directories(${ZLIB_INCLUDE_DIR} "${CMAKE_CURRENT_BINARY_DIR}/ext/zlib") + add_subdirectory(ext/zlib) set(CMAKE_DEBUG_POSTFIX "") # This is the only way I could avoid libpng going crazy if it found awk.exe, seems benign otherwise