Я хочу собрать libpng с помощью CMake, но не могу собрать, потому что при настройке CMake произошла ошибка, что Политика CMP0074 не установлена: find_package использует переменные _ROOT.
- Скачать zlib-1.2.11 и libpng-1.6.37 .
- Я написал CMakeLists.txt.
add_subdirectory(libpng)
add_subdirectory(zlib)
- Libpng в CMakeLists.txt, который зависит от 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.