ConanfileProbe
从Conan配方文件中提取依赖信息。更多...
- 所有成员列表,包括继承的成员
- ConanfileProbe是所有项目列表的一部分。
属性
- additionalArguments : 字符串列表
- conanfilePath : 路径
- dependencies : 变量
- executable : 路径
- generatedFilesPath : 路径
- generators : 字符串列表
- json : 变量
- options : 变量
- packageReference : 字符串
- settings : 变量
- verbose : 变量
详细信息
ConanfileProbe
让Qbs与Conan包管理器交互。它对Conan配方文件,如conanfile.py
或conanfile.txt
,运行conan install,并使用json生成器提取所有关于包依赖的元信息。该输出可以被用来设置产品的配置项或模块属性。ConanfileProbe
也可以用来运行其他Conan生成器并检索它们的输出。
示例
在以下示例中,我们假设我们的项目包含一个conanfile.py
。此文件描述了我们项目的所有依赖关系。预期依赖包导出元信息,供我们的项目使用。
包含由Conan生成的文件
Conan有一个内置的qbs生成器,它创建一个包含占位符产品的项目文件。这是访问依赖关系最简单的方法,但也是最不灵活的方法。它要求每个Conan包导出正确的元信息,并且只有当依赖关系是库时才有效。
import qbs.Probes Project { Probes.ConanfileProbe { id: conan conanfilePath: project.sourceDirectory + "/conanfile.py" generators: "qbs" } references: conan.generatedFilesPath + "/conanbuildinfo.qbs" CppApplication { type: "application" files: "main.cpp" Depends { name: "mylib" } } }
在产品中设置模块属性
当一个产品依赖于没有专用模块的Conan包时,包元信息可以直接输入到cpp模块中。
这种方法非常灵活。
import qbs.Probes CppApplication { Probes.ConanfileProbe { id: conan conanfilePath: product.sourceDirectory + "/conanfile.py" options: ({opt1: "True"; opt2: "TheValue"}) } cpp.includePaths: conan.dependencies["myLib"].include_paths cpp.libraryPaths: conan.dependencies["myLib"].lib_paths cpp.dynamicLibraries: conan.dependencies["mylib"].libs }
配置配置文件
当多个产品依赖于一个或多个Conan包时,依赖信息可以被组合在一个配置文件中。这在Qbs模块对于某些包可用时,但需要初始化它们的某些属性时非常有用。否则,必须在全局配置文件中手动执行。
import qbs.Probes Project { Probes.ConanfileProbe { id: conan conanfilePath: project.sourceDirectory + "/conanfile.py" } Profile { name: "arm-gcc" cpp.toolchainInstallPath: conan.dependencies["arm-none-eabi-gcc"].rootpath + "/bin" cpp.toolchainPrefix: "arm-linux-gnueabi-" qbs.toolchainType: "gcc" } }
这允许完全自动化的依赖关系管理,包括编译工具链,在团队在异构环境中工作时非常有用。
属性文档
additionalArguments : stringList |
附加的命令行参数,追加到 conan install
命令。
默认值:[]
conanfilePath : path |
[只读] dependencies : var |
此属性包含与 json.dependencies 相同的信息,但 dependencies
是一个以包名为键的映射,便于访问。
默认值:未定义
executable : path |
Conan 可执行文件名称或路径。
默认值:Windows 上为 "conan.exe",其他情况为 "conan"
[只读] generatedFilesPath : path |
Conan 生成器在其中的文件夹路径。此探针的每个实例在 Project.buildDirectory 下创建一个唯一的文件夹。文件夹名称是提供给 conan install
的参数的哈希值。
默认值:未定义
generators : stringList |
[只读] json : var |
作为 JavaScript 对象的解析输出为康奈尔的 JSON生成器。
默认值:未定义
options : var |
通过 -o
标志应用在 conan install
上的选项。此属性是形如 键:值
的对象。
示例
options: ({someOpt: "True", someOtherOpt: "TheValue"})
默认值:未定义
packageReference : string |
settings : var |
通过 -s
标志 applies to conan install
。此属性是形式为 key:value
的对象。
示例
settings: ({os: "Linux", compiler: "gcc"})
默认值:未定义
verbose : var |
设置為 true
以打印 `conan install` 的所有输出。如果此属性为 false
,则仅打印错误输出。
默认值:false
©2023 Qt 公司有限公司。包含在本处的文档贡献是各自拥有者的版权。本处提供的文档是根据免费软件基金会发布的条款许可的GNUPublicDocumentationLicense版本1.3。Qt及其相关标志是芬兰以及/或世界上其他国家的Qt公司的商标。所有其他商标均为各自所有者的财产。