【发布时间】:2017-08-29 14:42:22
【问题描述】:
我正在编写为rabbitmq-c 库创建包的方法。当 cmake中 enable_sl_support 选项时,检查它需要 openssl 库的构建。
如提供的屏幕路径所示,指向 libeay.lib 和 ssleay.lib 的 Debug 和 Release 版本> 文件是必需的。
在我的conanfile.py for rabbitmq-c 库中,我有以下描述依赖关系的代码。
def requirements(self):
if self.options.ssl_support:
self.requires("OpenSSL/1.0.2l@bobeff/stable")
如何从所需的 OpenSSL 包中获取正确的值以在 CMake 配置选项中为 RabbitMQ-C 配方设置它们?
包OpenSSL/1.0.2l@bobeff/stable 可以使用不同的设置和选项构建。在构建 RabbitMQ-C 时如何选择使用哪个?例如,如何选择静态或动态版本的 OpenSSL 用于链接 RabbitMQ-C dll 文件?
【问题讨论】:
-
如果你的意思是,如何访问依赖模型,从消费者配方 (RabbitMQ) 你可以通过
self.deps_cpp_info["OpenSSL"]访问它。该对象将包含include_paths、lib_paths等的信息。您可以查看:conanio.readthedocs.io/en/latest/integrations/other.html。请告诉我这是否有意义,我将详细说明一个扩展答案 -
@drodri +1 10x 这很有意义,但这里还需要两个不同的 OpenSSL 包。一个用于调试,一个用于发布。现在我正在为 RabbitMQ-C 的 Debug 和 Release 变体创建不同的包,因此我可以使用相同的值,但是如果我要为 RabbitMQ-C 的调试和发布版本创建一个包,如何处理这个问题?
标签: c cmake conan rabbitmq-c