Qbs:安装保留层次结构

时间:2017-03-30 10:47:42

标签: qbs

我的子目录中有文件的目录要与我的应用程序一起部署(qml插件)。问题是:如果我尝试安装dirs:

Group {
    name: "somegroup"
    files: ["mysrc/dir"]
    qbs.install: true
    qbs.installDir: "mybuild"
}

我得到了一个"没有递归复制目录' mysrc / dir'进入目标目录' mybuild'。请改为安装单个文件工件。" 错误。

如果我尝试安装文件:

Group {
    name: "somegroup"
    files: ["mysrc/dir/**/*"]
    qbs.install: true
    qbs.installDir: "mybuild"
}

然后所有这些文件进入同一目录而忽略层次结构(并且无法安装,因为其中一些共享名称)。

多个群组的解决方案也过于冗长。

有没有办法用文件递归安装目录,保留层次结构?

2 个答案:

答案 0 :(得分:3)

查看qbs.installSourceBase属性;这正是它的用途。

答案 1 :(得分:1)

示例用法:

Group {
    name: "qt_qml_plugins"
    prefix: Qt.core.pluginPath + "/../qml/"
    files: [
        "QtQml/**",
        "QtQuick/**",
        "QtQuick.2/**",
        "QtPositioning/**",
        "QtLocation/**"
    ]
    excludeFiles: ["**/*d.dll"]
    qbs.install: true
    qbs.installDir: "../../qml"
    qbs.installSourceBase: prefix
}