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
|
#!/bin/bash
# this is a script shell for setting up the application DMG for MacOS.
# Requires a properly built and deployed meshlab (requires to run the
# macos_deploy.sh script first).
#
# Without given arguments, meshlab.app will be looked for in meshlab/distrib
# folder. MeshLab DMG will be placed in the same directory of meshlab.app.
#
# You can give as argument the DISTRIB_PATH containing meshlab.app.
#realpath function
realpath() {
[[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
}
#checking for parameters
if [ "$#" -eq 0 ]
then
DISTRIB_PATH="../../distrib"
else
DISTRIB_PATH=$( realpath $1 )
fi
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
cd $DIR #move to script directory
DISTRIB_PATH=$( realpath $DISTRIB_PATH)
if ! [ -e $DISTRIB_PATH/meshlab.app -a -d $DISTRIB_PATH/meshlab.app ]
then
echo "Started in the wrong dir: I have not found the meshlab.app"
exit -1
fi
SOURCE_PATH=$DIR/../../src
# final step create the dmg using appdmg
# appdmg is installed with 'npm install -g appdmg'",
sed "s%DISTRIB_PATH%$DISTRIB_PATH%g" resources/meshlab_dmg_latest.json > resources/meshlab_dmg_final.json
sed -i '' "s%SOURCE_PATH%$SOURCE_PATH%g" resources/meshlab_dmg_final.json
rm -f $DISTRIB_PATH/*.dmg
echo "Running appdmg"
appdmg resources/meshlab_dmg_final.json $DISTRIB_PATH/MeshLab$(cat ../../ML_VERSION).dmg
#at this point, distrib folder contains a DMG MeshLab file
echo "distrib folder now contains a DMG file"
|