diff --git a/CMakeLists.txt b/CMakeLists.txt index 55bf1adb..f86f5f14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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() diff --git a/data/glest_game b/data/glest_game index df0c16f1..ad32e03d 160000 --- a/data/glest_game +++ b/data/glest_game @@ -1 +1 @@ -Subproject commit df0c16f14351fedc47c93bdde06bd527ba7502d0 +Subproject commit ad32e03df80206332f3438b4008026faa3aac97e diff --git a/mk/cmake/Modules/FindLIBVLC.cmake b/mk/cmake/Modules/FindLIBVLC.cmake index 7979cfc3..756c579a 100644 --- a/mk/cmake/Modules/FindLIBVLC.cmake +++ b/mk/cmake/Modules/FindLIBVLC.cmake @@ -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) diff --git a/mk/linux/make-binary-archive.sh b/mk/linux/make-binary-archive.sh index bae23cb4..bd3ec39a 100755 --- a/mk/linux/make-binary-archive.sh +++ b/mk/linux/make-binary-archive.sh @@ -3,23 +3,25 @@ # ---------------------------------------------------------------------------- # Written by Mark Vejvoda # 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 diff --git a/mk/linux/make-data-archive.sh b/mk/linux/make-data-archive.sh index 77bf3206..eae9aaf2 100755 --- a/mk/linux/make-data-archive.sh +++ b/mk/linux/make-data-archive.sh @@ -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 diff --git a/mk/linux/tools-for-standalone-client/installer/make.sh b/mk/linux/tools-for-standalone-client/installer/make.sh index 32a510b1..36502c5c 100755 --- a/mk/linux/tools-for-standalone-client/installer/make.sh +++ b/mk/linux/tools-for-standalone-client/installer/make.sh @@ -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 diff --git a/mk/macosx/make-binary-archive.sh b/mk/macosx/make-binary-archive.sh index 2b9e3bf1..dfff468b 100755 --- a/mk/macosx/make-binary-archive.sh +++ b/mk/macosx/make-binary-archive.sh @@ -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" diff --git a/mk/macosx/make-release-archives.sh b/mk/macosx/make-release-archives.sh index 11f6cd7e..5746aaee 100755 --- a/mk/macosx/make-release-archives.sh +++ b/mk/macosx/make-release-archives.sh @@ -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 diff --git a/source/glest_game/CMakeLists.txt b/source/glest_game/CMakeLists.txt index 7e21783c..515202be 100644 --- a/source/glest_game/CMakeLists.txt +++ b/source/glest_game/CMakeLists.txt @@ -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") diff --git a/source/tools/convert_faction_xml2html/convert_faction_xml2html.pl b/source/tools/convert_faction_xml2html/convert_faction_xml2html.pl index c4422ac8..70449b1b 100755 --- a/source/tools/convert_faction_xml2html/convert_faction_xml2html.pl +++ b/source/tools/convert_faction_xml2html/convert_faction_xml2html.pl @@ -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/$me<\/A><\/I> version $version<\/I> using config-file $cfg_file<\/I> on $now_string<\/I> /; +$footer =~ s/VAR_CREATED_BY/$me<\/A><\/I>, version: $version<\/I>, using config-file: $cfg_file<\/I>, on: $now_string<\/I> /; our $level_hp = $cfg->val('all', 'level_hp'); diff --git a/source/tools/convert_faction_xml2html/megapack.ini b/source/tools/convert_faction_xml2html/megapack.ini index 2563febc..3ee56411 100644 --- a/source/tools/convert_faction_xml2html/megapack.ini +++ b/source/tools/convert_faction_xml2html/megapack.ini @@ -201,7 +201,7 @@ EOT footer=< -This page was generated by VAR_CREATED_BY +This page was generated by: VAR_CREATED_BY