diff --git a/CMakeLists.txt b/CMakeLists.txt index 5168f0310..e27acc9ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,24 +59,22 @@ ENDIF(VERSION_IS_TAG) IF(NEED_SVN_REV) SET(SVN_FIND_REV_FAILED FALSE) FIND_PROGRAM(SVNVERSION_EXEC svnversion PATHS /usr/local/bin /usr/bin) + MARK_AS_ADVANCED(SVNVERSION_EXEC) IF(NOT SVNVERSION_EXEC) SET(SVN_FIND_REV_FAILED TRUE) ENDIF(NOT SVNVERSION_EXEC) IF(NOT SVN_FIND_REV_FAILED) MESSAGE(STATUS "Looking for current subversion revision (may be long) ...") - EXECUTE_PROCESS(COMMAND ${SVNVERSION_EXEC} - ${CMAKE_CURRENT_SOURCE_DIR} - --no-newline - RESULT_VARIABLE SVNVERSION_RESULT - OUTPUT_VARIABLE SVN_REV_LONG) + EXECUTE_PROCESS(COMMAND ${SVNVERSION_EXEC} ${CMAKE_CURRENT_SOURCE_DIR} --no-newline + RESULT_VARIABLE SVNVERSION_RESULT + OUTPUT_VARIABLE SVN_REV_LONG) IF(NOT ${SVNVERSION_RESULT} EQUAL 0) SET(SVN_FIND_REV_FAILED TRUE) ENDIF(NOT ${SVNVERSION_RESULT} EQUAL 0) ENDIF(NOT SVN_FIND_REV_FAILED) IF(NOT SVN_FIND_REV_FAILED) IF("${SVN_REV_LONG}" MATCHES ":") - STRING(REGEX REPLACE "^[^:]*:(.*)$" "\\1" SVN_REV - "${SVN_REV_LONG}") + STRING(REGEX REPLACE "^[^:]*:(.*)$" "\\1" SVN_REV "${SVN_REV_LONG}") ELSE("${SVN_REV_LONG}" MATCHES ":") SET(SVN_REV "${SVN_REV_LONG}") ENDIF("${SVN_REV_LONG}" MATCHES ":") diff --git a/cmake/Find3rdPartyDependencies.cmake b/cmake/Find3rdPartyDependencies.cmake index 7811ac61e..375480cf4 100644 --- a/cmake/Find3rdPartyDependencies.cmake +++ b/cmake/Find3rdPartyDependencies.cmake @@ -1,6 +1,6 @@ ################################################################################################ # this Macro find a generic dependency, handling debug suffix -# all the paramenter are required, in case of lists, use "" in calling +# all the parameters are required ; in case of lists, use "" when calling ################################################################################################ MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES SEARCHPATHLIST DEBUGSUFFIX) @@ -30,7 +30,7 @@ MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES SEARCHPATHLIST DEBUGSUFF MARK_AS_ADVANCED("${DEPNAME}_LIBRARY") #MESSAGE(" ${DEPNAME}_LIBRARY = '${${DEPNAME}_LIBRARY}'") - SET( ${DEPNAME}_FOUND "NO" ) + SET(${DEPNAME}_FOUND "NO" ) IF(${DEPNAME}_INCLUDE_DIR AND ${DEPNAME}_LIBRARY) SET( ${DEPNAME}_FOUND "YES" ) ENDIF(${DEPNAME}_INCLUDE_DIR AND ${DEPNAME}_LIBRARY) @@ -67,25 +67,30 @@ MACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN) IF(ZLIB_FOUND) FIND_DEPENDENCY(PNG png.h "libpng;libpng13" ${OSG_3RDPARTY_BIN} "D") IF(PNG_FOUND) - #forcing subsequent FindPNG stuff to not search for other variables.... kind of a hack + #force subsequent FindPNG stuff not to search for other variables ... kind of a hack SET(PNG_PNG_INCLUDE_DIR ${PNG_INCLUDE_DIR} CACHE FILEPATH "") MARK_AS_ADVANCED(PNG_PNG_INCLUDE_DIR) ENDIF(PNG_FOUND) ENDIF(ZLIB_FOUND) ENDMACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN) - - - ################################################################################################ -# this is code for handling optional 3DPARTY usage +# this is code for handling optional 3DPARTY usage (mainly under Windows) ################################################################################################ -OPTION(USE_3DPARTY_BIN "Set to ON to use 3rdParty prebuilt dependencies located side of Speed Dreams sources. Use OFF for avoiding." ON) -IF(USE_3DPARTY_BIN) +OPTION(SDEXT_USE_CUSTOM_3DPARTY "Set to ON to use 3rdParty prebuilt API located in /../3rdparty" ON) +MARK_AS_ADVANCED(SDEXT_USE_CUSTOM_3DPARTY) + +IF(SDEXT_USE_CUSTOM_3DPARTY) GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_SOURCE_DIR} PATH) - SET(ACTUAL_3DPARTY_DIR "${PARENT_DIR}/3rdparty" CACHE PATH "Location of 3rdParty dependencies") - IF(EXISTS ${ACTUAL_3DPARTY_DIR}) - SEARCH_3RDPARTY(${ACTUAL_3DPARTY_DIR}) - ENDIF(EXISTS ${ACTUAL_3DPARTY_DIR}) -ENDIF(USE_3DPARTY_BIN) + SET(SDEXT_CUSTOM_3DPARTY_DIR "${PARENT_DIR}/3rdparty" CACHE PATH + "Location of 3rdParty dependencies") + IF(EXISTS ${SDEXT_CUSTOM_3DPARTY_DIR}) + SEARCH_3RDPARTY(${SDEXT_CUSTOM_3DPARTY_DIR}) + ENDIF(EXISTS ${SDEXT_CUSTOM_3DPARTY_DIR}) + + # Not very useful if not Windows. + IF(NOT WIN32) + MARK_AS_ADVANCED(SDEXT_CUSTOM_3DPARTY_DIR) + ENDIF(NOT WIN32) +ENDIF(SDEXT_USE_CUSTOM_3DPARTY) diff --git a/cmake/macros.cmake b/cmake/macros.cmake index 82cf44cd4..cc8fc41c2 100644 --- a/cmake/macros.cmake +++ b/cmake/macros.cmake @@ -41,7 +41,9 @@ IF(NOT SOURCE_DIR AND IN_SOURCETREE) FIND_PATH(SOURCE_CMAKE_PATH cmake/macros.cmake PATHS . .. ../.. ../../.. ../../../.. ../../../../.. ../../../../../.. ../../../../../../.. ../../../../../../../.. ${CMAKE_SOURCE_DIR} NO_DEFAULT_PATH) FIND_PATH(SOURCE_CMAKE_PATH cmake/macros.cmake PATHS . .. ../.. ../../.. ../../../.. ../../../../.. ../../../../../.. ../../../../../../.. ../../../../../../../.. ${CMAKE_SOURCE_DIR}) GET_FILENAME_COMPONENT(SOURCE_DIR ${SOURCE_CMAKE_PATH} ABSOLUTE CACHE) + MARK_AS_ADVANCED(SOURCE_DIR) SET(SOURCE_CMAKE_PATH "") + MARK_AS_ADVANCED(SOURCE_CMAKE_PATH) ENDIF(NOT SOURCE_DIR AND IN_SOURCETREE) # The path of the folder of the current CMakeLists.txt @@ -56,6 +58,7 @@ ENDIF(NOT _ALREADY_DONE) IF(IN_SOURCETREE) FIND_PATH(CONFIGH_INCLUDE_DIR config.h PATHS ${SOURCE_DIR} ${CMAKE_BINARY_DIR} NO_DEFAULT_PATH) FIND_PATH(CONFIGH_INCLUDE_DIR config.h PATHS ${SOURCE_DIR} ${CMAKE_BINARY_DIR}) + MARK_AS_ADVANCED(CONFIGH_INCLUDE_DIR) IF(CONFIGH_INCLUDE_DIR) SET(HAVE_CONFIG_H TRUE) ELSE(CONFIGH_INCLUDE_DIR) @@ -71,9 +74,11 @@ IF(WIN32) ELSE(WIN32) #UNIX SET(SD_LOCALDIR "~/.speed-dreams-2" CACHE DOC "Where the user settings files should go") ENDIF(WIN32) +MARK_AS_ADVANCED(SD_LOCALDIR) # Determine the default value of the tools executable file prefix. SET(SD_TOOLS_EXECPREFIX "sd2-" CACHE DOC "Prefix for the tools executable names") +MARK_AS_ADVANCED(SD_TOOLS_EXECPREFIX) # Determine the default value of the data, bin and lib folders. IF(IN_SOURCETREE) @@ -93,6 +98,10 @@ IF(IN_SOURCETREE) SET(SD_LIBDIR ${_DEFLIBDIR}/games/speed-dreams-2 CACHE PATH "Place where the libraries should go") SET(SD_INCLUDEDIR include/speed-dreams-2 CACHE PATH "Place where the include files should go") ENDIF(WIN32) + MARK_AS_ADVANCED(SD_BINDIR) + MARK_AS_ADVANCED(SD_DATADIR) + MARK_AS_ADVANCED(SD_LIBDIR) + MARK_AS_ADVANCED(SD_INCLUDEDIR) ELSE(IN_SOURCETREE) SET(SD_DATADIR ${SD_DATADIR_ABS}) SET(SD_LIBDIR ${SD_LIBDIR_ABS}) @@ -368,6 +377,7 @@ MACRO(ADD_INTERFACE_INCLUDEDIR) PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(INTERFACE_INCLUDE_DIR raceman.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(INTERFACE_INCLUDE_DIR) IF(INTERFACE_INCLUDE_DIR) INCLUDE_DIRECTORIES(${INTERFACE_INCLUDE_DIR}) ELSE(INTERFACE_INCLUDE_DIR) @@ -396,6 +406,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_PORTABILITY_INCLUDE_DIR portability.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(SDLIB_PORTABILITY_INCLUDE_DIR portability.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(SDLIB_PORTABILITY_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_PORTABILITY_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "tgf") IF(IN_SOURCETREE) @@ -405,6 +416,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_TGF_INCLUDE_DIR tgf.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(SDLIB_TGF_INCLUDE_DIR tgf.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(SDLIB_TGF_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_TGF_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "tgfclient") IF(IN_SOURCETREE) @@ -414,6 +426,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_TGFCLIENT_INCLUDE_DIR tgfclient.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(SDLIB_TGFCLIENT_INCLUDE_DIR tgfclient.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(SDLIB_TGFCLIENT_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_TGFCLIENT_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "tgfdata") IF(IN_SOURCETREE) @@ -423,6 +436,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_TGFDATA_INCLUDE_DIR tgfdata.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(SDLIB_TGFDATA_INCLUDE_DIR tgfdata.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(SDLIB_TGFDATA_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_TGFDATA_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "math") IF(IN_SOURCETREE) @@ -432,6 +446,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_MATH_INCLUDE_DIR linalg_t.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include PATH_SUFFIXES "" math tmath NO_DEFAULT_PATH) FIND_PATH(SDLIB_MATH_INCLUDE_DIR linalg_t.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include PATH_SUFFIXES "" math tmath) + MARK_AS_ADVANCED(SDLIB_MATH_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_MATH_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "txml") IF(IN_SOURCETREE) @@ -441,6 +456,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_TXML_INCLUDE_DIR xml.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(SDLIB_TXML_INCLUDE_DIR xml.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(SDLIB_TXML_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_TXML_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "robottools") IF(IN_SOURCETREE) @@ -450,6 +466,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_ROBOTTOOLS_INCLUDE_DIR robottools.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(SDLIB_ROBOTTOOLS_INCLUDE_DIR robottools.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(SDLIB_ROBOTTOOLS_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_ROBOTTOOLS_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "learning") IF(IN_SOURCETREE) @@ -459,6 +476,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_LEARNING_INCLUDE_DIR learn_debug.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include PATH_SUFFIXES "" learning NO_DEFAULT_PATH) FIND_PATH(SDLIB_LEARNING_INCLUDE_DIR learn_debug.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include PATH_SUFFIXES "" learning) + MARK_AS_ADVANCED(SDLIB_LEARNING_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_LEARNING_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "networking") IF(IN_SOURCETREE) @@ -468,6 +486,7 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_NETWORKING_INCLUDE_DIR network.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(SDLIB_NETWORKING_INCLUDE_DIR network.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(SDLIB_NETWORKING_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_NETWORKING_INCLUDE_DIR) ELSEIF(SDLIB_LIB STREQUAL "raceengine") IF(IN_SOURCETREE) @@ -477,16 +496,8 @@ MACRO(ADD_SDLIB_INCLUDEDIR) ENDIF(IN_SOURCETREE) FIND_PATH(SDLIB_RACEENGINE_INCLUDE_DIR raceengine.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(SDLIB_RACEENGINE_INCLUDE_DIR raceengine.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(SDLIB_RACEENGINE_INCLUDE_DIR) SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_RACEENGINE_INCLUDE_DIR) - ELSEIF(SDLIB_LIB STREQUAL "legacymenu") - IF(IN_SOURCETREE) - SET(INCLUDE_CANDIDATE ${SOURCE_DIR}/src/modules/userinterface/legacymenu) - ELSE(IN_SOURCETREE) - SET(INCLUDE_CANDIDATE ${SD_INCLUDEDIR_ABS}) - ENDIF(IN_SOURCETREE) - FIND_PATH(SDLIB_LEGACYMENU_INCLUDE_DIR legacymenu.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) - FIND_PATH(SDLIB_LEGACYMENU_INCLUDE_DIR legacymenu.h PATHS ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) - SET(SDLIB_EXTRA_INCLUDEDIR SDLIB_LEGACYMENU_INCLUDE_DIR) ELSE(SDLIB_LIB STREQUAL "portability") SET(SDLIB_FOUND_LIB FALSE) IF(NOT SDLIB_LIB STREQUAL "OPTIONAL") @@ -883,6 +894,7 @@ MACRO(ADD_XRANDR_INCLUDEDIR) FIND_PACKAGE(X11) FIND_PATH(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h ${X11_INC_SEARCH_PATH}) + MARK_AS_ADVANCED(X11_Xrandr_INCLUDE_PATH) IF(X11_Xrandr_INCLUDE_PATH) INCLUDE_DIRECTORIES(${X11_Xrandr_INCLUDE_PATH} ${X11_INCLUDE_DIR}) @@ -936,6 +948,7 @@ MACRO(ADD_SD_COMPILE_OPTIONS) ENDIF(IN_SOURCETREE) FIND_PATH(CONFIGH_INCLUDE_DIR config.h ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH) FIND_PATH(CONFIGH_INCLUDE_DIR config.h ${INCLUDE_CANDIDATE} /usr/include /usr/local/include) + MARK_AS_ADVANCED(CONFIGH_INCLUDE_DIR) IF(CONFIGH_INCLUDE_DIR) INCLUDE_DIRECTORIES(${CONFIGH_INCLUDE_DIR}) ELSE(CONFIGH_INCLUDE_DIR) diff --git a/cmake/packagemaker.cmake b/cmake/packagemaker.cmake index db4ac1fbf..0916a56ed 100644 --- a/cmake/packagemaker.cmake +++ b/cmake/packagemaker.cmake @@ -57,7 +57,9 @@ SET(CPACK_SOURCE_IGNORE_FILES IF(UNIX) SET(PACKAGERS_BINARY "DEB" CACHE STRING "CPack binary package generators to use (separated with ';', among DEB, RPM, STGZ, TGZ, TBZ2, TZ, ZIP)") + MARK_AS_ADVANCED(PACKAGERS_BINARY) SET(PACKAGERS_SOURCE "TBZ2" CACHE STRING "CPack source package generators to use (separated with ';', among TGZ, TBZ2, TZ, ZIP)") + MARK_AS_ADVANCED(PACKAGERS_SOURCE) # 9.10 ubuntu depends SET(CPACK_DEBIAN_PACKAGE_DEPENDS "freeglut3,libc6(>=2.7),libgcc1(>=1:4.1.1),libgl1-mesa-glx | libgl1,libglu1-mesa | libglu1,libice6(>=1:1.0.0),libopenal1(>=1:1.3.253),libpng12-0(>=1.2.13-4),libsm6,libstdc++6(>=4.2.1),libx11-6,libxext6,libxi6(>=2:1.1.3-1ubuntu1),libxmu6,libxrandr2,libxrender1,libxt6,libxxf86vm1,plib1.8.4c2(>=1.2.4),zlib1g(>=1:1.1.4)") @@ -82,7 +84,9 @@ IF(WIN32) SET(EXECUTABLE_PATHNAME "$INSTDIR\\\\bin\\\\${EXECUTABLE_NAME}.exe") SET(PACKAGERS_BINARY "NSIS" CACHE STRING "CPack binary package generators to use (separated with ';', among NSIS, CygwinBinary, STGZ, TGZ, TBZ2, TZ, ZIP)") + MARK_AS_ADVANCED(PACKAGERS_BINARY) SET(PACKAGERS_SOURCE "ZIP" CACHE STRING "CPack source package generators to use (separated with ';', among TGZ, TBZ2, TZ, ZIP)") + MARK_AS_ADVANCED(PACKAGERS_SOURCE) SET(CPACK_PACKAGE_FILE_NAME "${PACKAGE_FILE_PREFIX}-${CPACK_PACKAGE_VERSION}-win32-setup") SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}") @@ -139,7 +143,9 @@ ENDIF(WIN32) IF(APPLE) SET(PACKAGERS_BINARY "DragNDrop" CACHE STRING "CPack binary package generators to use (separated with ';', among Bundle, DragNDrop, PackageMaker, OSXX11, STGZ, TGZ, TBZ2, TZ, ZIP)") + MARK_AS_ADVANCED(PACKAGERS_BINARY) SET(PACKAGERS_SOURCE "TBZ2" CACHE STRING "CPack source package generators to use (separated with ';', among TGZ, TBZ2, TZ, ZIP)") + MARK_AS_ADVANCED(PACKAGERS_SOURCE) # Source package specific settings. LIST(APPEND CPACK_SOURCE_IGNORE_FILES "Makefile$")