我有一个包含子目录中的文件的目录,这些文件将与我的应用程序一起部署(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"
}然后,所有这些文件都进入同一个目录,忽略层次结构(并且无法安装,因为其中一些文件共享名称)。
包含多个组的解决方案也过于冗长。
是否有一种方法可以通过递归方式安装带有文件的目录,以保持层次结构?
发布于 2017-04-06 15:00:32
查看qbs.installSourceBase属性;这正是它的作用所在。
发布于 2017-04-07 03:15:28
示例用法:
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
}https://stackoverflow.com/questions/43115652
复制相似问题