vcpkg cmake не находит ботана - PullRequest
       45

vcpkg cmake не находит ботана

0 голосов
/ 29 августа 2018

Я использую vcpkg в качестве менеджера пакетов, следуя примеру, было довольно просто собрать пример с помощью sqlite.

После этого я успешно установил ботан и попытался найти библиотеку, используя find_package(botan REQUIRED) как показано в примере здесь . Однако, к сожалению, это не работает, и генерация завершается с ошибкой

CMake Error at vcpkg/scripts/buildsystems/vcpkg.cmake:247 (_find_package):
  By not providing "Findbotan.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "botan", but
  CMake did not find one.

  Could not find a package configuration file provided by "botan" with any of
  the following names:

    botanConfig.cmake
    botan-config.cmake

  Add the installation prefix of "botan" to CMAKE_PREFIX_PATH or set
  "botan_DIR" to a directory containing one of the above files.  If "botan"
  provides a separate development package or SDK, be sure it has been
  installed.
Call Stack (most recent call first):
  CMakeLists.txt:4 (find_package

CMakeLists.txt выглядит следующим образом

cmake_minimum_required(VERSION 3.0)
project(botanTest)

find_package(botan REQUIRED)

add_executable(main main.cpp)
target_link_libraries(main botan)

Есть ли способ создать приложение, которое зависит от ботана, с помощью cmake и vcpkg? Если не для cmake, как вообще использовать ботан в качестве пакета vcpkg? Жесткое кодирование местоположения не является жизнеспособным решением.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 18 июля 2019

vcpkg не предоставляет файл конфигурации для встроенного и установленного ботана.

Вам придется либо использовать find_path () и find_library () непосредственно в вашем проекте CMake, либо написать файл FindBotan.cmake, который будет найден вызовом find_package (). Внутри этого FindBotan.cmake вам все равно потребуется использовать find_path () и find_library (), а также некоторые другие обычные шаблоны, которые появляются в модулях Find.

Если вы ищете в Интернете, вы уже можете найти некоторые версии FindBotan.cmake, но ни одна из них не является официальной.

...