我想使用CMake构建libpng,但由于无法设置策略CMP0074的错误而无法构建:配置CMake时,find_package使用_ROOT变量。
add_subdirectory(libpng)
add_subdirectory(zlib)
option(PNG_BUILD_ZLIB "Custom zlib Location, else find_package is used" OFF)
if(NOT PNG_BUILD_ZLIB)
find_package(ZLIB REQUIRED)
include_directories(${ZLIB_INCLUDE_DIR})
endif()
因此,我将ZLIB_ROOT
变量设置为可使用find_package命令。
set(ZLIB_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/zlib)
add_subdirectory(libpng)
add_subdirectory(zlib)
ZLIB_ROOT
不起作用,因为未设置策略CMP0074:find_package使用_ROOT变量。
因此我将cmake_policy命令设置为如下:cmake_policy(SET CMP0074 NEW)
set(ZLIB_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/zlib)
add_subdirectory(libpng)
add_subdirectory(zlib)
但是,cmake_policy命令不起作用。尚未发生未设置CMP0074的错误。