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
项添加对应用程序的依赖项
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 – 当前配方对象。始终使用
self
。
- property content¶
将所有依赖项信息作为 Python dict 对象返回,其中键是依赖项名称,值是包含依赖项属性的 dict。
- generate()¶
此方法会将生成的文件保存到
conanfile.generators_folder
目录中的“conan-qbs-deps”目录。为每个依赖项或组件生成一个 JSON 文件。