【问题标题】:Creating a recipe for a CMake project that finds its dependencies with find_package为 CMake 项目创建一个配方,使用 find_package 查找其依赖项
【发布时间】:2021-12-12 23:18:22
【问题描述】:

我想为我在 Github 上找到的一个项目制作一个柯南包。该项目是一个 CMake 项目,依赖于 openssl。该项目使用正常的 find_package 找到 openssl。

我的配方显然声明了 openssl 依赖项,但我苦苦挣扎的是如何在项目的 CMake 中获取 find_package(openssl) 以找到柯南获得的 openssl?

【问题讨论】:

    标签: conan


    【解决方案1】:

    您需要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,以及Conan Center Index 中的最佳实践。

    更新:使用CMakeDeps

    柯南 2.0 进行了许多改进,包括生成器的新方法。 CMakeDeps 是需要 xxx-config.cmake 时的新方法。它还没有开始的文档,但它的引用带来了一个非常简单的例子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 2020-07-24
      • 2021-09-30
      • 1970-01-01
      相关资源
      最近更新 更多