diff --git a/mk/cmake/Modules/FindLUA.cmake b/mk/cmake/Modules/FindLUA.cmake index 11b8d273..dfc1d795 100644 --- a/mk/cmake/Modules/FindLUA.cmake +++ b/mk/cmake/Modules/FindLUA.cmake @@ -129,6 +129,11 @@ find_path(LUA_INCLUDE_DIR lua.h ) unset(_lua_include_subdirs) +IF(STATIC_LUA AND APPLE) + # at least in mac ports, static lib is without numbers in name + SET(_lua_library_names lua.a liblua.a ${_lua_library_names}) +ENDIF() + find_library(LUA_LIBRARY NAMES ${_lua_library_names} lua HINTS diff --git a/mk/cmake/Modules/FindMiniupnpc.cmake b/mk/cmake/Modules/FindMiniupnpc.cmake index 8ffa66e7..5fedfbf0 100644 --- a/mk/cmake/Modules/FindMiniupnpc.cmake +++ b/mk/cmake/Modules/FindMiniupnpc.cmake @@ -41,9 +41,10 @@ SET(MINIUPNPC_DIR_SEARCH $ENV{MINIUPNPC_ROOT}) # PATH_SUFFIXES miniupnpc) FIND_PATH(MINIUPNP_INCLUDE_DIR miniupnpc.h - ${MINIUPNPC_DIR_SEARCH}/include/miniupnpc - /usr/include/miniupnpc - /usr/local/include/miniupnpc) + PATHS ${MINIUPNPC_DIR_SEARCH}/include + /usr/include + /usr/local/include + PATH_SUFFIXES miniupnpc) #message(STATUS "Finding miniupnpc.h result: ${MINIUPNP_INCLUDE_DIR}") @@ -58,13 +59,12 @@ FIND_LIBRARY(MINIUPNP_LIBRARY NAMES ${MINIUPNPC_LIBRARY_NAMES}) #message(STATUS "Finding miniupnpc lib result: ${MINIUPNP_LIBRARY}") -if (MINIUPNP_INCLUDE_DIR AND MINIUPNP_LIBRARY) - set (MINIUPNP_FOUND TRUE) -endif () +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(MINIUPNP REQUIRED_VARS MINIUPNP_LIBRARY MINIUPNP_INCLUDE_DIR) if (MINIUPNP_FOUND) if (NOT MINIUPNP_FIND_QUIETLY) - message (STATUS "Found the miniupnpc libraries at ${MINIUPNP_LIBRARY}") + #message (STATUS "Found the miniupnpc libraries at ${MINIUPNP_LIBRARY}") message (STATUS "Found the miniupnpc headers at ${MINIUPNP_INCLUDE_DIR}") endif (NOT MINIUPNP_FIND_QUIETLY) diff --git a/mk/linux/build-mg.sh b/mk/linux/build-mg.sh index 2a682e79..4a6bfc78 100755 --- a/mk/linux/build-mg.sh +++ b/mk/linux/build-mg.sh @@ -145,14 +145,18 @@ detect_system echo 'We have detected the following system:' echo ' [ '"$distribution"' ] [ '"$release"' ] [ '"$codename"' ] [ '"$architecture"' ]' -EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_FONTCONFIG=OFF" +if [ "$WANT_STATIC_LIBS" = "-DWANT_STATIC_LIBS=ON" ]; then + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_FONTCONFIG=OFF" +fi case $distribution in Debian) case $release in 6.*|7.*) ;; *) - echo 'Turning ON dynamic FTGL, LUA, JPEG, PNG ... and forcing use the embedded IRCCLIENT' - EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_FTGL=OFF -DSTATIC_LUA=OFF -DSTATIC_JPEG=OFF -DSTATIC_PNG=OFF -DSTATIC_OGG=OFF -DFORCE_USE_EMBEDDED_Ircclient=ON" + if [ "$WANT_STATIC_LIBS" = "-DWANT_STATIC_LIBS=ON" ]; then + echo 'Turning ON dynamic FTGL, LUA, JPEG, PNG ... and forcing use the embedded IRCCLIENT' + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_FTGL=OFF -DSTATIC_LUA=OFF -DSTATIC_JPEG=OFF -DSTATIC_PNG=OFF -DSTATIC_OGG=OFF -DFORCE_USE_EMBEDDED_Ircclient=ON" + fi if [ $CLANG_FORCED = 1 ]; then BUILD_MEGAGLEST_TESTS="OFF"; fi ;; esac @@ -162,9 +166,10 @@ case $distribution in case $release in 10.*|11.*|12.*|13.*|14.*) ;; *) - echo 'Turning ON dynamic FTGL, LUA, JPEG, PNG ... and forcing use the embedded IRCCLIENT' - EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_FTGL=OFF -DSTATIC_LUA=OFF -DSTATIC_JPEG=OFF -DSTATIC_PNG=OFF -DSTATIC_OGG=OFF -DFORCE_USE_EMBEDDED_Ircclient=ON" - ;; + if [ "$WANT_STATIC_LIBS" = "-DWANT_STATIC_LIBS=ON" ]; then + echo 'Turning ON dynamic FTGL, LUA, JPEG, PNG ... and forcing use the embedded IRCCLIENT' + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_FTGL=OFF -DSTATIC_LUA=OFF -DSTATIC_JPEG=OFF -DSTATIC_PNG=OFF -DSTATIC_OGG=OFF -DFORCE_USE_EMBEDDED_Ircclient=ON" + fi;; esac ;; @@ -172,33 +177,36 @@ case $distribution in case $release in 13|13.*|14|15|16|17|17.*) ;; *) - echo 'Turning ON dynamic FTGL, LUA, JPEG, PNG ... and forcing use the embedded IRCCLIENT' - EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_FTGL=OFF -DSTATIC_LUA=OFF -DSTATIC_JPEG=OFF -DSTATIC_PNG=OFF -DSTATIC_OGG=OFF -DFORCE_USE_EMBEDDED_Ircclient=ON" - ;; + if [ "$WANT_STATIC_LIBS" = "-DWANT_STATIC_LIBS=ON" ]; then + echo 'Turning ON dynamic FTGL, LUA, JPEG, PNG ... and forcing use the embedded IRCCLIENT' + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_FTGL=OFF -DSTATIC_LUA=OFF -DSTATIC_JPEG=OFF -DSTATIC_PNG=OFF -DSTATIC_OGG=OFF -DFORCE_USE_EMBEDDED_Ircclient=ON" + fi;; esac ;; SuSE|SUSE?LINUX|Opensuse) case $release in *) - echo 'Turning ON dynamic CURL ...' - EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_CURL=OFF" - ;; + if [ "$WANT_STATIC_LIBS" = "-DWANT_STATIC_LIBS=ON" ]; then + echo 'Turning ON dynamic CURL ...' + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_CURL=OFF" + fi;; esac ;; Fedora) case $release in *) - echo 'Turning ON dynamic CURL ...' - EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_CURL=OFF" - ;; + if [ "$WANT_STATIC_LIBS" = "-DWANT_STATIC_LIBS=ON" ]; then + echo 'Turning ON dynamic CURL ...' + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_CURL=OFF" + fi;; esac ;; Arch) echo 'Turning ON dynamic LIBS ...' - EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DWANT_STATIC_LIBS=OFF" + WANT_STATIC_LIBS="-DWANT_STATIC_LIBS=OFF" ;; esac diff --git a/mk/macosx/build-mg.sh b/mk/macosx/build-mg.sh index bf4050b9..816fd0a1 100755 --- a/mk/macosx/build-mg.sh +++ b/mk/macosx/build-mg.sh @@ -139,8 +139,10 @@ architecture="$(uname -m)" echo 'We have detected the following system:' echo " [ $distribution ] [ $release ] [ $architecture ] [ $xcode_ver ]" case $release in - *) echo 'Turning ON dynamic PNG ...' - EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_PNG=OFF";; + *) if [ "$WANT_STATIC_LIBS" = "-DWANT_STATIC_LIBS=ON" ]; then + echo 'Turning ON dynamic PNG ...' + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DSTATIC_PNG=OFF -DWANT_USE_VLC=OFF" + fi;; esac case $xcode_ver in # en.wikipedia.org/wiki/Xcode, Version, OS X SDK(s) <- lowest, but not less than 10.4 @@ -229,10 +231,10 @@ else echo 'Mini test:' echo '>>> megaglest --version' ./megaglest --version | head -3 - echo '>>> megaglest_editor --help' - ./megaglest_editor --help | head -3 - echo '>>> megaglest_g3dviewer --help' - ./megaglest_g3dviewer --help | head -3 + #echo '>>> megaglest_editor --help' + #./megaglest_editor --help | head -3 + #echo '>>> megaglest_g3dviewer --help' + #./megaglest_g3dviewer --help | head -3 echo 'Dependencies:' otool -L megaglest echo '- - - - - - - - - - - - - - - - - - - -' diff --git a/source/g3d_viewer/CMakeLists.txt b/source/g3d_viewer/CMakeLists.txt index fb56f633..26335428 100644 --- a/source/g3d_viewer/CMakeLists.txt +++ b/source/g3d_viewer/CMakeLists.txt @@ -159,7 +159,8 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS}) - IF(EXISTS ${HELP2MAN}) + IF(EXISTS ${HELP2MAN} AND NOT APPLE) + # on mac <> --help sometimes hangs, so we need "NOT APPLE" ^ or some timeout here for now MESSAGE(STATUS "***-- Found help2man: ${HELP2MAN} about to build manpage in [${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE}]") SET(MG_MANPAGE_DESCRIPTION "G3D Model editor for the popular 3D realtime strategy game") @@ -184,7 +185,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER) ${TARGET_NAME} DESTINATION ${MEGAGLEST_BIN_INSTALL_PATH}) - IF(EXISTS ${HELP2MAN}) + IF(EXISTS ${HELP2MAN} AND EXISTS ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE}) MESSAGE(STATUS "**NOTE: Will Install manpage [${TARGET_NAME_MANPAGE}] to [${MEGAGLEST_MANPAGE_INSTALL_PATH}]") # Installation of the program manpage file diff --git a/source/glest_map_editor/CMakeLists.txt b/source/glest_map_editor/CMakeLists.txt index eb29eec1..4cb13046 100644 --- a/source/glest_map_editor/CMakeLists.txt +++ b/source/glest_map_editor/CMakeLists.txt @@ -152,7 +152,8 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR) TARGET_LINK_LIBRARIES(${TARGET_NAME} libmegaglest) TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS}) - IF(EXISTS ${HELP2MAN}) + IF(EXISTS ${HELP2MAN} AND NOT APPLE) + # on mac <> --help sometimes hangs, so we need "NOT APPLE" ^ or some timeout here for now MESSAGE(STATUS "***-- Found help2man: ${HELP2MAN} about to build manpage in [${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE}]") SET(MG_MANPAGE_DESCRIPTION "Map editor for the popular 3D realtime strategy game") @@ -177,7 +178,7 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR) ${TARGET_NAME} DESTINATION ${MEGAGLEST_BIN_INSTALL_PATH}) - IF(EXISTS ${HELP2MAN}) + IF(EXISTS ${HELP2MAN} AND EXISTS ${HELP2MAN_OUT_PATH}${TARGET_NAME_MANPAGE}) MESSAGE(STATUS "**NOTE: Will Install manpage [${TARGET_NAME_MANPAGE}] to [${MEGAGLEST_MANPAGE_INSTALL_PATH}]") # Installation of the program manpage file