1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-10 18:24:11 +01:00
LibrePilot/package/osx/libraries

57 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
APP="${1?}"
PLUGINS="${APP}/Contents/Plugins"
OP_PLUGINS="${APP}/Contents/Plugins/OpenPilot"
QT_LIBS="QtDeclarative QtXmlPatterns QtGui QtTest QtCore QtSvg QtSql QtOpenGL QtNetwork QtXml QtScript"
QT_DIR=$(otool -L "${APP}/Contents/MacOS/OpenPilot GCS" | sed -n -e 's/\/QtCore\.framework.*//p' | sed -n -E 's:^.::p')
QT_EXTRA="accessible/libqtaccessiblewidgets.dylib bearer/libqgenericbearer.dylib imageformats/libqgif.dylib imageformats/libqico.dylib imageformats/libqjpeg.dylib imageformats/libqmng.dylib imageformats/libqtiff.dylib imageformats/libqsvg.dylib qmltooling/libqmldbg_tcp.dylib sqldrivers/libqsqlodbc.dylib sqldrivers/libqsqlpsql.dylib sqldrivers/libqsqlite.dylib imageformats/libqtga.dylib iconengines/libqsvgicon.dylib"
OSG_EXTRA="libosgViewer.90.dylib"
if [ -z "${QT_DIR}" ]
then
# QT_DIR is empty, then we have (presumably):
QT_FRAMEWORKS="/Library/Frameworks"
QT_PLUGINS="/Developer/Applications/Qt/plugins"
else
# Typical Nokia SDK paths
QT_FRAMEWORKS="${QT_DIR}"
QT_PLUGINS="${QT_DIR}/../plugins"
QT_DIR="${QT_DIR}/"
fi
echo "Qt library directory is \"${QT_DIR}\""
echo "Running macdeployqt"
macdeployqt "${APP}" -no-strip
echo "Processing Qt libraries in ${APP}"
for f in "${PLUGINS}/"*.dylib "${OP_PLUGINS}/"*.dylib
do
# Only process plain files
[ ! -L "${f}" ] && for g in $QT_LIBS
do
install_name_tool -change \
"${QT_DIR}${g}.framework/Versions/5/${g}" \
@executable_path/../Frameworks/${g}.framework/Versions/5/${g} \
"${f}"
done
done
echo "Copying SDL"
cp -a "/Library/Frameworks/SDL.framework" "${APP}/Contents/Frameworks/"
echo "Changing package identification of SDL"
install_name_tool -id \
@executable_path/../Frameworks/SDL.framework/SDL \
"${APP}/Contents/Frameworks/SDL.framework/SDL"
install_name_tool -change \
@rpath/SDL.framework/Versions/A/SDL \
"@executable_path/../Frameworks/SDL.framework/SDL" \
"${APP}/Contents/Plugins/libsdlgamepad.1.dylib"
# deleting unnecessary files
echo "Deleting unnecessary files"
find "${APP}/Contents/Frameworks" -iname "*_debug" -exec rm -rf \{\} \;