扩展¶
Conan 可以通过几种方式使用自定义用户代码进行扩展。
python_requires
允许将通用配方代码放入配方包中,通过声明python_requires = "mypythoncode/version"
,其他配方可以重用该配方包。您可以利用 Python 和 Conan 公共 API 的强大功能,创建自己的自定义 Conan 命令来解决自身需求。
如果您使用的构建系统不受 Conan 内置工具支持,也可以创建自己的自定义 Conan 生成器。这些生成器可以通过
python_requires
使用,也可以全局安装。hooks
是“前置”和“后置”配方方法(如pre_build()
和post_build()
)的扩展,可用于通过正交功能补充配方,例如质量检查、二进制分析、日志记录等。二进制兼容性
compatibility.py
扩展允许编写自定义规则,以定义不同设置和选项之间的自定义二进制兼容性。cmd_wrapper.py
扩展允许将任意命令包装器注入到任何self.run()
配方命令调用中,这对于注入并行化工具等包装器非常有用。包签名扩展允许分别在上传和安装时对包进行签名和验证。
部署器,一种便于将文件从一个文件夹(通常是 Conan 缓存)复制到用户文件夹的机制。
注意
除了本文档中列出的内置 Conan 扩展之外,还有一个存储库包含 Conan 的扩展,例如自定义命令和部署器,这些扩展对 Artifactory 任务、Conan Center Index 等不同用途很有用。
您可以在GitHub 存储库中找到有关如何使用这些扩展的更多信息。
目录