X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=CMakeLists.txt;h=c852121f014c14982d8bcadd1b212c0af7014068;hb=850eecd393587738d7105fa3e5e98341662e1e5d;hp=3c7f7432a2d8e133bca37c3e39c8556eb25a7f22;hpb=b97bdc0920e0862de6defc2df382a38383db1069;p=supertux.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c7f7432a..c852121f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,7 @@ PROJECT(SUPERTUX) ## Version, for display in title bar. -## Will add 'commit ' to the end if git is available. +## Will add 'commit ' to the end if git is available and this is a git repository. SET(SUPERTUX_VERSION "0.3.4-GIT") ### CMake configuration @@ -66,7 +66,7 @@ INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIR}) LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) INCLUDE(FindPkgConfig) -PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2) +PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2>=2.0.1) PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0) SET(HAVE_SDL TRUE) @@ -120,7 +120,10 @@ ENDIF(CURL_FOUND) MARK_AS_ADVANCED(GIT_EXECUTABLE) FIND_PROGRAM(GIT_EXECUTABLE git) -IF(GIT_EXECUTABLE) +# The .git directory inside the base directory +SET(GIT_CFG_DIR "${CMAKE_BINARY_DIR}/.git/") + +IF(GIT_EXECUTABLE AND EXISTS ${GIT_CFG_DIR}) ADD_CUSTOM_TARGET(gitversion ALL ${CMAKE_COMMAND} -E echo "#ifndef VERSION_H" > "${CMAKE_BINARY_DIR}/version.h.tmp" COMMAND ${CMAKE_COMMAND} -E echo "#define VERSION_H" >> "${CMAKE_BINARY_DIR}/version.h.tmp" @@ -133,7 +136,7 @@ IF(GIT_EXECUTABLE) WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" COMMENT "Updating ${CMAKE_BINARY_DIR}/version.h..." VERBATIM) -ELSE(GIT_EXECUTABLE) +ELSE(GIT_EXECUTABLE AND EXISTS ${GIT_CFG_DIR}) ADD_CUSTOM_TARGET(gitversion ALL ${CMAKE_COMMAND} -E echo "#ifndef VERSION_H" > "${CMAKE_BINARY_DIR}/version.h.tmp" COMMAND ${CMAKE_COMMAND} -E echo "#define VERSION_H" >> "${CMAKE_BINARY_DIR}/version.h.tmp" @@ -144,7 +147,7 @@ ELSE(GIT_EXECUTABLE) WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMENT "Updating ${CMAKE_BINARY_DIR}/version.h..." VERBATIM) -ENDIF(GIT_EXECUTABLE) +ENDIF(GIT_EXECUTABLE AND EXISTS ${GIT_CFG_DIR}) SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/version.h PROPERTIES GENERATED true) @@ -178,10 +181,13 @@ include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/obstack/) ## MSVC Compatibility headers and definitions IF(MSVC) -include_directories (${CMAKE_CURRENT_SOURCE_DIR}/mk/msvc) - ADD_DEFINITIONS(-D_USE_MATH_DEFINES -DNOMINMAX) + include_directories (${CMAKE_CURRENT_SOURCE_DIR}/mk/msvc) ENDIF(MSVC) +IF(WIN32) + ADD_DEFINITIONS(-D_USE_MATH_DEFINES -DNOMINMAX) +ENDIF(WIN32) + ## Build list of sources for supertux binary FILE(GLOB SUPERTUX_SOURCES_C RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/obstack/*.c external/findlocale/findlocale.c) @@ -254,6 +260,7 @@ endif(COMPILER_SUPPORTS_CXX11) IF(CMAKE_COMPILER_IS_GNUCC) + ADD_DEFINITIONS(-D_USE_MATH_DEFINES -DNOMINMAX) SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING "Debug flags") SET(CMAKE_C_FLAGS_DEBUG "-O0 -g" CACHE STRING "Debug flags") SET(CMAKE_CXX_FLAGS_PROFILE "-pg" CACHE STRING "Profile flags") @@ -272,7 +279,9 @@ IF(CMAKE_COMPILER_IS_GNUCC) # -Wold-style-cast -Wpadded -Wabi -Winline -Wunsafe-loop-optimizations -Wstrict-overflow=5 # fails on MinGW: # -ansi - SET(SUPERTUX2_EXTRA_WARNING_FLAGS "-fdiagnostics-show-option -pedantic -Wno-long-long -Wcast-align -Wdisabled-optimization -Winit-self -Winvalid-pch -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wpacked -Wredundant-decls -Wstack-protector -Wformat=2 -Weffc++ -Wctor-dtor-privacy -Wstrict-null-sentinel -Wno-unused-parameter -Wshadow -Wnon-virtual-dtor -Wcast-qual") + # fails on clang: + # -Wlogical-op -Wstrict-null-sentinel + SET(SUPERTUX2_EXTRA_WARNING_FLAGS "-fdiagnostics-show-option -pedantic -Wno-long-long -Wcast-align -Wdisabled-optimization -Winit-self -Winvalid-pch -Wmissing-include-dirs -Wmissing-noreturn -Wpacked -Wredundant-decls -Wstack-protector -Wformat=2 -Weffc++ -Wctor-dtor-privacy -Wno-unused-parameter -Wshadow -Wnon-virtual-dtor -Wcast-qual") ENDIF(WARNINGS) ENDIF(CMAKE_COMPILER_IS_GNUCC) @@ -345,7 +354,7 @@ IF(WIN32) IF(MINGW) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/supertux_rc.o - COMMAND windres.exe -I${CMAKE_CURRENT_SOURCE_DIR}/data/images/engine/icons -i${CMAKE_CURRENT_SOURCE_DIR}/data/images/engine/icons/supertux.rc -o ${CMAKE_CURRENT_BINARY_DIR}/supertux_rc.o) + COMMAND ${CMAKE_RC_COMPILER} -I${CMAKE_CURRENT_SOURCE_DIR}/data/images/engine/icons -i${CMAKE_CURRENT_SOURCE_DIR}/data/images/engine/icons/supertux.rc -o ${CMAKE_CURRENT_BINARY_DIR}/supertux_rc.o) SET(SUPERTUX_SOURCES_C ${SUPERTUX_SOURCES_C} ${CMAKE_CURRENT_BINARY_DIR}/supertux_rc.o) ELSE(MINGW) SET(SUPERTUX_EXE_SRCS ${SUPERTUX_EXE_SRCS} supertux.rc) @@ -430,6 +439,8 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/INSTALL.md ${CMAKE_CURRENT_SOURCE_DIR} INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/credits.txt DESTINATION ${INSTALL_SUBDIR_SHARE}) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/supertux2.appdata.xml DESTINATION "share/appdata" ) + INSTALL(DIRECTORY data/images data/fonts data/levels