3

I have complex qbs projects tree. And one of static libraries depends on 3rd-part framework. I am trying to make deploying of this frameworks inside qbs, but have no luck for now.

For dylib deploy i use next code:

Group {
            condition: qbs.targetOS.contains("osx") && bundle.isBundle
            files: [lib.sourceDirectory +"/Mac/*.dylib"]
            qbs.install: true
            qbs.installDir: "bin/"+FileInfo.path(bundle.executablePath)
        }

And for application itself i do next:

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))
}

So my questions are next:

  1. Is this solution for bundle correct or there is other easy solution for bundle install?

  2. Can i do something similar with 3rd-part framework bundles as i did with the dylib files?

  3. Is there is a way to force qbs to change rpathes for application to use installed frameworks?

Thank you.

johngull
  • 819
  • 6
  • 22

0 Answers0