我已经在我的柯南食谱中声明了以下生成器和需求:
generators = "CMakeDeps"
def requirements(self):
self.requires("openssl/[>=1.1 <4]")
字符串
在我的recipe中也有一个generate()方法:
def generate(self):
toolchain = CMakeToolchain(self)
toolchain.generate()
型
问题是,当使用“CMakeDeps”生成器时,构建过程失败,当删除它时,构建过程成功。它失败了,说明找不到openssl:openssl目标。但是,FindOpenSSL.cmake文件在build文件夹内的generators文件夹中可用。
它是,当删除“CMakeDeps”生成器,从“usr/share/cmake-3.16/Modules”的FindOpenSSL.cmake文件被使用?以及如何告诉CMake使用由CMakeDeps创建的FindOpenSSL.cmake文件.
1条答案
按热度按时间juzqafwq1#
CMakeDeps生成器只会生成所有这些
Findxxx.cmake
文件,但不会告诉CMake它们的安装位置。要做到这一点,最安全的方法是一起使用CMakeToolchain生成器:
字符串
然后你应该告诉CMake使用生成的文件:
型
conan_toolchain
将包括安装这些新cmake文件的CMake模块路径,并将使用它而不是从您的系统中使用。请先尝试遵循Conan 2.x教程。这是一个非常基本的指令,详细说明如下:https://docs.conan.io/2/tutorial/consuming_packages/build_simple_cmake_project.html