Mercurial > hg > easyhg
diff deploy/osx/copy-qt.sh @ 699:646e48a0d3a5
Some work on macOS packaging
author | Chris Cannam |
---|---|
date | Tue, 11 Dec 2018 16:40:57 +0000 |
parents | |
children | 5afb26b7575a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deploy/osx/copy-qt.sh Tue Dec 11 16:40:57 2018 +0000 @@ -0,0 +1,59 @@ +#!/bin/bash + +set -eu + +app="$1" +if [ -z "$app" ]; then + echo "Usage: $0 <appname>" + echo "Provide appname without the .app extension, please" + exit 2 +fi + +frameworks="QtCore QtNetwork QtGui QtWidgets QtPrintSupport QtDBus" + +plugins="gif icns ico jpeg tga tiff wbmp webp cocoa macstyle minimal offscreen" + +qtdir=$(grep "Command:" Makefile | head -1 | awk '{ print $3; }' | sed s,/bin/.*,,) + +if [ ! -d "$qtdir" ]; then + echo "Failed to discover Qt installation directory from Makefile, exiting" + exit 2 +fi + +fdir="$app.app/Contents/Frameworks" +pdir="$app.app/Contents/plugins" + +mkdir -p "$fdir" +mkdir -p "$pdir" + +echo +echo "Copying frameworks..." +for fwk in $frameworks; do + if [ ! -d "$qtdir/lib/$fwk.framework" ]; then + if [ "$fwk" = "QtDBus" ]; then + echo "QtDBus.framework not found, assuming Qt was built without DBus support" + continue + fi + fi + cp -v "$qtdir/lib/$fwk.framework/$fwk" "$fdir" || exit 2 +done + +echo "Done" + +echo +echo "Copying plugins..." +for plug in $plugins; do + pfile=$(ls "$qtdir"/plugins/*/libq"$plug".dylib) + if [ ! -f "$pfile" ]; then + echo "Failed to find plugin $plug, exiting" + exit 2 + fi + target="$pdir"/${pfile##?*plugins/} + tdir=`dirname "$target"` + mkdir -p "$tdir" + cp -v "$pfile" "$target" || exit 2 +done + +echo "Done" + +