conanfile.txt¶
conanfile.txt
文件是 conanfile.py
的简化版本,旨在简化依赖项的使用,但不能用于创建包。 此外,没有必要使用 conanfile.txt
来使用依赖项,conanfile.py
非常适合简单地使用依赖项。
它还提供了简化的功能,例如,无法在 conanfile.txt
中表达条件需求,因此需要使用 conanfile.py
。 阅读了解使用 conanfile.py 与 conanfile.txt 的灵活性以获取更多信息。
[requires]¶
需求列表,指定完整引用。 相当于 conanfile.py
中的 self.requires(<ref>)
。
[requires]
poco/1.9.4
zlib/1.2.11
本节也支持带有版本范围的引用
[requires]
poco/[>1.0 <1.9]
zlib/1.2.11
也可以固定特定的 recipe 修订版本
[requires]
zlib/1.2.13#revision1
boost/1.70.0#revision2
[tool_requires]¶
工具需求(可执行工具)的列表,指定完整引用。 相当于 conanfile.py
中的 self.tool_requires()
。
[tool_requires]
7zip/16.00
cmake/3.23.0
本节还支持版本范围和固定的 recipe 修订版本,如上所述。
实际上,[tool_requires]
将始终被安装(与 [requires]
相同),因为从 *conanfile.txt* 安装意味着将要构建某些东西,因此确实需要工具需求。 但是请注意,默认情况下 tool_requires
位于 “build” 上下文中,它们不能是用于构建的库,而只能是可执行工具,例如,使用 CMakeDeps
生成器,它们不会为其创建 CMake 配置文件(可能存在例外,但需要使用 conanfile.py
,请阅读CMakeDeps 参考以获取更多信息)。
[test_requires]¶
测试需求的列表,指定完整引用。 相当于 conanfile.py
中的 self.test_requires()
。
[test_requires]
gtest/1.12.1
本节还支持版本范围和固定的 recipe 修订版本,如上所述。 test_requires
的行为与上面的 [requires]
部分完全等效,唯一的区别是 test_requires
不会传播给使用者,但是由于 conanfile.txt
永远不会创建可以使用的包,因此无关紧要。 提供它是为了保持与 conanfile.py
的等效性
[generators]¶
要使用的内置生成器列表,相当于 conanfile.py
generators = "CMakeDeps", ...
属性。
[requires]
poco/1.9.4
zlib/1.2.13
[generators]
CMakeDeps
CMakeToolchain
[options]¶
使用类似 **package_name*:option = Value** 的模式为每个包设置作用域的选项列表。
[requires]
poco/1.9.4
zlib/1.2.11
[generators]
CMakeDeps
CMakeToolchain
[options]
poco/*:shared=True
openssl/*:shared=True
例如,使用 *:shared=True
将为依赖关系图中定义了此选项的所有包定义 shared=True
。
[layout]¶
您可以指定预定义布局的名称。 可用值如下
cmake_layout
vs_layout
bazel_layout (实验性)
[layout]
cmake_layout
另请参阅
阅读了解使用 conanfile.py 与 conanfile.txt 的灵活性以获取有关 conanfile.txt 与 conanfile.py 的更多信息。