PROJECT(SUPERTUX)
## Version, for display in title bar.
-## Will add 'commit <hash>' to the end if git is available.
+## Will add 'commit <hash>' to the end if git is available and this is a git repository.
SET(SUPERTUX_VERSION "0.3.4-GIT")
### CMake configuration
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)
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"
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"
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)
## 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)