linux's installer based on binary and data files (no parallel configuration anymore)

This commit is contained in:
filux 2015-11-20 20:09:39 +01:00
parent 405f327836
commit fcbf254a05
11 changed files with 100 additions and 192 deletions

View File

@ -338,12 +338,12 @@ IF(WANT_USE_SDL2)
ENDIF()
OPTION(WANT_DEV_OUTPATH "Use developer friendly output paths." OFF)
IF(UNIX AND "${CMAKE_SYSTEM_NAME}" MATCHES "^[A-Z][a-z]*BSD$")
SET(MEGAGLEST_FRIENDLY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/mk/bsd/")
ELSEIF(UNIX AND NOT APPLE)
IF(UNIX AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
SET(MEGAGLEST_FRIENDLY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/mk/linux/")
ELSEIF(UNIX AND APPLE)
SET(MEGAGLEST_FRIENDLY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/mk/macosx/")
ELSEIF(UNIX AND NOT APPLE)
SET(MEGAGLEST_FRIENDLY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/mk/other_unix/")
ELSE()
SET(MEGAGLEST_FRIENDLY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/data/glest_game/")
ENDIF()

@ -1 +1 @@
Subproject commit df0c16f14351fedc47c93bdde06bd527ba7502d0
Subproject commit ad32e03df80206332f3438b4008026faa3aac97e

View File

@ -45,9 +45,9 @@ PATHS
find_path(LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h
HINTS ${PC_LIBVLC_INCLUDEDIR} ${PC_LIBVLC_INCLUDE_DIRS})
if (NOT LIBVLC_FIND_QUIETLY)
if (WANT_USE_VLC AND NOT LIBVLC_FIND_QUIETLY)
message(STATUS "Found LibVLC include-dir path: [${LIBVLC_INCLUDE_DIR}]")
endif (NOT LIBVLC_FIND_QUIETLY)
endif ()
# dream on libvlc doesn't support static linking
set(LIBVLC_LIB_NAMES vlc libvlc)
@ -70,9 +70,9 @@ PATHS
)
find_library(LIBVLC_LIBRARY NAMES ${LIBVLC_LIB_NAMES})
if (NOT LIBVLC_FIND_QUIETLY)
if (WANT_USE_VLC AND NOT LIBVLC_FIND_QUIETLY)
message(STATUS "Found LibVLC library path: [${LIBVLC_LIBRARY}]")
endif (NOT LIBVLC_FIND_QUIETLY)
endif ()
find_library(LIBVLCCORE_LIBRARY NAMES ${LIBVLC_LIB_CORE_NAMES}
HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS}
@ -83,9 +83,9 @@ PATHS
)
find_library(LIBVLCCORE_LIBRARY NAMES ${LIBVLC_LIB_CORE_NAMES})
if (NOT LIBVLC_FIND_QUIETLY)
if (WANT_USE_VLC AND NOT LIBVLC_FIND_QUIETLY)
message(STATUS "Found LibVLCcore library path: [${LIBVLCCORE_LIBRARY}]")
endif (NOT LIBVLC_FIND_QUIETLY)
endif ()
set(LIBVLC_VERSION ${PC_LIBVLC_VERSION})
if (NOT LIBVLC_VERSION)

View File

@ -3,23 +3,25 @@
# ----------------------------------------------------------------------------
# Written by Mark Vejvoda <mark_vejvoda@hotmail.com>
# Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+
LANG=C
# set this to non 0 to skip building the binary
skipbinarybuild=0
if [ "$1" = "-CI" ]; then skipbinarybuild=1; fi
if [ "$1" = "-CI" ] || [ "$1" = "--installer" ]; then skipbinarybuild=1; fi
# Consider setting this for small packages if there's plenty of RAM and CPU available:
#export XZ_OPT="$XZ_OPT -9e"
if [ "$1" = "-CI" ] || [ "$1" = "--show-result-path" ]; then
if [ "$1" = "-CI" ] || [ "$1" = "--installer" ] || [ "$(echo "$1" | grep '\--show-result-path')" != "" ]; then
if [ "$2" != "" ]; then SOURCE_BRANCH="$2"; fi
fi
CURRENTDIR="$(dirname "$(readlink -f "$0")")"
cd "$CURRENTDIR"
VERSION=`./mg-version.sh --version`
kernel=`uname -s | tr '[A-Z]' '[a-z]'`
architecture=`uname -m | tr '[A-Z]' '[a-z]'`
CURRENTDIR="$(dirname $(readlink -f $0))"
RELEASEDIR_ROOT="$CURRENTDIR/../../../release/"
PROJDIR="$CURRENTDIR/"
REPODIR="$CURRENTDIR/../../"
@ -37,7 +39,8 @@ if [ "$SOURCE_BRANCH" != "" ] && [ "$SOURCE_BRANCH" != "master" ] && [ "$(echo "
RELEASENAME="$SNAPSHOTNAME"; PACKAGE="$SN_PACKAGE"
fi
RELEASEDIR="${RELEASEDIR_ROOT}/${RELEASENAME-$VERSION}"
if [ "$1" = "--show-result-path" ]; then echo "${RELEASEDIR_ROOT}/$PACKAGE"; exit 0; fi
if [ "$1" = "--show-result-path" ]; then echo "${RELEASEDIR_ROOT}/$PACKAGE"; exit 0
elif [ "$1" = "--show-result-path2" ]; then echo "${RELEASEDIR_ROOT}/$RELEASENAME"; exit 0; fi
echo "Creating binary package in $RELEASEDIR"
if [ "$SOURCE_BRANCH" != "" ]; then echo "Detected parameters for source repository: branch=[$SOURCE_BRANCH], commit=$SOURCE_COMMIT"; fi
@ -75,20 +78,21 @@ echo "copying binaries ..."
cp -r lib/* "$RELEASEDIR/lib"
cp {../shared/,}*.ico {../shared/,}*.ini "$RELEASEDIR/"
if [ -e "$RELEASEDIR/glest-dev.ini" ]; then rm -f "$RELEASEDIR/glest-dev.ini"; fi
cp *.bmp *.png *.xpm *.desktop "$RELEASEDIR/"
cp *.bmp *.png *.xpm "$RELEASEDIR/"
if [ "$1" != "--installer" ]; then cp *.desktop "$RELEASEDIR/"; fi
cp megaglest megaglest_editor megaglest_g3dviewer start_megaglest \
start_megaglest_mapeditor start_megaglest_g3dviewer \
start_megaglest_gameserver "$RELEASEDIR/"
cd "$CURRENTDIR/tools-for-standalone-client"
cp megaglest-configure-desktop.sh "$RELEASEDIR/"
if [ "$1" != "--installer" ]; then cp megaglest-configure-desktop.sh "$RELEASEDIR/"; fi
if [ "$(echo "$VERSION" | grep -v '\-dev$')" != "" ]; then
./prepare-mini-update.sh --only_script; sleep 0.5s
cp megaglest-mini-update.sh "$RELEASEDIR/"
if [ -e "megaglest-mini-update.sh" ]; then rm -f "megaglest-mini-update.sh"; fi
cd $CURRENTDIR
if [ -e "megaglest" ]; then
if [ -e "megaglest" ] && [ "$1" != "--installer" ]; then
ldd_log="$(echo "$VERSION - $kernel - $architecture - $(date +%F)")"
ldd_log="$(echo -e "$ldd_log\n\nmegaglest:\n$(ldd megaglest | awk '{print $1}')")"
if [ -e "megaglest_editor" ]; then
@ -99,17 +103,20 @@ if [ "$(echo "$VERSION" | grep -v '\-dev$')" != "" ]; then
fi
echo "$ldd_log" > "$RELEASEDIR/ldd-megaglest.log"
fi
echo "$(date -u)" > "$RELEASEDIR/build-time.log"
fi
mkdir -p "$RELEASEDIR/blender/"
cp "$CURRENTDIR/../../source/tools/glexemel/"*.py "$RELEASEDIR/blender/"
echo "creating $PACKAGE"
cd $CURRENTDIR
[[ -f "${RELEASEDIR_ROOT}/$PACKAGE" ]] && rm -f "${RELEASEDIR_ROOT}/$PACKAGE"
cd $RELEASEDIR
tar -cf - * | xz > ../$PACKAGE
cd $CURRENTDIR
if [ "$1" != "--installer" ]; then
echo "creating $PACKAGE"
cd $CURRENTDIR
[[ -f "${RELEASEDIR_ROOT}/$PACKAGE" ]] && rm -f "${RELEASEDIR_ROOT}/$PACKAGE"
cd $RELEASEDIR
tar -cf - * | xz > ../$PACKAGE
cd $CURRENTDIR
ls -la ${RELEASEDIR_ROOT}/$PACKAGE
fi
if [ "$1" = "-CI" ] && [ -d "$RELEASEDIR" ]; then rm -rf "$RELEASEDIR"; fi
ls -la ${RELEASEDIR_ROOT}/$PACKAGE

View File

@ -22,13 +22,15 @@ REPODIR="$CURRENTDIR/../../"
REPO_DATADIR="$REPODIR/data/glest_game"
if [ -f "$REPO_DATADIR/.git" ] && [ "$(which git 2>/dev/null)" != "" ]; then
cd "$REPO_DATADIR"
DATA_BRANCH="$(git branch | awk -F '* ' '/^* / {print $2}')"
DATA_BRANCH="$(git branch | grep '^* ' | awk '{print $2}')"
# on macos are problems with more advanced using awk ^
DATA_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")"
DATA_HASH=$(git log -1 --format=%H)
fi
if [ -d "$REPODIR/.git" ] && [ "$(which git 2>/dev/null)" != "" ]; then
cd "$REPODIR"
if [ "$SOURCE_BRANCH" = "" ]; then SOURCE_BRANCH="$(git branch | awk -F '* ' '/^* / {print $2}')"; fi
if [ "$SOURCE_BRANCH" = "" ]; then SOURCE_BRANCH="$(git branch | grep '^* ' | awk '{print $2}')"; fi
# on macos are problems with more advanced using awk ^
SOURCE_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")"
if [ "$DATA_HASH" = "" ]; then DATA_HASH=$(git submodule status "$REPO_DATADIR" | awk '{print $1}'); fi
fi
@ -44,9 +46,8 @@ PACKAGE="$RELEASENAME-$VERSION.$ARCHIVE_TYPE"
RELEASEDIR_ROOT="$CURRENTDIR/../../../release"
if [ "$classic_snapshot_for_tests" -eq "1" ]; then RELEASENAME="$SNAPSHOTNAME"; PACKAGE="$SN_PACKAGE"; fi
RELEASEDIR="${RELEASEDIR_ROOT}/${RELEASENAME-$VERSION}"
if [ "$1" = "--show-result-path" ]; then
if [ "$KERNEL" = "darwin" ]; then echo "$RELEASEDIR"; else echo "${RELEASEDIR_ROOT}/$PACKAGE"; fi; exit 0
fi
if [ "$1" = "--show-result-path" ]; then echo "${RELEASEDIR_ROOT}/$PACKAGE"; exit 0
elif [ "$1" = "--show-result-path2" ]; then echo "${RELEASEDIR_ROOT}/$RELEASENAME"; exit 0; fi
DATA_HASH_MEMORY="$RELEASEDIR_ROOT/data_memory"
DATA_HASH_FILE="$DATA_HASH_MEMORY/$VERSION-$SOURCE_BRANCH.log"
@ -59,7 +60,7 @@ cd "$CURRENTDIR"
if [ "$DATA_BRANCH" != "" ]; then echo "Detected parameters for data repository: branch=[$DATA_BRANCH], commit=$DATA_COMMIT"; fi
if [ "$SOURCE_BRANCH" != "" ]; then echo "Detected parameters for source repository: branch=[$SOURCE_BRANCH], commit=$SOURCE_COMMIT"; fi
if [ "$KERNEL" != "darwin" ]; then echo "Creating data package in $RELEASEDIR"; else echo "Creating data directory $RELEASEDIR"; fi
if [ "$1" != "--installer" ]; then echo "Creating data package in $RELEASEDIR"; else echo "Creating data directory $RELEASEDIR"; fi
[[ -d "$RELEASEDIR" ]] && rm -rf "$RELEASEDIR"
mkdir -p "$RELEASEDIR"
@ -109,7 +110,7 @@ cd "$CURRENTDIR"
# END
cd "$CURRENTDIR"
if [ "$KERNEL" != "darwin" ]; then
if [ "$1" != "--installer" ]; then
echo "creating data archive: $PACKAGE"
[[ -f "${RELEASEDIR_ROOT}/$PACKAGE" ]] && rm "${RELEASEDIR_ROOT}/$PACKAGE"
cd $RELEASEDIR
@ -121,6 +122,6 @@ if [ "$KERNEL" != "darwin" ]; then
fi
cd $CURRENTDIR
if [ "$1" = "-CI" ] && [ -d "$RELEASEDIR" ]; then rm -rf "$RELEASEDIR"; fi
ls -la ${RELEASEDIR_ROOT}/$PACKAGE
fi
if [ "$1" = "-CI" ] && [ -d "$RELEASEDIR" ]; then rm -rf "$RELEASEDIR"; fi

View File

@ -12,75 +12,36 @@
# To install the installer silently you may run it like this:
# ./megaglest-installer.run --noprompt --i-agree-to-all-licenses --destination /home/softcoder/megaglest-temp-test --noreadme --ui=stdio
# below is the branch to build and installer from.
# Consider setting this for small packages if there's plenty of RAM and CPU available:
#export XZ_OPT="$XZ_OPT -9e"
megaglest_release_folder=""
#megaglest_release_folder="trunk"
#megaglest_release_folder="release-3.3.5.1"
CURRENTDIR="$(dirname $(readlink -f $0))"
REPODIR="$CURRENTDIR/../../../../"
CURRENTDIR="$(dirname "$(readlink -f "$0")")"
cd "$CURRENTDIR"
# below describe various folder paths relative to the installer root folder
#megaglest_project_root=../../../../../
megaglest_project_root=../../../../
megaglest_data_path=${megaglest_project_root}${megaglest_release_folder}/data/glest_game/
megaglest_linux_path=${megaglest_project_root}${megaglest_release_folder}/mk/linux/
megaglest_shared_path=${megaglest_project_root}${megaglest_release_folder}/mk/shared/
megaglest_linux_masterserverpath=${megaglest_project_root}${megaglest_release_folder}/source/masterserver/
megaglest_linux_toolspath=${megaglest_project_root}${megaglest_release_folder}/source/tools/
megaglest_linux_path="$CURRENTDIR/../.."
BINARY_DIR="$($megaglest_linux_path/make-binary-archive.sh --show-result-path2)"
DATA_DIR="$($megaglest_linux_path/make-data-archive.sh --show-result-path2)"
VERSION=`$CURRENTDIR/${megaglest_linux_path}/mg-version.sh --version`
VERSION=`$megaglest_linux_path/mg-version.sh --version`
kernel=`uname -s | tr '[A-Z]' '[a-z]'`
architecture=`uname -m | tr '[A-Z]' '[a-z]'`
mg_installer_bin_name=MegaGlest-Installer-${VERSION}_${architecture}_${kernel}.run
#echo $mg_installer_bin_name
#exit 1
if which zip >/dev/null; then
echo Compression tool 'zip' exists
else
echo Compression tool 'zip' DOES NOT EXIST on this system, please install it
exit 1
if [ "$(which zip 2>/dev/null)" = "" ]; then
echo "Compression tool 'zip' DOES NOT EXIST on this system, please install it"; exit 1
fi
if which xz >/dev/null; then
echo Compression tool 'xz' exists
else
echo Compression tool 'xz' DOES NOT EXIST on this system, please install it
exit 1
if [ "$(which xz 2>/dev/null)" = "" ]; then
echo "Compression tool 'xz' DOES NOT EXIST on this system, please install it"; exit 1
fi
if which tar >/dev/null; then
echo Compression tool 'tar' exists
else
echo Compression tool 'tar' DOES NOT EXIST on this system, please install it
exit 1
if [ "$(which tar 2>/dev/null)" = "" ]; then
echo "Compression tool 'tar' DOES NOT EXIST on this system, please install it"; exit 1
fi
# Below is the name of the archive to create and tack onto the installer.
# *NOTE: The filename's extension is of critical importance as the installer
# does a patch on extension to figure out how to decompress!
#
# static const MojoArchiveType archives[] =
# {
# { "zip", MojoArchive_createZIP, true },
# { "tar", MojoArchive_createTAR, true },
# { "tar.gz", MojoArchive_createTAR, true },
# { "tar.bz2", MojoArchive_createTAR, true },
# { "tgz", MojoArchive_createTAR, true },
# { "tbz2", MojoArchive_createTAR, true },
# { "tb2", MojoArchive_createTAR, true },
# { "tbz", MojoArchive_createTAR, true },
# { "uz2", MojoArchive_createUZ2, false },
# { "pck", MojoArchive_createPCK, true },
# { "tar.xz", MojoArchive_createTAR, true },
# { "txz", MojoArchive_createTAR, true },
# };
#
#megaglest_archiver_app_data='tar -cf - * | xz > mgdata.tar.xz'
megaglest_archivefilename_data="mgdata.tar.xz"
@ -93,7 +54,7 @@ megaglest_archivefilename="mgpkg.zip"
# Grab the version #
#
echo "Linux project root path [$CURRENTDIR/${megaglest_linux_path}]"
echo "Linux project root path [$megaglest_linux_path]"
echo "About to build Installer for $VERSION"
# Stop if anything produces an error.
@ -118,8 +79,8 @@ APPNAME="MegaGlest Installer"
# dependencies from leaking in.
# You may not care about this at all. In which case, just use the
# CC=gcc and CXX=g++ lines instead.
CC=/usr/bin/gcc
CXX=/usr/bin/g++
CC="$( which gcc 2>/dev/null )"
CXX="$( which g++ 2>/dev/null )"
#CC=/opt/crosstool/gcc-3.3.6-glibc-2.3.5/i686-unknown-linux-gnu/i686-unknown-linux-gnu/bin/gcc
#CXX=/opt/crosstool/gcc-3.3.6-glibc-2.3.5/i686-unknown-linux-gnu/i686-unknown-linux-gnu/bin/g++
@ -160,6 +121,7 @@ else
fi
# Clean up previous run, build fresh dirs for Base Archive.
cd "$CURRENTDIR"
rm -rf image ${mg_installer_bin_name} ${megaglest_archivefilename}
mkdir image
mkdir image/guis
@ -169,94 +131,22 @@ mkdir image/meta
# This next section copies live data from the MegaGlest directories
if [ $REPACKONLY -eq 0 ]; then
rm -rf data
mkdir data
mkdir data/blender
INSTALL_ROOTDIR=$CURRENTDIR/
INSTALLDATADIR="${INSTALL_ROOTDIR}data/"
# Now copy all megaglest binaries
echo Copying live MegaGlest binary files...
cp "$CURRENTDIR/$megaglest_linux_path/start_megaglest" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_linux_path/megaglest" ${INSTALLDATADIR}
cp "$CURRENTDIR/$megaglest_linux_path/glest.ini" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_linux_path/megaglest.png" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_shared_path/glestkeys.ini" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_linux_path/start_megaglest_mapeditor" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_linux_path/megaglest_editor" ${INSTALLDATADIR}
cp "$CURRENTDIR/$megaglest_linux_path/start_megaglest_g3dviewer" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_linux_path/megaglest_g3dviewer" ${INSTALLDATADIR}
cp "$CURRENTDIR/$megaglest_shared_path/servers.ini" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_linux_path/makedeps_folder.sh" $INSTALL_ROOTDIR
if [ "$(echo "$VERSION" | grep -v '\-dev')" != "" ]; then
cd "$CURRENTDIR/$megaglest_linux_path/tools-for-standalone-client"
./prepare-mini-update.sh --only_script; sleep 0.5s
cp megaglest-mini-update.sh $INSTALLDATADIR
if [ -e "megaglest-mini-update.sh" ]; then rm -f "megaglest-mini-update.sh"; fi
fi
# Now copy all blender related files
echo Copying blender modelling MegaGlest files...
mkdir -p "${INSTALLDATADIR}blender/"
cp "$CURRENTDIR/$megaglest_linux_toolspath/glexemel/"*.py "${INSTALLDATADIR}blender/"
cd "$CURRENTDIR"
INSTALLDATADIR="data"
rm -rf $INSTALLDATADIR
mkdir $INSTALLDATADIR
# Now copy all glest data
echo Copying live MegaGlest data files...
echo Copying MegaGlest binary files...
$megaglest_linux_path/make-binary-archive.sh --installer
cd "$BINARY_DIR"
cp -r * "$CURRENTDIR/$INSTALLDATADIR"
cp "$CURRENTDIR/$megaglest_shared_path/megaglest.ico" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_linux_path/megaglest-uninstall.ico" $INSTALLDATADIR
cp "$CURRENTDIR/$megaglest_shared_path/g3dviewer.ico" ${INSTALLDATADIR}
cp "$CURRENTDIR/$megaglest_shared_path/editor.ico" ${INSTALLDATADIR}
echo Copying MegaGlest data files...
$megaglest_linux_path/make-data-archive.sh --installer
cd "$DATA_DIR"
cp -r * "$CURRENTDIR/$INSTALLDATADIR"
mkdir -p "$INSTALLDATADIR/data/"
cd "${INSTALLDATADIR}/data/"
git archive --remote ${REPODIR}/data/glest_game/ HEAD:data | tar x
cd "$CURRENTDIR"
mkdir -p "$INSTALLDATADIR/docs/"
cd "${INSTALLDATADIR}/docs/"
git archive --remote ${REPODIR}/data/glest_game/ HEAD:docs | tar x
git archive --remote ${REPODIR} HEAD:docs | tar x
cd "$CURRENTDIR"
mkdir -p "$INSTALLDATADIR/maps/"
cd "${INSTALLDATADIR}/maps/"
git archive --remote ${REPODIR}/data/glest_game/ HEAD:maps | tar x
cd "$CURRENTDIR"
mkdir -p "$INSTALLDATADIR/scenarios/"
cd "${INSTALLDATADIR}/scenarios/"
git archive --remote ${REPODIR}/data/glest_game/ HEAD:scenarios | tar x
cd "$CURRENTDIR"
mkdir -p "$INSTALLDATADIR/techs/"
cd "${INSTALLDATADIR}/techs/"
git archive --remote ${REPODIR}/data/glest_game/ HEAD:techs | tar x
cd "$CURRENTDIR"
mkdir -p "$INSTALLDATADIR/tilesets/"
cd "${INSTALLDATADIR}/tilesets/"
git archive --remote ${REPODIR}/data/glest_game/ HEAD:tilesets | tar x
cd "$CURRENTDIR"
mkdir -p "$INSTALLDATADIR/tutorials/"
cd "${INSTALLDATADIR}/tutorials/"
git archive --remote ${REPODIR}/data/glest_game/ HEAD:tutorials | tar x
cd "$CURRENTDIR"
# Copy shared lib dependencies for megaglest
cd data
copyGlestDeptsCmd="${INSTALL_ROOTDIR}makedeps_folder.sh megaglest"
$copyGlestDeptsCmd
if [ -e "${INSTALL_ROOTDIR}makedeps_folder.sh" ]; then rm -f "${INSTALL_ROOTDIR}makedeps_folder.sh"; fi
cd ..
cd "$CURRENTDIR"
fi
if [ ! -d data/docs ]; then
@ -271,6 +161,7 @@ fi
# Build MojoSetup binaries from scratch.
# YOU ALWAYS NEED THE LUA PARSER IF YOU WANT UNINSTALL SUPPORT!
#cd mojosetup
cd "$CURRENTDIR"
rm -rf cmake-build
mkdir cmake-build
cd cmake-build

View File

@ -12,11 +12,12 @@ skipbinarybuild=0
if [ "$1" = "-CI" ]; then skipbinarybuild=1; fi
CURRENTDIR="$(cd "$(dirname "$0")"; pwd)"
cd "$CURRENTDIR"
# Consider setting this for small packages if there's plenty of RAM and CPU available:
#export XZ_OPT="$XZ_OPT -9e"
if [ "$1" = "-CI" ] || [ "$1" = "-" ] || [ "$1" = "--show-result-path" ]; then
if [ "$1" = "-CI" ] || [ "$1" = "-" ] || [ "$(echo "$1" | grep '\--show-result-path')" != "" ]; then
if [ "$2" != "" ]; then SOURCE_BRANCH="$2"; fi
fi
@ -25,7 +26,8 @@ kernel="macos"
REPODIR="$CURRENTDIR/../../"
if [ -d "$REPODIR/.git" ] && [ "$(which git 2>/dev/null)" != "" ]; then
cd "$REPODIR"
if [ "$SOURCE_BRANCH" = "" ]; then SOURCE_BRANCH="$(git branch | awk -F '* ' '/^* / {print $2}')"; fi
if [ "$SOURCE_BRANCH" = "" ]; then SOURCE_BRANCH="$(git branch | grep '^* ' | awk '{print $2}')"; fi
# on macos are problems with more advanced using awk ^
SOURCE_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")"
fi
@ -40,7 +42,8 @@ if [ "$SOURCE_BRANCH" != "" ] && [ "$SOURCE_BRANCH" != "master" ] && [ "$(echo "
RELEASENAME="$SNAPSHOTNAME"; PACKAGE="$SN_PACKAGE"
fi
RELEASEDIR="${RELEASEDIR_ROOT}/${RELEASENAME-$VERSION}"
if [ "$1" = "--show-result-path" ]; then echo "${RELEASEDIR_ROOT}/$PACKAGE"; exit 0; fi
if [ "$1" = "--show-result-path" ]; then echo "${RELEASEDIR_ROOT}/$PACKAGE"; exit 0
elif [ "$1" = "--show-result-path2" ]; then echo "${RELEASEDIR_ROOT}/$RELEASENAME"; exit 0; fi
echo "Creating binary package in $RELEASEDIR"
if [ "$SOURCE_BRANCH" != "" ]; then echo "Detected parameters for source repository: branch=[$SOURCE_BRANCH], commit=$SOURCE_COMMIT"; fi
@ -79,15 +82,21 @@ else
fi
if [ -d "p7zip" ]; then cp -r p7zip "$RELEASEDIR"; fi
if [ -d "lib" ]; then cp -r lib "$RELEASEDIR"; fi
if [ "$(echo "$VERSION" | grep -v '\-dev$')" != "" ]; then
echo "$(date -u)" > "$RELEASEDIR/build-time.log"
fi
if [ "$1" != "--installer" ]; then
echo "creating $PACKAGE"
cd "$RELEASEDIR_ROOT"
if [ -f "$PACKAGE" ]; then rm "$PACKAGE"; fi
cd "$RELEASENAME"
tar -cf - * | bzip2 -9 > "../$PACKAGE"
cd "$CURRENTDIR"
ls -lhA "${RELEASEDIR_ROOT}/$PACKAGE"
fi
echo "creating $PACKAGE"
cd "$RELEASEDIR_ROOT"
if [ -f "$PACKAGE" ]; then rm "$PACKAGE"; fi
cd "$RELEASENAME"
tar -cf - * | bzip2 -9 > "../$PACKAGE"
cd "$CURRENTDIR"
if [ "$1" = "-CI" ] || [ "$1" = "-" ]; then
if [ -d "$RELEASEDIR" ]; then rm -rf "$RELEASEDIR"; fi
fi
ls -lhA "${RELEASEDIR_ROOT}/$PACKAGE"

View File

@ -16,8 +16,8 @@ PACKAGE="$RELEASENAME-$VERSION.zip"
PACKAGE2="$RELEASENAME-$VERSION.dmg"
RELEASEDIR_ROOT="$CURRENTDIR/../../../release"
RELEASEDIR="${RELEASEDIR_ROOT}/${RELEASENAME-$VERSION}"
BINARY_DIR="$(./make-binary-archive.sh --show-result-path)"
DATA_DIR="$(../linux/make-data-archive.sh --show-result-path)"
BINARY_DIR="$(./make-binary-archive.sh --show-result-path2)"
DATA_DIR="$(../linux/make-data-archive.sh --show-result-path2)"
APP_RES_DIR="$RELEASEDIR/MegaGlest.app/Contents/Resources"
APP_BIN_DIR="$RELEASEDIR/MegaGlest.app/Contents/MacOS"
APP_PLIST_DIR="$RELEASEDIR/MegaGlest.app/Contents"
@ -27,9 +27,9 @@ if [ -d "$RELEASEDIR" ]; then rm -rf "$RELEASEDIR"; fi
mkdir -p "$APP_GAME_DIR"
mkdir -p "$APP_BIN_DIR"
./make-binary-archive.sh
./make-binary-archive.sh --installer
cp -r "$BINARY_DIR/"* "$APP_GAME_DIR"
../linux/make-data-archive.sh
../linux/make-data-archive.sh --installer
cp -r "$DATA_DIR/"* "$APP_GAME_DIR"; sleep 0.5s
if [ -f "$APP_GAME_DIR/MegaGlest.sh" ]; then rm -f "$APP_GAME_DIR/MegaGlest.sh"; fi

View File

@ -215,12 +215,12 @@ IF(BUILD_MEGAGLEST)
ENDIF(APPLE)
ENDFOREACH(DIR)
# Force the version and date/time stamp file to be touched so the compile stamp is always right
# IF(UNIX)
# add_custom_command(OUTPUT mg.tmp
# COMMAND touch ${PROJECT_SOURCE_DIR}/source/glest_game/facilities/game_util.cpp)
# add_custom_target(run ALL DEPENDS mg.tmp)
# ENDIF()
# Force the git revision stamp (${GIT_COMMIT_COUNT}.${GIT_SHA1}) file to be touched so the compile stamp is always right
IF(UNIX AND GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git/")
add_custom_command(OUTPUT mg.tmp
COMMAND touch ${PROJECT_SOURCE_DIR}/source/glest_game/facilities/game_util.cpp)
add_custom_target(run ALL DEPENDS mg.tmp)
ENDIF()
IF(WIN32)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-subsystem,console -mconsole")

View File

@ -170,7 +170,7 @@ $me =~ s/^.+\///;
our $footer=$cfg->val( 'style', 'footer');
our $map_legend = $cfg->val('style', 'map_legend');
$footer =~ s/VAR_CREATED_BY/<I><A HREF=\"http:\/\/rupp.de\/glest\/\">$me<\/A><\/I> version <I>$version<\/I> using config-file <I>$cfg_file<\/I> on <I>$now_string<\/I> /;
$footer =~ s/VAR_CREATED_BY/<I><A HREF=\"http:\/\/rupp.de\/glest\/\">$me<\/A><\/I>, version: <I>$version<\/I>, using config-file: <I>$cfg_file<\/I>, on: <I>$now_string<\/I> /;
our $level_hp = $cfg->val('all', 'level_hp');

View File

@ -201,7 +201,7 @@ EOT
footer=<<EOT
<!-- start footer -->
This page was generated by VAR_CREATED_BY
This page was generated by: VAR_CREATED_BY
<br>
<div id="footer">