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