我的子目录中有文件的目录要与我的应用程序一起部署(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"
}
然后所有这些文件进入同一目录而忽略层次结构(并且无法安装,因为其中一些共享名称)。
多个群组的解决方案也过于冗长。
有没有办法用文件递归安装目录,保留层次结构?
答案 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
}