为 CMake 项目创建配方,找到其依赖项 find_package
Creating a recipe for a CMake project that finds its dependencies with find_package
我想为我在 Github 上找到的项目制作一个柯南包。本项目为CMake项目,依赖openssl。项目发现openssl正常find_package.
我的食谱显然声明了 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
。
如果您是第一次创建包,建议您阅读 how to create a package from official docs, and the best practices from Conan Center Index。
更新:使用CMakeDeps
柯南 2.0 进行了许多改进,包括一种新的生成器方法。 CMakeDeps 是需要 xxx-config.cmake
时的新方法。它尚未在入门文档中记录,但它的参考带来了一个非常简单的示例。
我想为我在 Github 上找到的项目制作一个柯南包。本项目为CMake项目,依赖openssl。项目发现openssl正常find_package.
我的食谱显然声明了 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
。
如果您是第一次创建包,建议您阅读 how to create a package from official docs, and the best practices from Conan Center Index。
更新:使用CMakeDeps
柯南 2.0 进行了许多改进,包括一种新的生成器方法。 CMakeDeps 是需要 xxx-config.cmake
时的新方法。它尚未在入门文档中记录,但它的参考带来了一个非常简单的示例。