annotate deploy/osx/copy-qt.sh @ 2596:04d381f0d89a tip

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