since now required dynamic libs from non standard locations will be added to the mac packages, #63

This commit is contained in:
filux 2015-06-04 23:26:50 +02:00
parent e818d5c1c0
commit f926285bf6
8 changed files with 47 additions and 14 deletions

@ -1 +1 @@
Subproject commit 29c128dbcd38d9b27bba88b06cec2ae263c995b1
Subproject commit 7e77df78222149d71d9502dcb4a221954405f7ce

View File

@ -8,6 +8,7 @@ core.bak
/p7zip/
/build/
/lib/
/[Rr]elease/
/[Dd]ebug/
/mydata/

View File

@ -45,14 +45,14 @@ SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/mk/macosx/bundle_resources/M
SET(CPACK_BUNDLE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/mk/macosx/bundle_resources/MegaGlest.icns")
SET(CPACK_BUNDLE_STARTUP_COMMAND "${PROJECT_SOURCE_DIR}/mk/macosx/bundle_resources/MegaGlest.sh")
# Install files in to the package (FIXME: how? we sure?)
INSTALL(FILES
${LUA_LIBRARIES}
DESTINATION ../Frameworks
)
# Install files in to the package
#INSTALL(FILES
# ${LUA_LIBRARIES}
# DESTINATION ../Frameworks
#)
#the SDL_LIBRARY is seen as a framework thus we need to remove the suffix...
STRING(REGEX REPLACE ";.*" "" SDL_LIBRARY_DIR "${SDL_LIBRARY}")
#STRING(REGEX REPLACE ";.*" "" SDL_LIBRARY_DIR "${SDL_LIBRARY}")
#INSTALL(DIRECTORY
# ${OGG_LIBRARY}

View File

@ -70,6 +70,21 @@ if [ ! -e ".p7zip.zip" ]; then
fi
if [ ! -d "p7zip" ]; then unzip .p7zip.zip >/dev/null; fi
if [ "$BUILD_BUNDLE" -eq "1" ]; then
if [ -e "megaglest" ] && [ "$(./megaglest --version >/dev/null; echo "$?")" -eq "0" ]; then
if [ -d "lib" ]; then rm -rf "lib"; fi
mkdir -p "lib"
list_of_libs="$(otool -L megaglest | grep -v '/System/Library/Frameworks/' | grep -v '/usr/lib/' | awk '{print $1}')"
for dyn_lib in $list_of_libs; do
cp "$dyn_lib" "lib/"
done
else
echo 'Error: Please run first at least once build-mg.sh script to be ready for prepare directory with dynamic libraries.'
# strange method but required for cpack/.dmg
exit 1
fi
fi
# Google breakpad integration (cross platform memory dumps) - OPTIONAL
# Set this to the root path of your Google breakpad subversion working copy.
# By default, this script looks for a "google-breakpad" sub-directory within

View File

@ -5,8 +5,14 @@
export LANG=C
SCRIPTDIR="$(cd "$(dirname "$0")"; pwd)"
export DYLD_LIBRARY_PATH="$SCRIPTDIR/../FRAMEWORKS"
export PATH="$SCRIPTDIR/../Resources/megaglest-game:$PATH"
if [ -d "$SCRIPTDIR/lib" ]; then
export DYLD_LIBRARY_PATH="$SCRIPTDIR/lib"
binary_dir_path="$SCRIPTDIR"
else
export DYLD_LIBRARY_PATH="$SCRIPTDIR/../Frameworks"
binary_dir_path="$SCRIPTDIR/../Resources/megaglest-game"
fi
export PATH="$binary_dir_path:$PATH"
exec "$SCRIPTDIR/../Resources/megaglest-game/megaglest"
exec "$binary_dir_path/megaglest"
exit "$?"

View File

@ -44,7 +44,8 @@ if [ -e "$RELEASEDIR/glest.ico" ]; then rm "$RELEASEDIR/glest.ico"; fi
#cp bundle_resources/*.icns "$RELEASEDIR"
cp {../shared/,}*.ini "$RELEASEDIR"
if [ -e "$RELEASEDIR/glest-dev.ini" ]; then rm "$RELEASEDIR/glest-dev.ini"; fi
cp megaglest "$RELEASEDIR"
cp megaglest bundle_resources/MegaGlest.sh "$RELEASEDIR"
if [ -e "megaglest_editor" ]; then
cp megaglest_editor "$RELEASEDIR"
else
@ -56,6 +57,7 @@ else
if [ -e "$RELEASEDIR/g3dviewer.ico" ]; then rm "$RELEASEDIR/g3dviewer.ico"; fi
fi
if [ -d "p7zip" ]; then cp -r p7zip "$RELEASEDIR"; fi
if [ -d "lib" ]; then cp -r lib "$RELEASEDIR"; fi
echo "creating $PACKAGE"
cd "$RELEASEDIR_ROOT"

View File

@ -30,22 +30,26 @@ mkdir -p "$APP_BIN_DIR"
./make-binary-archive.sh
cp -r "$RELEASEDIR_ROOT/$BINARY_DIR/"* "$APP_GAME_DIR"
../linux/make-data-archive.sh
cp -r "$RELEASEDIR_ROOT/$DATA_DIR/"* "$APP_GAME_DIR"
cp -r "$RELEASEDIR_ROOT/$DATA_DIR/"* "$APP_GAME_DIR"; sleep 0.5s
if [ -f "$APP_GAME_DIR/MegaGlest.sh" ]; then rm -f "$APP_GAME_DIR/MegaGlest.sh"; fi
cp "$CURRENTDIR/build/mk/macosx/bundle_resources/Info.plist" "$APP_PLIST_DIR"
cp "$CURRENTDIR/bundle_resources/MegaGlest.icns" "$APP_RES_DIR"
cp "$CURRENTDIR/bundle_resources/MegaGlest.sh" "$APP_BIN_DIR"
mv "$APP_BIN_DIR/MegaGlest.sh" "$APP_BIN_DIR/MegaGlest"
mv "$APP_GAME_DIR/lib" "$APP_GAME_DIR/Frameworks"; sleep 0.5s
mv "$APP_GAME_DIR/Frameworks" "$APP_PLIST_DIR/"
echo "creating $PACKAGE"
cd "$RELEASEDIR_ROOT"
if [ -f "$PACKAGE" ]; then rm "$PACKAGE"; fi
if [ -f "$PACKAGE" ]; then rm -f "$PACKAGE"; fi
cd "$RELEASENAME"
zip -9r "../$PACKAGE" "MegaGlest.app" >/dev/null
ls -lhA "${RELEASEDIR_ROOT}/$PACKAGE"
echo "creating $PACKAGE2"
cd "$CURRENTDIR/build"
if [ -f "$RELEASEDIR_ROOT/$PACKAGE2" ]; then rm "$RELEASEDIR_ROOT/$PACKAGE2"; fi
if [ -f "$RELEASEDIR_ROOT/$PACKAGE2" ]; then rm -f "$RELEASEDIR_ROOT/$PACKAGE2"; fi
cpack
mv -f MegaGlest*.dmg "$RELEASEDIR_ROOT"
ls -lhA "${RELEASEDIR_ROOT}/$PACKAGE2"

View File

@ -322,6 +322,11 @@ IF(BUILD_MEGAGLEST)
"${PROJECT_SOURCE_DIR}/mk/macosx/p7zip"
DESTINATION ${MEGAGLEST_DATA_INSTALL_PATH})
ENDIF()
IF(SINGLE_INSTALL_DIRECTORY AND EXISTS "${PROJECT_SOURCE_DIR}/mk/macosx/lib/")
INSTALL(DIRECTORY
"${PROJECT_SOURCE_DIR}/mk/macosx/lib/"
DESTINATION "${MEGAGLEST_DATA_INSTALL_PATH}/../../Frameworks/")
ENDIF()
ENDIF()
# Installation of data files from outside normal data folder