conan - 为 CMake 项目创建一个配方,使用 find_package 查找其依赖项
问题描述
我想为我在 Github 上找到的一个项目制作一个柯南包。该项目是一个 CMake 项目,依赖于 openssl。该项目使用普通的 find_package 找到 openssl。
我的食谱显然声明了 openssl 依赖项,但我挣扎的是如何在项目的 CMake 中获取 find_package(openssl) 以找到柯南获得的 openssl?
解决方案
你需要cmake_find_package生成器。
from conans import ConanFile
class Foo(ConanFile):
requires = "openssl/1.1.1l"
generators = "cmake", "cmake_find_package"
...
这将为Findxxx.cmake
您的所有依赖项生成。
如果您是第一次创建包,我建议您阅读如何从官方文档中创建包,以及来自柯南中心索引的最佳实践。
更新:使用CMakeDeps
Conan 2.0 进行了许多改进,包括生成器的新方法。CMakeDeps是在需要xxx-config.cmake
. 它还没有开始记录,但它的参考带来了一个非常简单的例子。
推荐阅读
- android - 访问 SD 卡时出错(没有这样的文件或目录)”文件可用,如设备文件资源管理器的屏幕截图所示
- java - 如何让 NVDA 读取 Swing / GUI 元素
- php - session_start(); 以及如何使用?
- json - Nifi-将json属性转换为executestreamcommand中的变量
- reactjs - 反应:道具数据未传递给子组件
- python - 用户定义的函数不适用于 Pandas
- c++ - glGenVertexArrays 非常慢
- python - 什么是序列化这个 JSON 数据的方法?(Django Rest 框架)
- swift - 如何将字符串转换为日期或日期转换为字符串
- jquery - 在 Angular 8 中使用 metismenu,第二级导航无法在移动尺寸屏幕中打开