iOS (OSX): rework how to bundle QML import folders
authorRichard Moe Gustavsen <richard.gustavsen@digia.com>
Tue, 22 Oct 2013 10:56:14 +0000 (12:56 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 25 Oct 2013 10:32:31 +0000 (12:32 +0200)
commit42e68018438b225ae68eecd3e36338e11dd177b8
treea9ca42eb9ea9e1f1857f753368deb143b4e0af72
parent27f2b971550ceafc7810a5a2d25450319ab0ccc5
iOS (OSX): rework how to bundle QML import folders

Before this patch, we would copy "$QTDIR/qml"
directly into the bundle as "qml". This would cause problems
if the user also tried to deploy qml files to a "qml" folder, or
if any other file in the bundle ended up with the name "qml" (which is the
case for QtDeclarative/tools/qml, where the executable is called "qml").

This patch will instead copy the contents of each import folder
into QMAKE_QML_BUNDLE_PATH, which will default to "qt_qml" on iOS
and "Resources/qt_qml" on OSX.

We also change the implementation to use a post script rather
then QMAKE_BUNDLE_DATA for two reasons:
1. Xcode does not like "copy build phases" to copy folders, only
    files (You cannot even create such a phase from Xcode, although
    it is possible to force it the way we create project.pbx. But
    this was error prone)
2. We need to strip away unneeded files from the bundle, like
    archives (which are linked in statically, not dlopened run-time).
    Using rsync lets us copy and strip in one operation.

Change-Id: I7c2117f6cfbe11efdc272dff71adb0b1e619a5ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
mkspecs/features/qt.prf