diff --git a/mk/cmake/Modules/FindFTGL.cmake b/mk/cmake/Modules/FindFTGL.cmake index e3ac9f127..eaa85f0e9 100644 --- a/mk/cmake/Modules/FindFTGL.cmake +++ b/mk/cmake/Modules/FindFTGL.cmake @@ -9,11 +9,22 @@ # # +OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF) +IF(WANT_STATIC_LIBS) + OPTION(FTGL_STATIC "Set to ON to link your project with static library (instead of DLL)." ON) +ENDIF() + IF (FTGL_LIBRARY AND FTGL_INCLUDE_DIR) SET(FTGL_FOUND "YES") ELSE (FTGL_LIBRARY AND FTGL_INCLUDE_DIR) + FIND_PATH(FTGL_INCLUDE_DIR FTGL/ftgl.h PATHS /usr/local/include /usr/include) - FIND_LIBRARY(FTGL_LIBRARY ftgl PATHS /usr/local/lib /usr/lib) + +IF (FTGL_STATIC AND NOT FTGL_LIBRARY) + FIND_LIBRARY(FTGL_LIBRARY NAMES libftgl.a ftgl PATHS /usr/local/lib /usr/lib) +ELSE() + FIND_LIBRARY(FTGL_LIBRARY NAMES ftgl PATHS /usr/local/lib /usr/lib) +ENDIF() IF (FTGL_INCLUDE_DIR AND FTGL_LIBRARY) SET(FTGL_FOUND "YES") diff --git a/mk/cmake/Modules/FindLUA.cmake b/mk/cmake/Modules/FindLUA.cmake index a3e78a6ae..43b40d5ce 100644 --- a/mk/cmake/Modules/FindLUA.cmake +++ b/mk/cmake/Modules/FindLUA.cmake @@ -12,6 +12,11 @@ # [RCL] FIXME: is it future proof with names like lua5.1? Kubuntu does not provide # a generic (version-independent) include directory for LUA... +OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF) +IF(WANT_STATIC_LIBS) + OPTION(LUA_STATIC "Set to ON to link your project with static library (instead of DLL)." ON) +ENDIF() + IF(LUA_INCLUDE_DIR AND LUA_LIBRARIES) #SET(LUA_FIND_QUIETLY TRUE) ENDIF(LUA_INCLUDE_DIR AND LUA_LIBRARIES) @@ -26,13 +31,23 @@ FIND_PATH(LUA_INCLUDE_DIR NAMES lua.hpp $ENV{LUA_HOME} ) -FIND_LIBRARY(LUA_LIBRARIES NAMES lua5.1 lua +IF (LUA_STATIC AND NOT LUA_LIBRARIES) + FIND_LIBRARY(LUA_LIBRARIES NAMES liblua5.1.a liblua.a lua5.1 lua PATHS IF(FreeBSD) SET(PATHS "/usr/local/lib/lua51") ENDIF() $ENV{LUA_HOME}) +ELSE() + FIND_LIBRARY(LUA_LIBRARIES NAMES lua5.1 lua + PATHS + IF(FreeBSD) + SET(PATHS "/usr/local/lib/lua51") + ENDIF() + $ENV{LUA_HOME}) +ENDIF() + MESSAGE(STATUS "LUA_INC: ${LUA_INCLUDE_DIR}") MESSAGE(STATUS "LUA_LIB: ${LUA_LIBRARIES}") diff --git a/mk/cmake/Modules/FindOGG.cmake b/mk/cmake/Modules/FindOGG.cmake index e2f22c271..2a026cca2 100644 --- a/mk/cmake/Modules/FindOGG.cmake +++ b/mk/cmake/Modules/FindOGG.cmake @@ -6,6 +6,11 @@ # VORBIS_FILE_LIBRARY # +OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF) +IF(WANT_STATIC_LIBS) + OPTION(OGG_STATIC "Set to ON to link your project with static library (instead of DLL)." ON) +ENDIF() + # check for cache to avoid littering log IF(OGG_INCLUDE_DIR AND OGG_LIBRARY AND VORBIS_LIBRARY) SET(OGG_BE_QUIET TRUE) @@ -13,13 +18,29 @@ ENDIF(OGG_INCLUDE_DIR AND OGG_LIBRARY AND VORBIS_LIBRARY) FIND_PATH(OGG_INCLUDE_DIR ogg/ogg.h) -FIND_LIBRARY(OGG_LIBRARY NAMES ogg) -FIND_LIBRARY(VORBIS_LIBRARY NAMES vorbis) + +#IF (OGG_STATIC AND NOT OGG_LIBRARY) +# FIND_LIBRARY(OGG_LIBRARY NAMES libogg.a ogg) +#ELSE() + FIND_LIBRARY(OGG_LIBRARY NAMES ogg) +#ENDIF() + +#IF (OGG_STATIC AND NOT VORBIS_LIBRARY) +# FIND_LIBRARY(VORBIS_LIBRARY NAMES libvorbis.a vorbis) +#ELSE() + FIND_LIBRARY(VORBIS_LIBRARY NAMES vorbis) +#ENDIF() #on macosx the vorbisfile library is part of the vorbisone... #IF(NOT APPLE) # comment above is full of lies + +#IF (OGG_STATIC AND NOT VORBIS_FILE_LIBRARY) +# FIND_LIBRARY(VORBIS_FILE_LIBRARY NAMES libvorbisfile.a vorbisfile) +#ELSE() FIND_LIBRARY(VORBIS_FILE_LIBRARY NAMES vorbisfile) +#ENDIF() + #ENDIF(NOT APPLE) IF(OGG_INCLUDE_DIR AND OGG_LIBRARY AND VORBIS_LIBRARY AND (APPLE OR VORBIS_FILE_LIBRARY)) diff --git a/mk/cmake/Modules/FindXercesC.cmake b/mk/cmake/Modules/FindXercesC.cmake index 535ad49e4..983a9c727 100644 --- a/mk/cmake/Modules/FindXercesC.cmake +++ b/mk/cmake/Modules/FindXercesC.cmake @@ -89,7 +89,8 @@ IF (XERCESC_STATIC AND NOT XERCESC_LIBRARY) ADD_DEFINITIONS( -DXERCES_STATIC_LIBRARY ) IF(UNIX AND NOT APPLE) - SET(XERCESC_LIBRARY "-Bstatic ${XERCESC_LIBRARY} -Bdynamic -licuuc -licudata") + #SET(XERCESC_LIBRARY "-Bstatic ${XERCESC_LIBRARY} -Bdynamic -licuuc -licudata") + SET(XERCESC_LIBRARY "-Bstatic ${XERCESC_LIBRARY}") ENDIF() ENDIF() ENDIF() diff --git a/mk/linux/setupBuildDeps.sh b/mk/linux/setupBuildDeps.sh index 9d63bb971..9618a984a 100755 --- a/mk/linux/setupBuildDeps.sh +++ b/mk/linux/setupBuildDeps.sh @@ -2,6 +2,10 @@ ubuntu804_32="2.6.24-27-generic" OSTYPE=`uname -m` +# version=$(lsb_release -i | awk '{print $3}') +version=`lsb_release -i | awk '{print $3}'` + +echo "Os = [$OSTYPE] version [$version]" if [ -f /etc/fedora-release ]; then sudo yum groupinstall "Development Tools" @@ -18,7 +22,7 @@ if [ -f /etc/SuSE-release ]; then elif [ -f /etc/fedora-release ]; then echo "=====> Using build deps for fedora 13 and above..." sudo yum install SDL-devel xerces-c-devel mesa-libGL-devel mesa-libGLU-devel libvorbis-devel wxBase wxGTK-devel lua-devel libjpeg-devel libpng-devel libcurl-devel openal-soft-devel libX11-devel libxml2-dev libircclient-dev glew-devel -elif [ "`uname -r`" = $ubuntu804_32 ]; then +elif [ "$OSTYPE" = "i686" ] && [ "$version" = "Ubuntu" ]; then echo "=====> Using build deps for old Ubuntu 8.04..." sudo apt-get install libsdl1.2-dev libxerces28-dev libalut-dev libgl1-mesa-dev libglu1-mesa-dev libvorbis-dev libwxbase2.8-dev libwxgtk2.8-dev libx11-dev liblua5.1-0-dev libjpeg-dev libpng12-dev libcurl4-gnutls-dev libxml2-dev libircclient-dev libglew-dev elif [ "$OSTYPE" = "x86_64" ]; then diff --git a/source/shared_lib/CMakeLists.txt b/source/shared_lib/CMakeLists.txt index f5b1812b9..2260013bf 100644 --- a/source/shared_lib/CMakeLists.txt +++ b/source/shared_lib/CMakeLists.txt @@ -113,13 +113,18 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES}) ENDIF() + OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF) + + IF(WANT_STATIC_LIBS) + SET(JPEG_NAMES libjpeg.a ${JPEG_NAMES}) + ENDIF() + FIND_PACKAGE(JPEG REQUIRED) INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) IF(UNIX) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${JPEG_LIBRARY}) ENDIF() - - OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF) + IF(WANT_STATIC_LIBS) SET(PNG_NAMES libpng.a ${PNG_NAMES}) ENDIF()