diff --git a/data/glest_game b/data/glest_game index 33ce71e2..3f8657d7 160000 --- a/data/glest_game +++ b/data/glest_game @@ -1 +1 @@ -Subproject commit 33ce71e245cece77f2815b007622302c3171c90a +Subproject commit 3f8657d76fcda3a44411752c1cec1a575d119d7b diff --git a/mk/cmake/Modules/FindCURL.cmake b/mk/cmake/Modules/FindCURL.cmake index ce1b3742..c324f9ba 100644 --- a/mk/cmake/Modules/FindCURL.cmake +++ b/mk/cmake/Modules/FindCURL.cmake @@ -25,50 +25,47 @@ INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL DEFAULT_MSG CURL_LIBRARY CURL_INCLUDE_DIR) IF(CURL_FOUND) + SET(CURL_LIBRARIES ${CURL_LIBRARY}) + SET(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) - SET(CURL_LIBRARIES ${CURL_LIBRARY}) - SET(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) + # IF we are using a system that supports curl-config use it + # and force using static libs + IF(UNIX AND NOT APPLE) + FIND_PROGRAM( CMAKE_CURL_CONFIG curl-config) + MARK_AS_ADVANCED(CMAKE_CURL_CONFIG) - # IF we are using a system that supports curl-config use it - # and force using static libs - IF(UNIX AND NOT APPLE) - FIND_PROGRAM( CMAKE_CURL_CONFIG curl-config) - MARK_AS_ADVANCED(CMAKE_CURL_CONFIG) + IF(CMAKE_CURL_CONFIG) + OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF) + OPTION(FORCE_CURL_DYNAMIC_LIBS "force the use of dynamic libs for CURL" OFF) + MESSAGE(STATUS "Force Curl dynamic: ${FORCE_CURL_DYNAMIC_LIBS}") - IF(CMAKE_CURL_CONFIG) - OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF) - OPTION(FORCE_CURL_DYNAMIC_LIBS "force the use of dynamic libs for CURL" OFF) - MESSAGE(STATUS "Force Curl dynamic: ${FORCE_CURL_DYNAMIC_LIBS}") + IF(WANT_STATIC_LIBS AND NOT FORCE_CURL_DYNAMIC_LIBS) + # run the curl-config program to get --static-libs + EXEC_PROGRAM(sh + ARGS "${CMAKE_CURL_CONFIG} --static-libs" + OUTPUT_VARIABLE CURL_STATIC_LIBS + RETURN_VALUE RET) - IF(WANT_STATIC_LIBS AND NOT FORCE_CURL_DYNAMIC_LIBS) - # run the curl-config program to get --static-libs - EXEC_PROGRAM(sh - ARGS "${CMAKE_CURL_CONFIG} --static-libs" - OUTPUT_VARIABLE CURL_STATIC_LIBS - RETURN_VALUE RET) + MESSAGE(STATUS "CURL RET = ${RET} libs: [${CURL_STATIC_LIBS}]") + ELSE() + SET(RET 1) + ENDIF() - MESSAGE(STATUS "CURL RET = ${RET} libs: [${CURL_STATIC_LIBS}]") - ELSE() - SET(RET 1) - ENDIF() + IF(RET EQUAL 0 AND CURL_STATIC_LIBS) + MESSAGE(STATUS "#2 CURL RET = ${RET}, using CURL static libs") + SET(CURL_LIBRARIES "-Bstatic ${CURL_STATIC_LIBS}") + ELSE() + EXEC_PROGRAM(sh + ARGS "${CMAKE_CURL_CONFIG} --libs" + OUTPUT_VARIABLE CURL_STATIC_LIBS + RETURN_VALUE RET) - IF(RET EQUAL 0 AND CURL_STATIC_LIBS) - MESSAGE(STATUS "USING CURL STATIC LIBS: ${CURL_STATIC_LIBS}") - SET(CURL_LIBRARIES "-Bstatic ${CURL_STATIC_LIBS}") - ELSE() - - EXEC_PROGRAM(sh - ARGS "${CMAKE_CURL_CONFIG} --libs" - OUTPUT_VARIABLE CURL_STATIC_LIBS - RETURN_VALUE RET) - - MESSAGE(STATUS "#2 CURL RET = ${RET} using CURL dynamic libs: ${CURL_STATIC_LIBS}") - SET(CURL_LIBRARIES "${CURL_STATIC_LIBS}") - - ENDIF() + MESSAGE(STATUS "#2 CURL RET = ${RET}, using CURL dynamic libs: ${CURL_STATIC_LIBS}") + SET(CURL_LIBRARIES "${CURL_STATIC_LIBS}") + ENDIF() + ENDIF() ENDIF() -ENDIF() ELSE(CURL_FOUND) - SET(CURL_LIBRARIES) - SET(CURL_INCLUDE_DIRS) + SET(CURL_LIBRARIES) + SET(CURL_INCLUDE_DIRS) ENDIF(CURL_FOUND) diff --git a/mk/cmake/Modules/FindCppUnit.cmake b/mk/cmake/Modules/FindCppUnit.cmake index e7dd9593..8bb054f9 100644 --- a/mk/cmake/Modules/FindCppUnit.cmake +++ b/mk/cmake/Modules/FindCppUnit.cmake @@ -15,81 +15,76 @@ set (_cppunit_DEBUG false) # If CPPUNIT_ROOT was defined in the environment, use it. if (NOT CPPUNIT_ROOT AND NOT $ENV{CPPUNIT_ROOT} STREQUAL "") - set(CPPUNIT_ROOT $ENV{CPPUNIT_ROOT}) -endif(NOT CPPUNIT_ROOT AND NOT $ENV{CPPUNIT_ROOT} STREQUAL "") + set(CPPUNIT_ROOT $ENV{CPPUNIT_ROOT}) +endif() # If CPPUNIT_INCLUDEDIR was defined in the environment, use it. if( NOT $ENV{CPPUNIT_INCLUDEDIR} STREQUAL "" ) - set(CPPUNIT_INCLUDEDIR $ENV{CPPUNIT_INCLUDEDIR}) -endif( NOT $ENV{CPPUNIT_INCLUDEDIR} STREQUAL "" ) + set(CPPUNIT_INCLUDEDIR $ENV{CPPUNIT_INCLUDEDIR}) +endif() # If CPPUNIT_LIBRARYDIR was defined in the environment, use it. if( NOT $ENV{CPPUNIT_LIBRARYDIR} STREQUAL "" ) - set(CPPUNIT_LIBRARYDIR $ENV{CPPUNIT_LIBRARYDIR}) -endif( NOT $ENV{CPPUNIT_LIBRARYDIR} STREQUAL "" ) + set(CPPUNIT_LIBRARYDIR $ENV{CPPUNIT_LIBRARYDIR}) +endif() if( CPPUNIT_ROOT ) - set(_cppunit_INCLUDE_SEARCH_DIRS - ${CPPUNIT_ROOT}/include ) - set(_cppunit_LIBRARY_SEARCH_DIRS - ${CPPUNIT_ROOT}/lib ) -endif( CPPUNIT_ROOT ) + set(_cppunit_INCLUDE_SEARCH_DIRS + ${CPPUNIT_ROOT}/include ) + set(_cppunit_LIBRARY_SEARCH_DIRS + ${CPPUNIT_ROOT}/lib ) +endif() if( CPPUNIT_INCLUDEDIR ) - file(TO_CMAKE_PATH ${CPPUNIT_INCLUDEDIR} CPPUNIT_INCLUDEDIR) - SET(_cppunit_INCLUDE_SEARCH_DIRS - ${CPPUNIT_INCLUDEDIR} ) -endif( CPPUNIT_INCLUDEDIR ) + file(TO_CMAKE_PATH ${CPPUNIT_INCLUDEDIR} CPPUNIT_INCLUDEDIR) + SET(_cppunit_INCLUDE_SEARCH_DIRS + ${CPPUNIT_INCLUDEDIR} ) +endif() if( CPPUNIT_LIBRARYDIR ) - file(TO_CMAKE_PATH ${CPPUNIT_LIBRARYDIR} CPPUNIT_LIBRARYDIR) - SET(_cppunit_LIBRARY_SEARCH_DIRS - ${CPPUNIT_LIBRARYDIR} ) -endif( CPPUNIT_LIBRARYDIR ) - -# now find CPPUNIT_INCLUDE_DIR + file(TO_CMAKE_PATH ${CPPUNIT_LIBRARYDIR} CPPUNIT_LIBRARYDIR) + SET(_cppunit_LIBRARY_SEARCH_DIRS + ${CPPUNIT_LIBRARYDIR} ) +endif() if ( _cppunit_DEBUG) message(STATUS "search include dirs for cppunit = ${_cppunit_INCLUDE_SEARCH_DIRS}") -endif ( _cppunit_DEBUG) +endif () -find_path(CPPUNIT_INCLUDE_DIR - NAMES cppunit/Test.h - HINTS ${_cppunit_INCLUDE_SEARCH_DIRS}) +# now find CPPUNIT_INCLUDE_DIR +find_path(CPPUNIT_INCLUDE_DIR + NAMES cppunit/Test.h + HINTS ${_cppunit_INCLUDE_SEARCH_DIRS}) if ( _cppunit_DEBUG) - message(STATUS "include dir for cppunit = ${CPPUNIT_INCLUDE_DIR}") -endif ( _cppunit_DEBUG) + message(STATUS "include dir for cppunit = ${CPPUNIT_INCLUDE_DIR}") + message(STATUS "search library dirs for cppunit = ${_cppunit_LIBRARY_SEARCH_DIRS}") +endif () # now find CPPUNIT_LIBRARY +find_library(CPPUNIT_LIBRARY + NAMES cppunit + HINTS ${_cppunit_LIBRARY_SEARCH_DIRS}) if ( _cppunit_DEBUG) - message(STATUS "search library dirs for cppunit = ${_cppunit_LIBRARY_SEARCH_DIRS}") -endif ( _cppunit_DEBUG) - -find_library(CPPUNIT_LIBRARY - NAMES cppunit - HINTS ${_cppunit_LIBRARY_SEARCH_DIRS}) - -if ( _cppunit_DEBUG) - message(STATUS "library dir for cppunit = ${CPPUNIT_LIBRARY}") -endif ( _cppunit_DEBUG) + message(STATUS "library dir for cppunit = ${CPPUNIT_LIBRARY}") +endif () if (CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARY) - SET(CPPUNIT_FOUND TRUE) -endif (CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARY) + SET(CPPUNIT_FOUND TRUE) +endif () if (CPPUNIT_FOUND) - # show which CppUnit was found only if not quiet - if (NOT CppUnit_FIND_QUIETLY) - message(STATUS "Found CppUnit: ${CPPUNIT_LIBRARY}") - endif (NOT CppUnit_FIND_QUIETLY) -else (CPPUNIT_FOUND) - # fatal error if CppUnit is required but not found - if (CppUnit_FIND_REQUIRED) - message(FATAL_ERROR "Could not find CppUnit") - endif (CppUnit_FIND_REQUIRED) -endif (CPPUNIT_FOUND) + # show which CppUnit was found only if not quiet + if (NOT CppUnit_FIND_QUIETLY) + #message(STATUS "Found CppUnit: ${CPPUNIT_LIBRARY}") + endif () +else () + # fatal error if CppUnit is required but not found + if (CppUnit_FIND_REQUIRED) + message(FATAL_ERROR "Could not find CppUnit") + endif () +endif () include(FindPackageHandleStandardArgs) find_package_handle_standard_args(CPPUNIT DEFAULT_MSG CPPUNIT_LIBRARY CPPUNIT_INCLUDE_DIR) diff --git a/mk/cmake/Modules/FindFriBiDi.cmake b/mk/cmake/Modules/FindFriBiDi.cmake index d4a1e51a..5c8ae4ae 100644 --- a/mk/cmake/Modules/FindFriBiDi.cmake +++ b/mk/cmake/Modules/FindFriBiDi.cmake @@ -33,7 +33,7 @@ IF(WANT_STATIC_LIBS) SET(FRIBIDI_NAMES fribidi.a libfribidi.a ${FRIBIDI_NAMES}) ENDIF() -MESSAGE(STATUS "** Searching for library names: [${FRIBIDI_NAMES}] ...") +#MESSAGE(STATUS "** Searching for library names: [${FRIBIDI_NAMES}] ...") FIND_LIBRARY(FRIBIDI_LIBRARY NAMES ${FRIBIDI_NAMES} diff --git a/mk/cmake/Modules/FindLUA.cmake b/mk/cmake/Modules/FindLUA.cmake index 7f59e62a..1941f9d5 100644 --- a/mk/cmake/Modules/FindLUA.cmake +++ b/mk/cmake/Modules/FindLUA.cmake @@ -18,59 +18,68 @@ IF(LUA_INCLUDE_DIR AND LUA_LIBRARIES) #SET(LUA_FIND_QUIETLY TRUE) ENDIF(LUA_INCLUDE_DIR AND LUA_LIBRARIES) -IF(FORCE_LUA_5_2) - MESSAGE(STATUS "Trying to FORCE LUA 5.2 ...") +IF(FORCE_LUA_5_3) + MESSAGE(STATUS "Trying to FORCE LUA 5.3 ...") - SET(LUA_FIND_INCLUDE_PATHS /usr/include/lua5.2 - /usr/include - /usr/include/lua ) - SET(LUA_FIND_STATIC_LIB_NAMES liblua5.2.a lua5.2 liblua.a lua ) - SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.2 lua ) + SET(LUA_FIND_INCLUDE_PATHS /usr/include/lua5.3 + /usr/include/lua + /usr/include ) + SET(LUA_FIND_STATIC_LIB_NAMES liblua5.3.a lua5.3 liblua.a lua ) + SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.3 lua ) + +ELSEIF(FORCE_LUA_5_2) + MESSAGE(STATUS "Trying to FORCE LUA 5.2 ...") + + SET(LUA_FIND_INCLUDE_PATHS /usr/include/lua5.2 + /usr/include/lua + /usr/include ) + SET(LUA_FIND_STATIC_LIB_NAMES liblua5.2.a lua5.2 liblua.a lua ) + SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.2 lua ) ELSEIF(FORCE_LUA_5_1) MESSAGE(STATUS "Trying to FORCE LUA 5.1 ...") - SET(LUA_FIND_INCLUDE_PATHS /usr/include/lua5.1 - /usr/include - /usr/include/lua ) - SET(LUA_FIND_STATIC_LIB_NAMES liblua5.1.a lua5.1 liblua.a lua ) - SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.1 lua ) + SET(LUA_FIND_INCLUDE_PATHS /usr/include/lua5.1 + /usr/include/lua + /usr/include ) + SET(LUA_FIND_STATIC_LIB_NAMES liblua5.1.a lua5.1 liblua.a lua ) + SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.1 lua ) ELSE() - SET(LUA_FIND_INCLUDE_PATHS /usr/include - /usr/include/lua5.2 - /usr/include/lua - /usr/include/lua5.1 ) - SET(LUA_FIND_STATIC_LIB_NAMES liblua5.2.a liblua.a liblua5.1.a lua5.2 lua lua5.1 ) - SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.2 lua lua5.1 ) + SET(LUA_FIND_INCLUDE_PATHS /usr/include/lua5.3 + /usr/include/lua5.2 + /usr/include/lua + /usr/include/lua5.1 + /usr/include ) + SET(LUA_FIND_STATIC_LIB_NAMES liblua5.3.a liblua5.2.a liblua.a liblua5.1.a lua5.3 lua5.2 lua lua5.1 ) + SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.3 lua5.2 lua lua5.1 ) ENDIF() -FIND_PATH(LUA_INCLUDE_DIR NAMES lua.hpp +FIND_PATH(LUA_INCLUDE_DIR NAMES lua.hpp PATHS ${LUA_FIND_INCLUDE_PATHS} IF(FreeBSD) - SET(PATHS "/usr/local/include/lua51") - ENDIF() - $ENV{LUA_HOME} - ) + SET(PATHS "/usr/local/include/lua53 /usr/local/include/lua52 /usr/local/include/lua51") + ENDIF() + $ENV{LUA_HOME}) IF (LUA_STATIC AND NOT LUA_LIBRARIES) FIND_LIBRARY(LUA_LIBRARIES NAMES ${LUA_FIND_STATIC_LIB_NAMES} - PATHS - IF(FreeBSD) - SET(PATHS "/usr/local/lib/lua51") - ENDIF() - $ENV{LUA_HOME}) + PATHS + IF(FreeBSD) + SET(PATHS "/usr/local/lib/lua53 /usr/local/lib/lua52 /usr/local/lib/lua51") + ENDIF() + $ENV{LUA_HOME}) ELSE() FIND_LIBRARY(LUA_LIBRARIES NAMES ${LUA_FIND_DYNAMIC_LIB_NAMES} - PATHS - IF(FreeBSD) - SET(PATHS "/usr/local/lib/lua51") - ENDIF() - $ENV{LUA_HOME}) + PATHS + IF(FreeBSD) + SET(PATHS "/usr/local/lib/lua53 /usr/local/lib/lua52 /usr/local/lib/lua51") + ENDIF() + $ENV{LUA_HOME}) ENDIF() -MESSAGE(STATUS "LUA_INC: ${LUA_INCLUDE_DIR}") -MESSAGE(STATUS "LUA_LIB: ${LUA_LIBRARIES}") +#MESSAGE(STATUS "LUA_INC: ${LUA_INCLUDE_DIR}") +#MESSAGE(STATUS "LUA_LIB: ${LUA_LIBRARIES}") IF(LUA_INCLUDE_DIR AND LUA_LIBRARIES) SET(LUA_FOUND TRUE) diff --git a/mk/cmake/Modules/FindMiniupnpc.cmake b/mk/cmake/Modules/FindMiniupnpc.cmake index 1e37ce78..f220c073 100644 --- a/mk/cmake/Modules/FindMiniupnpc.cmake +++ b/mk/cmake/Modules/FindMiniupnpc.cmake @@ -40,12 +40,12 @@ SET(MINIUPNPC_DIR_SEARCH $ENV{MINIUPNPC_ROOT}) #find_path(MINIUPNP_INCLUDE_DIR miniupnpc.h # PATH_SUFFIXES miniupnpc) -FIND_PATH(MINIUPNP_INCLUDE_DIR miniupnpc.h +FIND_PATH(MINIUPNP_INCLUDE_DIR miniupnpc.h ${MINIUPNPC_DIR_SEARCH}/include/miniupnpc /usr/include/miniupnpc - /usr/local/include/miniupnpc) + /usr/local/include/miniupnpc) -message(STATUS "Finding miniupnpc.h result: ${MINIUPNP_INCLUDE_DIR}") +#message(STATUS "Finding miniupnpc.h result: ${MINIUPNP_INCLUDE_DIR}") #find_library(MINIUPNP_LIBRARY miniupnpc) @@ -57,7 +57,7 @@ ENDIF() FIND_LIBRARY(MINIUPNP_LIBRARY NAMES ${MINIUPNPC_LIBRARY_NAMES}) -message(STATUS "Finding miniupnpc lib result: ${MINIUPNP_LIBRARY}") +#message(STATUS "Finding miniupnpc lib result: ${MINIUPNP_LIBRARY}") if (MINIUPNP_INCLUDE_DIR AND MINIUPNP_LIBRARY) set (MINIUPNP_FOUND TRUE) @@ -69,7 +69,7 @@ if (MINIUPNP_FOUND) message (STATUS "Found the miniupnpc headers at ${MINIUPNP_INCLUDE_DIR}") endif (NOT MINIUPNP_FIND_QUIETLY) - message(STATUS "Detecting version of miniupnpc in path: ${MINIUPNP_INCLUDE_DIR}") + #message(STATUS "Detecting version of miniupnpc in path: ${MINIUPNP_INCLUDE_DIR}") set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY}) diff --git a/mk/linux/build-mg.sh b/mk/linux/build-mg.sh index 3dacced8..05561e14 100755 --- a/mk/linux/build-mg.sh +++ b/mk/linux/build-mg.sh @@ -222,10 +222,13 @@ fi LUA_FORCED_CMAKE= if [ $LUA_FORCED_VERSION != 0 ]; then - if [ $LUA_FORCED_VERSION = 52 ]; then + if [ $LUA_FORCED_VERSION = 53 ]; then + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DFORCE_LUA_5_3=ON" + echo "USER WANTS TO FORCE USE of LUA 5.3" + elif [ $LUA_FORCED_VERSION = 52 ]; then EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DFORCE_LUA_5_2=ON" echo "USER WANTS TO FORCE USE of LUA 5.2" - elif [ $LUA_FORCED_VERSION = 51 ]; then + elif [ $LUA_FORCED_VERSION = 51 ]; then EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DFORCE_LUA_5_1=ON" echo "USER WANTS TO FORCE USE of LUA 5.1" fi diff --git a/mk/linux/make-binary-archive.sh b/mk/linux/make-binary-archive.sh index ed25eb76..b1547df6 100755 --- a/mk/linux/make-binary-archive.sh +++ b/mk/linux/make-binary-archive.sh @@ -20,6 +20,13 @@ CURRENTDIR="$(dirname $(readlink -f $0))" RELEASEDIR_ROOT="$CURRENTDIR/../../../release/" RELEASEDIR="${RELEASEDIR_ROOT}/${RELEASENAME-$VERSION}" PROJDIR="$CURRENTDIR/" +REPODIR="$CURRENTDIR/../../" +if [ -d "$REPODIR/.git" ] && [ "$(which git 2>/dev/null)" != "" ]; then + cd "$REPODIR" + SOURCE_BRANCH="$(git branch | awk -F '* ' '/^* / {print $2}')" + SOURCE_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")" + echo "Detected parameters for source repository: branch=[$SOURCE_BRANCH], commit=$SOURCE_COMMIT" +fi echo "Creating binary package in $RELEASEDIR" diff --git a/mk/linux/make-data-archive.sh b/mk/linux/make-data-archive.sh index 3a2ada66..b5253877 100755 --- a/mk/linux/make-data-archive.sh +++ b/mk/linux/make-data-archive.sh @@ -10,9 +10,9 @@ KERNEL="$(uname -s | tr '[A-Z]' '[a-z]')" if [ "$KERNEL" = "darwin" ]; then - CURRENTDIR="$(cd "$(dirname "$0")"; pwd)" + CURRENTDIR="$(cd "$(dirname "$0")"; pwd)" else - CURRENTDIR="$(dirname "$(readlink -f "$0")")" + CURRENTDIR="$(dirname "$(readlink -f "$0")")" fi cd "$CURRENTDIR" VERSION=`./mg-version.sh --version` @@ -20,13 +20,26 @@ RELEASENAME=megaglest-standalone-data PACKAGE="$RELEASENAME-$VERSION.tar.xz" RELEASEDIR_ROOT="$CURRENTDIR/../../../release" RELEASEDIR="${RELEASEDIR_ROOT}/${RELEASENAME-$VERSION}" -PROJDIR="$CURRENTDIR/../../" 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_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")" + echo "Detected parameters for data repository: branch=[$DATA_BRANCH], commit=$DATA_COMMIT" +fi +if [ -d "$REPODIR/.git" ] && [ "$(which git 2>/dev/null)" != "" ]; then + cd "$REPODIR" + SOURCE_BRANCH="$(git branch | awk -F '* ' '/^* / {print $2}')" + SOURCE_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")" + echo "Detected parameters for source repository: branch=[$SOURCE_BRANCH], commit=$SOURCE_COMMIT" +fi +cd "$CURRENTDIR" if [ "$KERNEL" != "darwin" ]; then - echo "Creating data package in $RELEASEDIR" + echo "Creating data package in $RELEASEDIR" else - echo "Creating data directory $RELEASEDIR" + echo "Creating data directory $RELEASEDIR" fi [[ -d "$RELEASEDIR" ]] && rm -rf "$RELEASEDIR" @@ -78,11 +91,11 @@ cd "$CURRENTDIR" cd "$CURRENTDIR" if [ "$KERNEL" != "darwin" ]; then - echo "creating data archive: $PACKAGE" - [[ -f "${RELEASEDIR_ROOT}/$PACKAGE" ]] && rm "${RELEASEDIR_ROOT}/$PACKAGE" - cd $RELEASEDIR - tar -cf - * | xz > ../$PACKAGE - cd $CURRENTDIR + echo "creating data archive: $PACKAGE" + [[ -f "${RELEASEDIR_ROOT}/$PACKAGE" ]] && rm "${RELEASEDIR_ROOT}/$PACKAGE" + cd $RELEASEDIR + tar -cf - * | xz > ../$PACKAGE + cd $CURRENTDIR - ls -la ${RELEASEDIR_ROOT}/$PACKAGE + ls -la ${RELEASEDIR_ROOT}/$PACKAGE fi diff --git a/mk/linux/makedeps_folder.sh b/mk/linux/makedeps_folder.sh index 81ddc0d5..9e9e27a3 100755 --- a/mk/linux/makedeps_folder.sh +++ b/mk/linux/makedeps_folder.sh @@ -22,9 +22,9 @@ sync_support_libs(){ local _cp="/bin/cp" #local skip_deps="libm.so libpthread.so libstdc++.so libgcc_s.so libc.so libdl.so libX11.so libpulse libfusion libdirect libnvidia libXext librt libxcb libICE libSM libXtst libwrap libdbus libXau libXdmcp libnsl libFLAC libGL" local skip_deps="" - local keep_deps="libcurl libgnu libgcrypt libicu liblua libjpeg libpng libwx libgtk libgdk libftgl libfreetype libvlc" + local keep_deps="libcurl libgnu libgcrypt libicu liblua libjpeg libpng libwx libgtk libgdk libftgl libfreetype libvlc" - local scan_via_skiplist=1 + local scan_via_skiplist=1 if [ -n "$skip_deps" ]; then scan_via_skiplist=1 @@ -86,8 +86,7 @@ sync_support_libs(){ } usage(){ - echo "Syntax : $0 megaglest - echo "Example: $0 megaglest + echo "Error: Wrong syntax. Example: $0 megaglest" exit 1 } @@ -101,3 +100,16 @@ for f in $file do sync_support_libs "${BASE}" "${f}" done + +# copy vlc's plugins if libvlc was copied +if [ "$(find $BASE -type f -name "libvlc.*")" != "" ]; then + LIBVLC_DIR_CHECK="$( ldd "$1" | grep "libvlc\." | sort -u | awk '{print $3}' | head -1 )" + if [ "$LIBVLC_DIR_CHECK" != "" ]; then + LIBVLC_DIR="$(dirname "$LIBVLC_DIR_CHECK")" + if [ -d "$LIBVLC_DIR/vlc/plugins" ]; then + mkdir -p "$BASE/vlc" + echo "Including plugins directory for VLC from = [$LIBVLC_DIR/vlc]" + cp -f -r "$LIBVLC_DIR/vlc/plugins" "$BASE/vlc/" + fi + fi +fi diff --git a/mk/linux/mojosetup/megaglest-installer/make.sh b/mk/linux/mojosetup/megaglest-installer/make.sh index 2164cc38..279b034f 100755 --- a/mk/linux/mojosetup/megaglest-installer/make.sh +++ b/mk/linux/mojosetup/megaglest-installer/make.sh @@ -256,20 +256,6 @@ if [ $REPACKONLY -eq 0 ]; then $copyGlestDeptsCmd if [ -e "${INSTALL_ROOTDIR}makedeps_folder.sh" ]; then rm -f "${INSTALL_ROOTDIR}makedeps_folder.sh"; fi - # If this part -V- is required then should be moved to 'makedeps_folder.sh' script - #cd "$CURRENTDIR" - #cd data - #LIBVLC_DIR_CHECK=$( ldd megaglest | grep "libvlc\." | sort -u | awk '{print $3}' ) - #if [ "$LIBVLC_DIR_CHECK" != '' ]; then - # LIBVLC_DIR=$( dirname $LIBVLC_DIR_CHECK ) - #fi - - #echo LibVLC installed in [$LIBVLC_DIR] copying to lib/ - #if [ "$LIBVLC_DIR" != '' ]; then - # cp -r $LIBVLC_DIR/vlc lib/ - # #exit 1 - #fi - cd .. fi diff --git a/mk/linux/setupBuildDeps.sh b/mk/linux/setupBuildDeps.sh index f511f8b2..0f1a0160 100755 --- a/mk/linux/setupBuildDeps.sh +++ b/mk/linux/setupBuildDeps.sh @@ -111,7 +111,7 @@ if [ "$quiet" -eq "1" ]; then URPMI_OPTIONS="$URPMI_OPTIONS -q --auto" fi -packages_for_next_debian_ubuntu_mint="build-essential cmake libcurl4-gnutls-dev libsdl1.2-dev libopenal-dev liblua5.2-dev libjpeg-dev libpng12-dev libfreetype6-dev libwxgtk3.0-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn11-dev libgnutls28-dev" +packages_for_next_debian_ubuntu_mint="build-essential cmake libcurl4-gnutls-dev libsdl1.2-dev libopenal-dev liblua5.3-dev libjpeg-dev libpng12-dev libfreetype6-dev libwxgtk3.0-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libvlccore-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn11-dev libgnutls28-dev" case $distribution in Debian) @@ -152,11 +152,16 @@ case $distribution in $installcommand if [ "$?" -ne "0" ]; then error_during_installation; exit 1; fi ;; - 14.10|15.04) + 14.10) installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl1.2-dev libopenal-dev liblua5.2-dev libjpeg-dev libpng12-dev libfreetype6-dev libwxgtk3.0-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn11-dev libgnutls28-dev" $installcommand if [ "$?" -ne "0" ]; then error_during_installation; exit 1; fi ;; + 15.04) + installcommand="apt-get install $APT_OPTIONS build-essential cmake libcurl4-gnutls-dev libsdl1.2-dev libopenal-dev liblua5.2-dev libjpeg-dev libpng12-dev libfreetype6-dev libwxgtk3.0-dev libcppunit-dev libfribidi-dev libftgl-dev libglew-dev libogg-dev libvorbis-dev libminiupnpc-dev libircclient-dev libvlc-dev libvlccore-dev libxml2-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev librtmp-dev libkrb5-dev libldap2-dev libidn11-dev libgnutls28-dev" + $installcommand + if [ "$?" -ne "0" ]; then error_during_installation; exit 1; fi + ;; *) installcommand="apt-get install $APT_OPTIONS $packages_for_next_debian_ubuntu_mint" unsupported_release diff --git a/mk/linux/start_megaglest b/mk/linux/start_megaglest index e4995f27..3d0bcecf 100755 --- a/mk/linux/start_megaglest +++ b/mk/linux/start_megaglest @@ -270,6 +270,9 @@ fi if [ "$OperatingMode" = "--game" ]; then if [ -d "$GAMEDIR/$LIBDIR" ]; then export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${GAMEDIR}/${LIBDIR}" + if [ -d "$GAMEDIR/$LIBDIR/vlc" ]; then + export VLC_PLUGIN_PATH="${GAMEDIR}/${LIBDIR}/vlc" + fi fi $GAMEDIR/megaglest $@ ExitStatus="$?" diff --git a/mk/macosx/build-mg.sh b/mk/macosx/build-mg.sh index 2a795b5b..8a8fbb9a 100755 --- a/mk/macosx/build-mg.sh +++ b/mk/macosx/build-mg.sh @@ -88,6 +88,17 @@ $list_of_libs2" | sed '/:$/d' | sed '/^$/d' | sort -u )" for dyn_lib in $list_of_libs; do cp "$dyn_lib" "lib/" done + + if [ "$(find lib -type f -name "libvlc.*")" != "" ]; then + LIBVLC_DIR_CHECK="$( echo "$list_of_checked_libs" | tr ' ' '\n' | grep "libvlc\." | sort -u | head -1 )" + if [ "$LIBVLC_DIR_CHECK" != "" ]; then + LIBVLC_DIR="$(cd "$(dirname "$LIBVLC_DIR_CHECK")"; pwd)" + if [ -d "$LIBVLC_DIR/vlc/plugins" ]; then + mkdir -p "lib/vlc" + cp -f -r "$LIBVLC_DIR/vlc/plugins" "lib/vlc/" + fi + fi + fi 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 @@ -160,7 +171,10 @@ fi LUA_FORCED_CMAKE= if [ "$LUA_FORCED_VERSION" -ne "0" ]; then - if [ "$LUA_FORCED_VERSION" -eq "52" ]; then + if [ "$LUA_FORCED_VERSION" -eq "53" ]; then + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DFORCE_LUA_5_3=ON" + echo "USER WANTS TO FORCE USE of LUA 5.3" + elif [ "$LUA_FORCED_VERSION" -eq "52" ]; then EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DFORCE_LUA_5_2=ON" echo "USER WANTS TO FORCE USE of LUA 5.2" elif [ "$LUA_FORCED_VERSION" -eq "51" ]; then diff --git a/mk/macosx/make-binary-archive.sh b/mk/macosx/make-binary-archive.sh index 39fef4f2..5da67e6e 100755 --- a/mk/macosx/make-binary-archive.sh +++ b/mk/macosx/make-binary-archive.sh @@ -21,6 +21,13 @@ PACKAGE="$RELEASENAME-$VERSION.tar.bz2" CURRENTDIR="$(cd "$(dirname "$0")"; pwd)" RELEASEDIR_ROOT="$CURRENTDIR/../../../release" RELEASEDIR="${RELEASEDIR_ROOT}/${RELEASENAME-$VERSION}" +REPODIR="$CURRENTDIR/../../" +if [ -d "$REPODIR/.git" ] && [ "$(which git 2>/dev/null)" != "" ]; then + cd "$REPODIR" + SOURCE_BRANCH="$(git branch | awk -F '* ' '/^* / {print $2}')" + SOURCE_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")" + echo "Detected parameters for source repository: branch=[$SOURCE_BRANCH], commit=$SOURCE_COMMIT" +fi echo "Creating binary package in $RELEASEDIR" diff --git a/source/shared_lib/CMakeLists.txt b/source/shared_lib/CMakeLists.txt index 88f04568..6a790d32 100644 --- a/source/shared_lib/CMakeLists.txt +++ b/source/shared_lib/CMakeLists.txt @@ -22,6 +22,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST option(ENABLE_FRIBIDI "Enable FriBIDi support" ON) option(FORCE_LUA_5_1 "Force looking for LUA 5.1" OFF) option(FORCE_LUA_5_2 "Force looking for LUA 5.2" OFF) + option(FORCE_LUA_5_3 "Force looking for LUA 5.3" OFF) IF(WIN32) SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} @@ -303,7 +304,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST #IF(NOT WANT_STATIC_LIBS) #MESSAGE(STATUS "*** Searching for miniupnpc since WANT_STATIC_LIBS is off ...") - MESSAGE(STATUS "*** Searching for miniupnpc ...") + #MESSAGE(STATUS "*** Searching for miniupnpc ...") FIND_PACKAGE(Miniupnpc) #ENDIF() diff --git a/source/shared_lib/sources/lua/lua_script.cpp b/source/shared_lib/sources/lua/lua_script.cpp index 2635f6f0..f04fd09b 100644 --- a/source/shared_lib/sources/lua/lua_script.cpp +++ b/source/shared_lib/sources/lua/lua_script.cpp @@ -701,7 +701,8 @@ int LuaArguments::getInt(int argumentIndex) const{ if(!lua_isnumber(luaState, argumentIndex)) { throwLuaError("Can not get int from Lua state"); } - int result = luaL_checkint(luaState, argumentIndex); + + int result = (int)luaL_checkinteger(luaState, argumentIndex); return result; } @@ -737,7 +738,7 @@ Vec2f LuaArguments::getVec2f(int argumentIndex) const { lua_rawgeti(luaState, argumentIndex, 1); //printf("xa = %s argumentIndex = %d\n",lua_tostring(luaState, argumentIndex),argumentIndex); - //v.x= luaL_checkint(luaState, argumentIndex); + //v.x= (int)luaL_checkinteger(luaState, argumentIndex); v.x= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); @@ -746,7 +747,7 @@ Vec2f LuaArguments::getVec2f(int argumentIndex) const { lua_rawgeti(luaState, argumentIndex, 2); //printf("ya = %s\n",lua_tostring(luaState, argumentIndex)); - //v.y= luaL_checkint(luaState, argumentIndex); + //v.y= (int)luaL_checkinteger(luaState, argumentIndex); v.y= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); @@ -778,7 +779,7 @@ Vec3f LuaArguments::getVec3f(int argumentIndex) const { lua_rawgeti(luaState, argumentIndex, 1); //printf("xa = %s argumentIndex = %d\n",lua_tostring(luaState, argumentIndex),argumentIndex); - //v.x= luaL_checkint(luaState, argumentIndex); + //v.x= (int)luaL_checkinteger(luaState, argumentIndex); v.x= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); @@ -787,7 +788,7 @@ Vec3f LuaArguments::getVec3f(int argumentIndex) const { lua_rawgeti(luaState, argumentIndex, 2); //printf("ya = %s\n",lua_tostring(luaState, argumentIndex)); - //v.y= luaL_checkint(luaState, argumentIndex); + //v.y= (int)luaL_checkinteger(luaState, argumentIndex); v.y= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); @@ -796,7 +797,7 @@ Vec3f LuaArguments::getVec3f(int argumentIndex) const { lua_rawgeti(luaState, argumentIndex, 3); //printf("ya = %s\n",lua_tostring(luaState, argumentIndex)); - //v.y= luaL_checkint(luaState, argumentIndex); + //v.y= (int)luaL_checkinteger(luaState, argumentIndex); v.z= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); @@ -826,7 +827,7 @@ Vec4f LuaArguments::getVec4f(int argumentIndex) const { lua_rawgeti(luaState, argumentIndex, 1); //printf("xa = %s argumentIndex = %d\n",lua_tostring(luaState, argumentIndex),argumentIndex); - //v.x= luaL_checkint(luaState, argumentIndex); + //v.x= (int)luaL_checkinteger(luaState, argumentIndex); v.x= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); @@ -835,7 +836,7 @@ Vec4f LuaArguments::getVec4f(int argumentIndex) const { lua_rawgeti(luaState, argumentIndex, 2); //printf("ya = %s\n",lua_tostring(luaState, argumentIndex)); - //v.y= luaL_checkint(luaState, argumentIndex); + //v.y= (int)luaL_checkinteger(luaState, argumentIndex); v.y= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); @@ -844,14 +845,14 @@ Vec4f LuaArguments::getVec4f(int argumentIndex) const { lua_rawgeti(luaState, argumentIndex, 3); //printf("ya = %s\n",lua_tostring(luaState, argumentIndex)); - //v.y= luaL_checkint(luaState, argumentIndex); + //v.y= (int)luaL_checkinteger(luaState, argumentIndex); v.z= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); lua_rawgeti(luaState, argumentIndex, 4); //printf("ya = %s\n",lua_tostring(luaState, argumentIndex)); - //v.y= luaL_checkint(luaState, argumentIndex); + //v.y= (int)luaL_checkinteger(luaState, argumentIndex); v.w= static_cast(lua_tonumber(luaState, argumentIndex)); lua_pop(luaState, 1); @@ -914,7 +915,7 @@ Vec2i LuaArguments::getVec2i(int argumentIndex) const{ lua_rawgeti(luaState, argumentIndex, 1); //printf("xa = %s argumentIndex = %d\n",lua_tostring(luaState, argumentIndex),argumentIndex); - //v.x= luaL_checkint(luaState, argumentIndex); + //v.x= (int)luaL_checkinteger(luaState, argumentIndex); v.x= (int)lua_tointeger(luaState, argumentIndex); lua_pop(luaState, 1); @@ -923,7 +924,7 @@ Vec2i LuaArguments::getVec2i(int argumentIndex) const{ lua_rawgeti(luaState, argumentIndex, 2); //printf("ya = %s\n",lua_tostring(luaState, argumentIndex)); - //v.y= luaL_checkint(luaState, argumentIndex); + //v.y= (int)luaL_checkinteger(luaState, argumentIndex); v.y= (int)lua_tointeger(luaState, argumentIndex); lua_pop(luaState, 1); @@ -950,19 +951,19 @@ Vec4i LuaArguments::getVec4i(int argumentIndex) const { } lua_rawgeti(luaState, argumentIndex, 1); - v.x= luaL_checkint(luaState, argumentIndex); + v.x= (int)luaL_checkinteger(luaState, argumentIndex); lua_pop(luaState, 1); lua_rawgeti(luaState, argumentIndex, 2); - v.y= luaL_checkint(luaState, argumentIndex); + v.y= (int)luaL_checkinteger(luaState, argumentIndex); lua_pop(luaState, 1); lua_rawgeti(luaState, argumentIndex, 3); - v.z= luaL_checkint(luaState, argumentIndex); + v.z= (int)luaL_checkinteger(luaState, argumentIndex); lua_pop(luaState, 1); lua_rawgeti(luaState, argumentIndex, 4); - v.w= luaL_checkint(luaState, argumentIndex); + v.w= (int)luaL_checkinteger(luaState, argumentIndex); lua_pop(luaState, 1); return v; diff --git a/source/shared_lib/sources/platform/sdl/platform_util.cpp b/source/shared_lib/sources/platform/sdl/platform_util.cpp index de618555..753d6707 100644 --- a/source/shared_lib/sources/platform/sdl/platform_util.cpp +++ b/source/shared_lib/sources/platform/sdl/platform_util.cpp @@ -36,35 +36,57 @@ bool PlatformExceptionHandler::disableBacktrace = false; const char * getDialogCommand() { /* - if (::system(NULL)) { - if (::system("which gdialog") == 0) - return "gdialog"; - else if (::system("which kdialog") == 0) - return "kdialog"; - } + if (::system(NULL)) { + if (::system("which gdialog") == 0) + return "gdialog"; + else if (::system("which kdialog") == 0) + return "kdialog"; + } */ + FILE *file; + char file_string [100]; - FILE *file = popen("which zenity","r"); - //printf("File #1 [%p]\n",file); - if (file != NULL) { - pclose(file); - return "zenity"; - } + file = popen("which zenity","r"); + //printf("File #1 [%p]\n",file); + if (fgets(file_string, 100, file) != NULL ) { + pclose(file); + return "zenity"; + } + else if (file != NULL) { + pclose(file); + } - file = popen("which gdialog","r"); - //printf("File #1 [%p]\n",file); - if (file != NULL) { - pclose(file); - return "gdialog"; - } - file = popen("which kdialog","r"); - //printf("File #2 [%p]\n",file); - if (file != NULL) { - pclose(file); - return "kdialog"; - } + file = popen("which kdialog","r"); + //printf("File #2 [%p]\n",file); + if (fgets(file_string, 100, file) != NULL ) { + pclose(file); + return "kdialog"; + } + else if (file != NULL) { + pclose(file); + } - return NULL; + file = popen("which yad","r"); + //printf("File #3 [%p]\n",file); + if (fgets(file_string, 100, file) != NULL ) { + pclose(file); + return "yad"; + } + else if (file != NULL) { + pclose(file); + } + + file = popen("which gdialog","r"); + //printf("File #4 [%p]\n",file); + if (fgets(file_string, 100, file) != NULL ) { + pclose(file); + return "gdialog"; + } + else if (file != NULL) { + pclose(file); + } + + return NULL; } bool showMessage(std::string warning,string writepath) { @@ -83,7 +105,17 @@ bool showMessage(std::string warning,string writepath) { } //command += " --title \"Error\" --msgbox \"`printf \"" + warning + "\"`\""; - command += " --title \"Error\" --text-info --filename=" + text_file; + command += " --title \"Error\" "; + + if (!strcmp(dialogCommand, "kdialog")) { + command += "--textbox " + text_file + " 640 360"; + } + else if (!strcmp(dialogCommand, "yad")) { + command += "--text-info --center --wrap --width 640 --height 360 --filename=" + text_file; + } + else { + command += "--text-info --width 640 --height 360 --filename=" + text_file; + } //printf("\n\n\nzenity command [%s]\n\n\n",command.c_str());