OSX deployment ~ frameworks folder = 50MB
-
I used the great macdeloyqt-tool on my .app and was pretty impressed with the 50MB frameworks-folder.
As a .dmg-file it still weights 22MB which is too much for my little application (on Windows I got it down to 7 MB).What are good way to decreases the size besides compiling Qt itself with stuff disabled?
EDIT: I just saw each library is there twice (same size)
Example:@QtGUI.framework
|- Resources
|- Versions
|- 4
|- QtGui ===|
|- Current |---> same file
|- QtGui ===|@Can I remove one of them?
-
I think there was a tool to strip unneeded architectures. "lipo"?
-
I usually customize my Qt libraries for deployment. Got it down to 8MB per platform without trying to hard. Still a lot of stuff in there that I don't need.
-
Ugh, booting up my Mac (haven't done so for weeks;).
-
Note: This is meant to build Qt on Snow Leopard. Haven't tried it since 4.7.0.
Have fun with it!@
#! /bin/sh
QTDIR=$PWD/qt-4.7-x86_64-reduced
QTSRC=$PWD/qt-4.7-srcexport PATH=~/bin:$PATH # to use ccache
rm -rf $QTDIR
mkdir $QTDIR-arch 'ppc x86 x86_64' \
cd $QTDIR
make confclean
export MAKEFLAGS=-j2
printf "o\nyes\n" |
$QTSRC/configure
-debug-and-release
-prefix $PWD
-opensource
-fast
-no-pch
-no-exceptions
-no-phonon
-no-qt3support
-no-stl
-no-webkit
-no-xmlpatterns
-no-scripttools
-no-multimedia
-no-declarative
-no-dbus
-no-javascript-jit
-no-feature-concurrent
-make 'libs' || exit 1
make || exit 2
cd ..
@ -
These is the disk space used for the Qt libs in my application (i386 + ppc universal binaries):
@
volker@macpro MyApp.app/Contents/Frameworks $ du -ms *.framework
7 Qt3Support.framework
6 QtCore.framework
25 QtGui.framework
3 QtNetwork.framework
1 QtSql.framework
1 QtSvg.framework
54 QtWebKit.framework
1 QtXml.framework
15 QtXmlPatterns.framework
1 phonon.framework
@I copy the files manually (using a homebrewn script, as macdeployqt was not available when I started development). All files exist only once, with a bunch of symlinks inside the bundle. I don't know if macdeployqt strips this out, but I remove all the header files from the frameworks, that save some bytes too.
The configure options for unclewerner just strip down the build time of the Qt libs, as not all modules are built. QtCore, QtGui and all other modules that are built, will be the same size.
-
Yeah, you are right with that.
Why is your QtGui 25MB anyways (mine is 12 MB) ? Is it the debug-version?
OT: what's more important now is the problem I have with the desktop-components (http://developer.qt.nokia.com/forums/viewthread/6047). Will you look into it?