如何使用CMake构建libpng

时间:2019-07-06 00:14:57

标签: cmake

我想使用CMake构建libpng,但由于无法设置策略CMP0074的错误而无法构建:配置CMake时,find_package使用_ROOT变量。

  1. 下载zlib-1.2.11libpng-1.6.37
  2. 我写了CMakeLists.txt。
add_subdirectory(libpng)
add_subdirectory(zlib)
    取决于zlib的CMakeLists.txt中的
  1. Libpng如下:
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)
  1. 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的错误。

0 个答案:

没有答案