X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=CMakeLists.txt;h=83505a8ef2284ee12a30adb7230eeb98b1a93ae6;hb=8e52a5b000d732e96b1cc461163c4778b434dc27;hp=8b1104b2a2e92bff9d4348ad736267d29f814de7;hpb=f266dcdda36d5ef50bac644be34dbb4d4fffa7d1;p=supertux.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b1104b2a..83505a8ef 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,13 +66,13 @@ 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) OPTION(ENABLE_OPENGL "Enable OpenGL support" ON) OPTION(GLBINDING_ENABLED "Use glbinding instead of GLEW" OFF) -OPTION(GLBINDING_DEBUG_OUTPUT "Enable glbinding debug output for each called OpenGL function" ON) +OPTION(GLBINDING_DEBUG_OUTPUT "Enable glbinding debug output for each called OpenGL function" OFF) IF(ENABLE_OPENGL) FIND_PACKAGE(OpenGL) IF(OPENGL_FOUND) @@ -106,7 +106,7 @@ INCLUDE_DIRECTORIES(${VORBIS_INCLUDE_DIR}) FIND_PACKAGE(PhysFS REQUIRED) INCLUDE_DIRECTORIES(${PHYSFS_INCLUDE_DIR}) -FIND_PACKAGE(CURL) +FIND_PACKAGE(CURL REQUIRED) IF(CURL_FOUND) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) SET(HAVE_LIBCURL 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) @@ -272,7 +278,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") + # 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 +353,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 +438,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