X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=CMakeLists.txt;h=ee73e777079b2682729ee9ec3971d2600555dd99;hb=7e15c4f871809033278711a6e9327616da00c4c9;hp=fedd77a6c6ac4714f8445da7117b996a4b47465a;hpb=afd5f1b33c110104a7f286d6d7854157919a0a52;p=supertux.git diff --git a/CMakeLists.txt b/CMakeLists.txt index fedd77a6c..ee73e7770 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,8 +39,12 @@ PROJECT(SUPERTUX) ### CMake configuration -# allow building with old CMake. Use some bundled modules as a fallback +# allow building with old CMake. Set compatibility options. Use some bundled modules as a fallback CMAKE_MINIMUM_REQUIRED(VERSION 2.4) +IF(COMMAND cmake_policy) + CMAKE_POLICY(SET CMP0003 NEW) +ENDIF(COMMAND cmake_policy) + SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SUPERTUX_SOURCE_DIR}/mk/cmake) # move some config clutter to the advanced section @@ -128,19 +132,22 @@ ENDIF(CURL_FOUND) #LINK_LIBRARIES(${ICONV_LIBRARY}) ## Find revision of WC -FIND_PACKAGE(Subversion) -IF(Subversion_FOUND) - Subversion_WC_INFO(${SUPERTUX_SOURCE_DIR} SUPERTUX) +MARK_AS_ADVANCED(SVNVERSION_EXECUTABLE) +FIND_PROGRAM(SVNVERSION_EXECUTABLE svnversion) +IF(SVNVERSION_EXECUTABLE) + EXECUTE_PROCESS(COMMAND svnversion -n ${SUPERTUX_SOURCE_DIR} + OUTPUT_VARIABLE SUPERTUX_WC_REVISION) SET(REVISION " r${SUPERTUX_WC_REVISION}") -ENDIF(Subversion_FOUND) +ENDIF(SVNVERSION_EXECUTABLE) ## Check platform-dependent build options INCLUDE(ConfigureChecks) -## Create config.h +## Create config.h and version.h configure_file(config.h.cmake ${CMAKE_BINARY_DIR}/config.h ) +configure_file(version.h.cmake ${CMAKE_BINARY_DIR}/version.h ) include_directories (${CMAKE_BINARY_DIR}/) ## Also execute instructions in src/squirrel/CMakeLists.txt @@ -194,14 +201,24 @@ ENDIF(PRECOMPILE_HEADERS) ## Debug options -OPTION(WERROR "Stops on first compiler warning in debug mode" ON) +OPTION(DEBUG "Build with debugging options" ON) +OPTION(WERROR "Stop on first compiler warning" ON) IF(CMAKE_COMPILER_IS_GNUCC) - ADD_DEFINITIONS(-Wall -Wextra) + ADD_DEFINITIONS(-Wall -Wextra -W) + IF (DEBUG) + REMOVE_DEFINITIONS(-O2) + ADD_DEFINITIONS(-O0 -g) + ELSE (DEBUG) + ADD_DEFINITIONS(-O2) + REMOVE_DEFINITIONS(-O0 -g) + ENDIF (DEBUG) SET(CMAKE_CXX_FLAGS_PROFILE "-pg") SET(CMAKE_C_FLAGS_PROFILE "-pg") SET(CMAKE_LD_FLAGS_PROFILE "-pg") IF(WERROR) ADD_DEFINITIONS(-Werror) + ELSE(WERROR) + REMOVE_DEFINITIONS(-Werror) ENDIF(WERROR) ENDIF(CMAKE_COMPILER_IS_GNUCC) @@ -270,7 +287,7 @@ IF(GENERATE_MESSAGESPOT) ADD_CUSTOM_COMMAND( OUTPUT ${MESSAGES_POT_FILE} COMMAND ${XGETTEXT_EXECUTABLE} - ARGS --keyword="_:1" --language=Lisp --sort-by-file --output=${MESSAGES_POT_FILE} ${SUPERTUX_LEVELS} + ARGS --keyword="_:1" --language=Lisp --force-po --sort-by-file "--output=${MESSAGES_POT_FILE}" ${SUPERTUX_LEVELS} DEPENDS ${SUPERTUX_LEVELS} WORKING_DIRECTORY ${SUPERTUX_SOURCE_DIR} COMMENT "Generating POT file ${MESSAGES_POT_FILE}" @@ -390,6 +407,7 @@ INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/INSTALL ${SUPERTUX_SOURCE_DIR}/README ${SUP INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/data/credits.txt DESTINATION ${INSTALL_SUBDIR_SHARE}) INSTALL(DIRECTORY data/images DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE) +INSTALL(DIRECTORY data/fonts DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY data/levels DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY data/music DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE) INSTALL(DIRECTORY data/scripts DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE)