依赖于

表示产品与模块之间的依赖关系。 更多...

属性

详细描述

一个依赖于项目可以出现在产品模块项目内部。

例如,以下产品将加载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来实现。

Product {
    Depends { name: "cpp" }
    Depends { name: "some_dynamic_lib"; cpp.link: false }

    // ...
}

依赖参数是只能在 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”属性互斥。

如果设置此属性,则忽略requiredprofiles属性。

注意:此属性不支持递归。考虑以下示例

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公司以及全球多个国家的商标。所有其他商标均为各自所有者的财产。