1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
#!/bin/bash
set -a
APP_NAME=QMapShack
set +a
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $DIR/env-path.sh
source $DIR/bundle.sh
function extendAppStructure {
mkdir $BUILD_BUNDLE_RES_QM_DIR
mkdir $BUILD_BUNDLE_RES_GDAL_DIR
mkdir $BUILD_BUNDLE_RES_PROJ_DIR
mkdir $BUILD_BUNDLE_RES_ROUTINO_DIR
mkdir $BUILD_BUNDLE_RES_BIN_DIR
}
function copyAdditionalLibraries {
cp -v $ROUTINO_LIB_LIB_DIR/libroutino.so $BUILD_BUNDLE_FRW_DIR
cp -v $QUAZIP_LIB_LIB_DIR/libquazip.1.dylib $BUILD_BUNDLE_FRW_DIR
cp -v $DBUS_DIR/libdbus-1.3.dylib $BUILD_BUNDLE_FRW_DIR
cp -v -R $QT_DIR/lib/QtOpenGL.framework $BUILD_BUNDLE_FRW_DIR
cp -v -R $QT_DIR/lib/QtQuick.framework $BUILD_BUNDLE_FRW_DIR
cp -v -R $QT_DIR/lib/QtQml.framework $BUILD_BUNDLE_FRW_DIR
# remove debug libraries
for F in `find $BUILD_BUNDLE_FRW_DIR/Qt*.framework/* -type f -name '*_debug*'`
do
echo $F
rm $F
done
}
function copyExternalFiles {
cp -v $GDAL_DIR/share/gdal/* $BUILD_BUNDLE_RES_GDAL_DIR
cp -v $PROJ_DIR/share/proj/* $BUILD_BUNDLE_RES_PROJ_DIR
cp -v $ROUTINO_LIB_XML_DIR/profiles.xml $BUILD_BUNDLE_RES_ROUTINO_DIR
cp -v $ROUTINO_LIB_XML_DIR/translations.xml $BUILD_BUNDLE_RES_ROUTINO_DIR
cp -v $ROUTINO_LIB_XML_DIR/tagging.xml $BUILD_BUNDLE_RES_ROUTINO_DIR
}
function copyExtTools {
# at least gdalbuildvrt is used
cp -v $GDAL_DIR/bin/* $BUILD_BUNDLE_RES_BIN_DIR
cp -v $PROJ_DIR/bin/proj $BUILD_BUNDLE_RES_BIN_DIR
cp -v $ROUTINO_LIB_LIB_DIR/planetsplitter $BUILD_BUNDLE_RES_BIN_DIR
# currently only used by QMapTool.
cp -v $BUILD_BIN_DIR/qmt_rgb2pct $BUILD_BUNDLE_RES_BIN_DIR
cp -v $BUILD_BIN_DIR/qmt_map2jnx $BUILD_BUNDLE_RES_BIN_DIR
}
function adjustLinkingExtTools {
for F in `find $BUILD_BUNDLE_RES_BIN_DIR -type f ! \( -name "*.py" \)`
do
adjustLinkQt $F "/usr/local/"
done
}
function printLinkingExtTools {
for F in `find $BUILD_BUNDLE_RES_BIN_DIR -type f ! \( -name "*.py" \)`
do
printLinking $F
done
}
function archiveBundle {
ARCHIVE=$(printf "%s/%s-MacOSX_%s.tar.gz" "$BUILD_RELEASE_DIR" "$APP_NAME" "$APP_VERSION")
echo $ARCHIVE
rm $ARCHIVE
cd $BUILD_RELEASE_DIR
tar -zcvf $ARCHIVE $APP_BUNDLE $APP_BUNDLE_QMAPTOOL
cd ..
}
if [[ "$1" == "bundle" ]]; then
echo "---extract version -----------------"
extractVersion
readRevisionHash
echo "---build bundle --------------------"
buildAppStructure
extendAppStructure
echo "---replace version string ----------"
updateInfoPlist
echo "---qt deploy tool ------------------"
qtDeploy
echo "---copy libraries ------------------"
copyAdditionalLibraries
echo "---copy external files -------------"
copyQtTrqnslations
copyExternalFiles
echo "---adjust linking ------------------"
adjustLinking
echo "---external tools ------------------"
copyExtTools
adjustLinkingExtTools
printLinkingExtTools
echo "------------------------------------"
# chmod a+x $BUILD_BUNDLE_DIR/Contents/Frameworks/*
fi
if [[ "$1" == "archive" ]]; then
extractVersion
archiveBundle
fi
|