qt qbs复杂的macos bundle build

时间:2016-04-08 13:05:51

标签: macos qt bundle qbs

我有复杂的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))
}

所以接下来我的问题是:

  1. 这个捆绑解决方案是否正确,或者是否有其他简单的捆绑安装解决方案?

  2. 我可以像使用dylib文件那样使用第3部分框架包做类似的事情吗?

  3. 是否有办法强制qbs更改应用程序的rpathes以使用已安装的框架?

  4. 谢谢。

0 个答案:

没有答案