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
Regards,
--
Adam
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development