> On 12 Aug 2014, at 16:25, Adam Strzelecki <[email protected]> wrote: > > Okay, Phase II. > > (1) Introduce "bundle_frameworks" CONFIG option, and set it default for > "rpath" shared builds on iOS & OS X > > (2) Introduce "bundle" make target, when "bundle_frameworks" CONFIG is set, > it is added to "all" > > (3) Make's "bundle" will copy (update if not there) all used Qt frameworks to > app's bundle Frameworks and used plugins to Plugins (currently implemented as > separate macdeployqt) > > NOTES: > > * Since qmake knows which Qt libraries and plugins are used "bundle" target > it will generate following Makefile entries > > all: Sample.app bundle > > bundle: Sample.app/Frameworks/QtCore.framework > mkdir -p Sample.app/Frameworks && cp -r > $$[QT_INSTALL_LIBS]/QtCore.framework Sample.app/Frameworks > ... > > Of course this example is simplification, since we don't need to copy headers > and we need to take debug versions or release. So there will be more commands > in practice. > > * One can disable "bundle_frameworks" via CONFIG -= bundle_frameworks, so > existing workflow where executable is given rpath pointing to Qt libraries > > * If disabled, one can still do "make bundle" that is equivalent to current > "macdeployqt" and "bundle" target will also add "install_name_tool" -rpath > replacement steps
A few quick comments: The target name: Should that be “deploy”? “make deploy" would then perform platform-specific deployment. Options: currently macdeployqt has options, and I can see more being added. We would need to find a way to provide them via the build system. Default behavior: I’m on favor of keeping it opt-in, either via "CONFIG += bundle_frameworks" or “make bundle” Morten _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
