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.3.1
此部分也支持带有版本范围的引用
[requires]
poco/[>1.0 <1.9]
zlib/1.3.1
并且也可以固定特定的配方修订版本
[requires]
zlib/1.2.13#revision1
boost/1.70.0#revision2
注意
请注意,在使用版本范围时固定修订版本不起作用,Conan 会发出警告。
[tool_requires]¶
工具需求(可执行工具)列表,指定完整的引用。 等效于 conanfile.py 中的 self.tool_requires()。
[tool_requires]
7zip/16.00
cmake/3.23.0
此部分也支持版本范围和固定配方修订版本,如上所述。
实际上,[tool_requires] 将始终安装(与 [requires] 相同),因为从 conanfile.txt 安装意味着将要构建某些内容,因此确实需要工具需求。 但是,默认情况下,tool_requires 位于“构建”上下文中,它们不能用于构建库,只能用于可执行工具,例如,使用 CMakeDeps 生成器,它们不会为它们创建 CMake 配置文件(可能存在例外,但需要使用 conanfile.py,请阅读 CMakeDeps 参考 以获取更多信息)。
[test_requires]¶
测试需求列表,指定完整的引用。 等效于 conanfile.py 中的 self.test_requires()。
[test_requires]
gtest/1.12.1
此部分也支持版本范围和固定配方修订版本,如上所述。 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.3.1
[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 的更多信息。