summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/Packaging/MacOSX/package.sh')
-rwxr-xr-xSwift/Packaging/MacOSX/package.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/Swift/Packaging/MacOSX/package.sh b/Swift/Packaging/MacOSX/package.sh
new file mode 100755
index 0000000..884403b
--- /dev/null
+++ b/Swift/Packaging/MacOSX/package.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+APP=$1
+TEMPLATE=$2
+TARGET=$3
+QTDIR=$4
+
+if [[ ! -f "$TEMPLATE" || ! -d "$APP" || ! -d "$QTDIR" || -z "$TARGET" ]]; then
+ echo "Error"
+ exit -1
+fi
+
+set -e -x
+
+WC_DIR=`dirname $TEMPLATE`/tmp
+WC_DMG=`dirname $TEMPLATE`/tmp.dmg
+
+gunzip -c $TEMPLATE > $WC_DMG
+rm -rf $WC_DIR
+mkdir -p $WC_DIR
+hdiutil attach "$WC_DMG" -noautoopen -quiet -mountpoint "$WC_DIR"
+ditto -rsrc "$APP" "$WC_DIR"/`basename $APP`
+$QTDIR/bin/macdeployqt "$WC_DIR"/`basename $APP`
+hdiutil detach "$WC_DIR" -quiet -force
+rm -f $TARGET
+hdiutil convert "$WC_DMG" -quiet -format UDZO -imagekey zlib-level=9 -o "$TARGET"
+rm -rf $WC_DMG $WC_DIR