Exporter.qbs

提供从产品生成 Qbs 模块的功能。 更多...

自从Qbs 1.12

属性

详细描述

Exporter.qbs 模块包含了从 Export 项目创建 Qbs 模块的属性和规则。

这种模块作为你的产品的接口,以供其他 Qbs 编写的项目使用。例如,假设你正在创建一个库。为了允许你的项目和项目外的其他产品使用它,你可以编写如下内容

DynamicLibrary {
    name: "mylibrary"
    qbs.installPrefix: "/opt/mylibrary"
    Depends { name: "Exporter.qbs" }
    property string headersInstallDir: "include"
    // ...
    Group {
        name: "API headers"
        files: ["mylib.h"]
        qbs.install: true
        qbs.installDir: headersInstallDir
    }
    Group {
        fileTagsFilter: ["Exporter.qbs.module"]
        qbs.installDir: "qbs/modules/mylibrary"
    }
    Export {
        Depends { name: "cpp" }
        cpp.includePaths: [exportingProduct.sourceDirectory]
        prefixMapping: [{
                prefix: exportingProduct.sourceDirectory,
                replacement: FileInfo.joinPaths(exportingProduct.qbs.installPrefix,
                                                exportingProduct.headersInstallDir)
            }]
    }
}

要从此库构建,只需在项目内部或任何其他项目中声明一个 依赖项

Depends { name: "mylibrary" }

相关文件标签

标签自从描述
"Exporter.qbs.module"1.12.0此标签附加到生成的模块文件上。

属性文档

additionalContent : string

此属性的值将被直接复制到生成的模块中。

默认值: undefined


artifactTypes : stringList

匹配这些标签的项目将变成生成模块的 目标项目,因此它们可以由依赖产品的规则捕获。

如果你在此处不指定任何内容,则认为该产品的所有已安装项目都是

注意:你只能通过设置此属性来限制默认的项目集,但不能扩展它,因为只有要安装的项目才会考虑。

默认值: undefined


excludedDependencies : stringList

通常,所有 Depends 项都会从 Export 项目复制到生成的模块中。但是,如果存在仅对同一项目中的产品有意义的导出依赖项,则可以将它们的名称输入到此数组中,它们将被过滤掉。

注意:你应该努力以这种方式构建你的项目,以免需要设置此属性。

默认值: undefined


fileName : string

生成模块文件的名称。

默认值: product.targetName + ".qbs"


©2023(Qt公司有限公司)提供的文档贡献属于其各自所有者的版权。本提供的文档是根据免费软件基金会发布的GNU自由文档许可证(v1.3版本)授权的。Qt及其相关标志是芬兰以及其他国家的Qt公司注册商标。所有其他商标均为其各自所有者的财产。