vcpkg cmake找不到植物

时间:2018-08-29 15:45:23

标签: c++ cmake botan vcpkg

我使用vcpkg作为我的软件包管理器,在该示例之后,使用sqlite构建example非常容易。

之后,我成功安装了botan并尝试使用 find_package(botan REQUIRED),如示例here所示。 但是不幸的是,这不起作用,并且生成退出并显示错误

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构建依赖于botan的应用程序?如果不是cmake,如何将botan用作vcpkg软件包?对位置进行硬编码不是可行的解决方案。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

vcpkg不为已构建和安装的Botan提供配置文件。

您将不得不在您的CMake项目中直接使用find_path()和find_library(),或者编写一个可通过find_package()调用找到的FindBotan.cmake文件。在此FindBotan.cmake中,您仍然需要使用find_path()和find_library()以及在Find模块中显示的其他一些常用样板。

如果您在Internet上搜索,您已经可以找到某些版本的FindBotan.cmake,但没有一个是官方的。