Mercurial > hg > sonic-visualiser
annotate deploy/osx/copy-qt.sh @ 1583:0510dea7ef84 dev/refactor-piper-related
Introduce some POD structs for describing an external server application and the desired libraries to load from it, and disambiguating between empty list request and invalid list request. This allows for overriding PiperVampPluginFactory behaviour for using a PluginScan to populate the list request.
author | Lucas Thompson <lucas.thompson@qmul.ac.uk> |
---|---|
date | Fri, 10 Feb 2017 11:15:19 +0000 |
parents | 2451e7bb90af |
children | f7acd0c9ee8d |
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 |
Chris@1153 | 14 plugins="dds gif icns ico jpeg tga tiff wbmp webp cocoa minimal offscreen" |
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@745 | 57 echo "Done" |
Chris@745 | 58 |
Chris@772 | 59 |