QbsDeps¶
QbsDeps
生成器为每个依赖项生成必要的文件,以便能够使用 Qbs Depends
项来定位依赖项。它可以这样使用:
from conan import ConanFile
class App(ConanFile):
settings = "os", "arch", "compiler", "build_type"
requires = "hello/0.1"
generators = "QbsDeps"
也可以在 generate()
方法中手动使用 QbsDeps
:
from conan import ConanFile
from conan.tools.qbs import QbsDeps
class App(ConanFile):
settings = "os", "arch", "compiler", "build_type"
requires = "hello/0.1"
def generate(self):
deps = QbsDeps(self)
deps.generate()
可以使用 Depends
项添加对应用程序的依赖:
project.qbs¶
CppApplication {
Depends { name: "hello"; version: "0.1" }
files: "main.c"
qbs.installPrefix: ""
install: true
qbsModuleProviders: "conan"
moduleProviders.conan.installDirectory: "build"
}
请注意,我们正在将 qbsModuleProviders
属性设置为 "conan"
,以告诉 Qbs 依赖项是由 Conan 生成的。我们还将 conan
模块提供者的 installDirectory
属性设置为 "build"
,以告诉提供者在源代码目录中的 build
目录中查找生成的文件。也可以通过命令行设置此值。
我们使用 conan install
命令安装依赖项。
$ conan install . --output-folder=build --build missing
最后,我们可以通过简单地调用 Qbs 来构建项目:
$ qbs
请注意,当使用 QbsDeps 生成器时,Qbs 辅助工具将自动设置 conan.installDirectory
属性。
另请参阅
有关详细信息,请查看 Qbs 辅助工具。
参考¶
- class QbsDeps(conanfile)¶
此类将在“conan-qbs-deps”文件夹中为每个依赖项生成一个 JSON 文件。每个 JSON 文件都包含 Qbs
"conan" module provider
能够生成 Qbs 模块文件所需的信息。- 参数:
conanfile – 当前的 recipe 对象。始终使用
self
。
- property content¶
将所有依赖项信息作为 Python 字典对象返回,其中键是依赖项名称,值是包含依赖项属性的字典。
- generate()¶
此方法将生成的文件保存到
conanfile.generators_folder
目录下的“conan-qbs-deps”目录中。为每个依赖项或组件生成一个 JSON 文件。