X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=CMakeLists.txt;h=91782025b874db9cfc29740a0a57a3d1a5e340d0;hb=755ac9ae45065248ddf1343a82671f871b447577;hp=002bfc4421c24d23545ce915bdbca60a6a425055;hpb=a9b8c5d9aa680049a7c007418fe852efcbd592be;p=supertux.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 002bfc442..91782025b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,8 +39,8 @@ PROJECT(SUPERTUX) ### CMake configuration -# allow building with old CMake. Set compatibility options. Use some bundled modules as a fallback -CMAKE_MINIMUM_REQUIRED(VERSION 2.4) +# allow building with CMake 2.6. Set compatibility options. Use some bundled modules as a fallback +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) IF(COMMAND cmake_policy) CMAKE_POLICY(SET CMP0003 NEW) ENDIF(COMMAND cmake_policy) @@ -144,9 +144,10 @@ ENDIF(SVNVERSION_EXECUTABLE) 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 @@ -200,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) @@ -225,15 +236,14 @@ ENDIF(ENABLE_SQDBG) OPTION(GENERATE_WRAPPER "Build miniswig and generate the wrapper" ${DEBUG}) IF(GENERATE_WRAPPER) ADD_SUBDIRECTORY(tools/miniswig) - FILE(GLOB GENERATE_WRAPPER_SOURCES RELATIVE ${SUPERTUX_SOURCE_DIR} src/scripting/*.?pp) - LIST(REMOVE_ITEM GENERATE_WRAPPER_SOURCES "src/scripting/wrapper.cpp" "src/scripting/wrapper.hpp") ADD_CUSTOM_COMMAND( OUTPUT ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.cpp ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.hpp COMMAND cd ${SUPERTUX_SOURCE_DIR} && ${CMAKE_CXX_COMPILER} ARGS -x "c++" -E -CC -DSCRIPTING_API src/scripting/wrapper.interface.hpp -o ${SUPERTUX_BINARY_DIR}/miniswig.tmp COMMAND tools/miniswig/miniswig ARGS --input miniswig.tmp --output-cpp ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.cpp --output-hpp ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.hpp --module supertux --select-namespace Scripting - DEPENDS ${GENERATE_WRAPPER_SOURCES} tools/miniswig/miniswig + DEPENDS tools/miniswig/miniswig + IMPLICIT_DEPENDS CXX ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.interface.hpp ) ENDIF(GENERATE_WRAPPER) @@ -276,7 +286,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}" @@ -355,14 +365,14 @@ IF(WIN32 AND NOT UNIX) SET(INSTALL_SUBDIR_SHARE "data/") SET(INSTALL_SUBDIR_DOC ".") - INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/SDL.dll DESTINATION ${INSTALL_SUBDIR_BIN}) - INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/SDL_image.dll DESTINATION ${INSTALL_SUBDIR_BIN}) - INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/iconv.dll DESTINATION ${INSTALL_SUBDIR_BIN}) - INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/libogg-0.dll DESTINATION ${INSTALL_SUBDIR_BIN}) - INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/libphysfs-1-0-0.dll DESTINATION ${INSTALL_SUBDIR_BIN}) - INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/OpenAl32.dll DESTINATION ${INSTALL_SUBDIR_BIN}) - INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/wrap_oal.dll DESTINATION ${INSTALL_SUBDIR_BIN}) - INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/libcurl-4.dll DESTINATION ${INSTALL_SUBDIR_BIN}) + INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/SDL.dll + ${SUPERTUX_SOURCE_DIR}/SDL_image.dll + ${SUPERTUX_SOURCE_DIR}/iconv.dll + ${SUPERTUX_SOURCE_DIR}/libogg-0.dll + ${SUPERTUX_SOURCE_DIR}/libphysfs-1-0-0.dll + ${SUPERTUX_SOURCE_DIR}/OpenAl32.dll + ${SUPERTUX_SOURCE_DIR}/wrap_oal.dll + ${SUPERTUX_SOURCE_DIR}/libcurl-4.dll DESTINATION ${INSTALL_SUBDIR_BIN}) INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/data/images/engine/icons/supertux.png ${SUPERTUX_SOURCE_DIR}/data/images/engine/icons/supertux.ico DESTINATION ".") @@ -395,14 +405,19 @@ INSTALL(TARGETS supertux2 DESTINATION ${INSTALL_SUBDIR_BIN}) INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/INSTALL ${SUPERTUX_SOURCE_DIR}/README ${SUPERTUX_SOURCE_DIR}/COPYING ${SUPERTUX_SOURCE_DIR}/WHATSNEW.txt DESTINATION ${INSTALL_SUBDIR_DOC}) 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) -INSTALL(DIRECTORY data/speech DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE) -INSTALL(DIRECTORY data/sounds DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE) -INSTALL(DIRECTORY data/locale DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE) + +FILE(GLOB INSTALL_DATA_DIRS ${SUPERTUX_SOURCE_DIR}/data/*/) +message(STATUS blah ${INSTALL_DATA_DIRS} blah) + +INSTALL(DIRECTORY data/images + data/fonts + data/levels + data/music + data/scripts + data/speech + data/sounds + data/locale + DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE) ## CPack/Installation-specific stuff