diff --git a/setup/MacOSX/bundle_install.sh.in b/setup/MacOSX/bundle_install.sh.in index 5987f6db..eb3ab9a0 100755 --- a/setup/MacOSX/bundle_install.sh.in +++ b/setup/MacOSX/bundle_install.sh.in @@ -13,6 +13,13 @@ BUNDLE_NAME="@MACOSX_BUNDLE_NAME@" APP_NAME="@MACOSX_BINARY_NAME@" DYNLIB_PATHS=(@MACOSX_DYNAMIC_LIBRARIES@) +VERSION_STRING=$(git describe) +VERSION_STRING="${VERSION_STRING//-/_}" +VERSION_STRING="${VERSION_STRING//./_}" +VERSION_STRING="${VERSION_STRING%_*}" + +PACKAGE_DIR=${BUNDLE_NAME}_${VERSION_STRING} + QT_DIR="@MACOSX_QT_DIR@" QT_FRAMEWORK_PATHS=(/Users/ebsi/Documents/Qt/5.5/clang_64/lib/QtDBus.framework/Versions/5/QtDBus @MACOSX_QT_FRAMEWORKS@) @@ -28,7 +35,14 @@ then exit 1 fi -BUNDLE_PATH=$BUNDLE_NAME.app +if [ -d "$PACKAGE_DIR" ] +then + echo -e $INFO "Removing old package." + rm -rf $PACKAGE_DIR + rm ${PACKAGE_DIR}.dmg +fi + +BUNDLE_PATH=$PACKAGE_DIR/$BUNDLE_NAME.app BIN_DIR=$BUNDLE_PATH/Contents/MacOS DYNLIB_DIR=$BUNDLE_PATH/Contents/lib PLUGIN_DIR=$BUNDLE_PATH/Contents/PlugIns/platforms @@ -36,12 +50,6 @@ FRAMEWORK_DIR=$BUNDLE_PATH/Contents/Frameworks RES_DIR=$BUNDLE_PATH/Contents/Resources APP_PATH=$BIN_DIR/$APP_NAME -if [ -d "$BUNDLE_PATH" ] -then - echo -e $INFO "Removing old bundle." - rm -rf $BUNDLE_PATH -fi - echo -e $INFO "Creating bundle folders." mkdir -p $BIN_DIR mkdir -p $DYNLIB_DIR @@ -49,12 +57,38 @@ mkdir -p $PLUGIN_DIR mkdir -p $FRAMEWORK_DIR mkdir -p $RES_DIR +echo -e $INFO "Copying top level contents." +cp ../../../web/coati_manual.pdf $PACKAGE_DIR/coati_manual.pdf + +mkdir -p $PACKAGE_DIR/plugins/visual_studio/ +cp -r ../../../ide_plugins/vs/coati_plugin_vs_2012.vsix $PACKAGE_DIR/plugins/visual_studio/ +cp -r ../../../ide_plugins/vs/coati_plugin_vs_2013.vsix $PACKAGE_DIR/plugins/visual_studio/ +cp -r ../../../ide_plugins/vs/coati_plugin_vs_2015.vsix $PACKAGE_DIR/plugins/visual_studio/ + +cp -R ../../../ide_plugins/sublime_text $PACKAGE_DIR/plugins/sublime_text/ + +ln -s /Applications $PACKAGE_DIR/Applications echo -e $INFO "Copying bundle contents." cp $APP_NAME $APP_PATH cp bundle_info.plist $BUNDLE_PATH/Contents/Info.plist -cp -R ../data $RES_DIR/data -rm $RES_DIR/data/log/* + +mkdir -p $RES_DIR/data +mkdir -p $RES_DIR/data/log +mkdir -p $RES_DIR/data/projects + +cp -R ../data/color_schemes $RES_DIR/data/color_schemes +cp -R ../data/fonts $RES_DIR/data/fonts +cp -R ../data/gui $RES_DIR/data/gui + +cp -R ../data/projects/tictactoe $RES_DIR/data/projects/tictactoe +cp -R ../data/projects/tutorial $RES_DIR/data/projects/tutorial + +rm $RES_DIR/data/projects/tictactoe/tictactoe.sqlite +rm $RES_DIR/data/projects/tutorial/tutorial.sqlite + +cp ../data/window_settings.ini $RES_DIR/data/window_settings.ini +cp ../data/ApplicationSettings_for_package.xml $RES_DIR/data/ApplicationSettings.xml echo -e $INFO "Copying dynamic libraries." for LIB_PATH in ${DYNLIB_PATHS[@]} @@ -143,4 +177,11 @@ convert $ICON -resize 1024x1024 $ICON_SET/icon_512x512@2x.png iconutil -c icns -o $RES_DIR/icon.icns $ICON_SET +echo -e $INFO "Obfuscate binary" +upx -1 $APP_PATH +# upx --best $APP_PATH + +echo -e $INFO "create DMG" +hdiutil create ${PACKAGE_DIR}.dmg -volname ${PACKAGE_DIR} -srcfolder ${PACKAGE_DIR} + echo -e $SUCCESS "Installed bundle successfully!"