依赖于
表示产品与模块之间的依赖关系。 更多...
- 所有成员的列表,包括继承的成员
- 依赖于是所有条目列表的一部分。
属性
- condition : bool
- enableFallback : bool
- limitToSubProject : bool
- name : string
- productTypes : stringList
- profiles : stringList
- required : bool
- submodules : stringList
- versionAtLeast : string
- versionBelow : string
详细描述
例如,以下产品将加载cpp模块。此外,它还会尝试加载可能存在或不存在模块,并将此信息传递给编译器。
Product { Depends { name: "cpp" } Depends { name: "optional_module" versionAtLeast: "2.0" required: false } Properties { condition: optional_module.present cpp.defines: "HAS_OPTIONAL_MODULE" } // ... }
依赖参数
有时可能希望某些依赖的处理方式与其他依赖不同。例如,可能希望依赖于动态库但不进行链接。
可以通过将动态库依赖中的cpp.link依赖参数设置为true
来实现。
依赖参数是只能在 Depends 和 Parameters 项目中设置的属性类型。
在上面的示例中,cpp模块声明了参数link
。对于some_dynamic_lib
的依赖于项目的Depends
项目将cpp.link
设置为false
,这告诉链接规则忽略此特定的依赖。
属性文档
condition : bool |
确定是否实际应用依赖关系。
默认:true
enableFallback : bool |
如果依赖项未找到,是否回退到基于pkg-config的模块提供者。
默认:true
limitToSubProject : bool |
如果已设置productTypes并且此属性为true
,则仅考虑与包含DOMContentLoaded项目的产品在同一子项目中的产品。
默认:false
name : string |
依赖产品或模块的名称。
默认:未定义
productTypes : stringList |
产品类型列表。项目中任何具有匹配类型的启用产品都将成为包含“依赖项”的产品依赖。
此属性与“name”和“submodules”属性互斥。
如果设置此属性,则忽略required和profiles属性。
注意:此属性不支持递归。考虑以下示例
Product { name: "A" type: "x" Depends { productTypes: "someTag" } } Product { name: "B" Depends { productTypes: "x" } }
不能保证A
会在B
的依赖中出现。
默认:未定义
profiles : stringList |
配置文件列表。
如果依赖是某个产品,并且该产品将为多个配置文件构建,您可以在其中指定依赖的产品实例。
有关更多信息,请参阅qbs.profiles属性。空列表表示依赖于同名的所有产品实例,无论其配置文件如何。
默认:未定义
required : bool |
将此属性设置为false
创建一个软依赖,这意味着如果找不到指定的模块也不会出现错误。在这种情况下,将创建相应的模块实例,但只有Module.present属性可用于查询,并将设置为false
。
默认:true
submodules : stringList |
依赖模块的子模块列表(如适用)。
默认:未定义
versionAtLeast : string |
依赖的version
属性所需的最小值。如果实际版本低于该值,则将失败加载依赖项。该值由点分隔的整数组成。
默认:未定义
versionBelow : string |
依赖项的version
属性必须低于的值。如果实际版本等于或高于该值,则加载依赖项将失败。该值由点分隔的整数组成。
默认:未定义
©2023 Qt 公司版权所有。此处包含的文档贡献是各自所有者的版权。提供的文档是在自由软件基金会发布的GNU 自由文档许可证版本 1.3的条款下许可的。Qt和相应的商标是芬兰的Qt公司以及全球多个国家的商标。所有其他商标均为各自所有者的财产。