我有复杂的qbs项目树。其中一个静态库依赖于第三方框架。我试图在qbs中部署这个框架,但现在没有运气。
对于dylib部署,我使用下一个代码:
Group {
condition: qbs.targetOS.contains("osx") && bundle.isBundle
files: [lib.sourceDirectory +"/Mac/*.dylib"]
qbs.install: true
qbs.installDir: "bin/"+FileInfo.path(bundle.executablePath)
}
对于应用程序本身,我接下来做:
Group {
fileTagsFilter: ["application"]
qbs.install: install
qbs.installDir: bundle.isBundle ? FileInfo.joinPaths(installDir, FileInfo.path(bundle.executablePath)) : installDir
}
Group {
fileTagsFilter: ["aggregate_infoplist", "infoplist"]
qbs.install: install && bundle.isBundle && !bundle.embedInfoPlist
qbs.installDir: FileInfo.joinPaths(installDir, FileInfo.path(bundle.infoPlistPath))
}
Group {
fileTagsFilter: ["pkginfo"]
qbs.install: install && bundle.isBundle
qbs.installDir: FileInfo.joinPaths(installDir, FileInfo.path(bundle.pkgInfoPath))
}
所以接下来我的问题是:
这个捆绑解决方案是否正确,或者是否有其他简单的捆绑安装解决方案?
我可以像使用dylib文件那样使用第3部分框架包做类似的事情吗?
是否有办法强制qbs更改应用程序的rpathes以使用已安装的框架?
谢谢。