Как собрать libpng с помощью CMake - PullRequest
0 голосов
/ 06 июля 2019

Я хочу собрать libpng с помощью CMake, но не могу собрать, потому что при настройке CMake произошла ошибка, что Политика CMP0074 не установлена: find_package использует переменные _ROOT.

  1. Скачать zlib-1.2.11 и libpng-1.6.37 .
  2. Я написал CMakeLists.txt.
add_subdirectory(libpng)
add_subdirectory(zlib)
  1. 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)
  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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...