本文档翻译自:https://docs.conan.io/en/latest/reference/commands/output/config.html
conanfile.txt部分的参考:requires, generators等。
Sections
[requires]
要求清单,指定完整参考。
[requires]
poco/1.9.4
zlib/1.2.11
本节支持具有版本范围的参考:
[requires]
poco/[>1.0,<1.9]
zlib/1.2.11
[build_requires]
指定完整参考的构建要求列表。
[build_requires]
7zip/16.00
本节支持带有版本范围的参考。
实际上,将始终安装[build_requires](与[requires]相同),因为从conanfile.txt安装意味着要构建某些内容,因此确实需要构建要求。
将它们放在分开的部分中是有用的,并且从概念上讲是更干净的,因此conanfile.txt的用户可能会快速识别出他们已经安装在计算机上的一些开发工具,从而使它们与需要链接的库区分开来。
[generators]
generators列表
[requires]
poco/1.9.4
zlib/1.2.11
[generators]
xcode
cmake
qmake
[options]
适用于每个软件包的选项列表,例如package_name:option = Value。
[requires]
poco/1.9.4
zlib/1.2.11
[generators]
cmake
[options]
poco:shared=True
openssl:shared=True
[imports]
要导入到本地目录的文件列表。 了解更多:导入。
[requires]
poco/1.9.4
zlib/1.2.11
[generators]
cmake
[options]
poco:shared=True
openssl:shared=True
[imports]
bin, *.dll -> ./bin # Copies all dll files from packages bin folder to my local "bin" folder
lib, *.dylib* -> ./bin # Copies all dylib files from packages lib folder to my local "bin" folder
第一项是包的子文件夹(可以是根“。”),第二项是要匹配的模式。 两者都与本地缓存有关。 第三个项目(箭头之后)是目标文件夹,位于用户空间中,而不位于本地缓存中。
[imports]部分还支持与conanfile.py中等效的imports()方法相同的参数,并用@分隔。
:::info
Note
如果您以前的文件夹在路径名中使用@,请使用结尾(即使为空)@,以便解析器正确获取文件夹路径,例如:
lib, * -> /home/jenkins/workspace/conan_test@2/g/install/lib @
:::
- root_package(可选,默认为deps中的所有软件包):软件包名称的fnmatch模式(“ OpenCV”,“ Boost”),将从中复制文件。
- folder:(可选,默认为False)。 如果启用,它将文件从本地缓存复制到名为包含文件的包的子文件夹。 有助于避免导入具有相同名称(例如许可证)的文件时发生冲突。
- ignore_case :(可选,默认为False)。 如果启用,将执行不区分大小写的模式匹配。
- excludes:(可选,默认为无)。 允许定义一个模式列表(甚至单个模式),即使它们与主模式匹配,也可以从副本中排除这些模式。
- keep_path(可选,默认为True):表示将文件从src文件夹复制到dst时是否要保留相对路径。 忽略导入文件包中的library.dll文件的路径(keep_path = False)很有用。
将依赖关系中的许可证文件收集到licenses文件夹中的示例,不包括(仅作为示例).html和.jpeg文件:
[imports]
., license* -> ./licenses @ folder=True, ignore_case=True, excludes=*.html *.jpeg
注释
注释以井号(#)开头,并在物理行的结尾处结束。 语法将忽略注释。 他们不是令牌。