annotate deploy/osx/copy-qt.sh @ 129:afd72eb2b0aa tip

Added tag v1.0-windows-32bit for changeset 7d5387c63447
author Chris Cannam
date Fri, 12 Jun 2020 17:20:52 +0100
parents efb73feb1061
children
rev   line source
Chris@34 1 #!/bin/bash
Chris@34 2
Chris@34 3 set -eu
Chris@34 4
Chris@34 5 app="$1"
Chris@34 6 if [ -z "$app" ]; then
Chris@34 7 echo "Usage: $0 <appname>"
Chris@34 8 echo "Provide appname without the .app extension, please"
Chris@34 9 exit 2
Chris@34 10 fi
Chris@34 11
Chris@34 12 frameworks="QtCore QtNetwork QtGui QtXml QtSvg QtWidgets QtPrintSupport QtDBus"
Chris@34 13
Chris@34 14 plugins="gif icns ico jpeg tga tiff wbmp webp cocoa minimal offscreen macstyle"
Chris@34 15
Chris@34 16 qtdir=$(grep "Command:" Makefile | head -1 | awk '{ print $3; }' | sed s,/bin/.*,,)
Chris@34 17
Chris@34 18 if [ ! -d "$qtdir" ]; then
Chris@34 19 echo "Failed to discover Qt installation directory from Makefile, exiting"
Chris@34 20 exit 2
Chris@34 21 fi
Chris@34 22
Chris@34 23 fdir="$app.app/Contents/Frameworks"
Chris@34 24 pdir="$app.app/Contents/plugins"
Chris@34 25
Chris@34 26 mkdir -p "$fdir"
Chris@34 27 mkdir -p "$pdir"
Chris@34 28
Chris@34 29 echo
Chris@34 30 echo "Copying frameworks..."
Chris@34 31 for fwk in $frameworks; do
Chris@34 32 if [ ! -d "$qtdir/lib/$fwk.framework" ]; then
Chris@34 33 if [ "$fwk" = "QtDBus" ]; then
Chris@34 34 echo "QtDBus.framework not found, assuming Qt was built without DBus support"
Chris@34 35 continue
Chris@34 36 fi
Chris@34 37 fi
Chris@34 38 cp -v "$qtdir/lib/$fwk.framework/$fwk" "$fdir" || exit 2
Chris@34 39 done
Chris@34 40
Chris@34 41 echo "Done"
Chris@34 42
Chris@34 43 echo
Chris@34 44 echo "Copying plugins..."
Chris@34 45 for plug in $plugins; do
Chris@34 46 pfile=$(ls "$qtdir"/plugins/*/libq"$plug".dylib)
Chris@34 47 if [ ! -f "$pfile" ]; then
Chris@34 48 echo "Failed to find plugin $plug, exiting"
Chris@34 49 exit 2
Chris@34 50 fi
Chris@34 51 target="$pdir"/${pfile##?*plugins/}
Chris@34 52 tdir=`dirname "$target"`
Chris@34 53 mkdir -p "$tdir"
Chris@34 54 cp -v "$pfile" "$target" || exit 2
Chris@34 55 done
Chris@34 56
Chris@34 57 # Sometimes the copied-in files are read-only: correct that
Chris@34 58 chmod -R u+w "$app.app"
Chris@34 59
Chris@34 60 echo "Done"
Chris@34 61
Chris@34 62