X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=CMakeLists.txt;h=d423390b98646d363806a055a10c27c219211618;hb=4dec9ee4ecba2f8f3b3ebce0fa9b6c8d10b37905;hp=5b8276e742a759e2308d272a278462b15210067a;hpb=9725368902bd3882629b8727d6f898dad0815214;p=supertux.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b8276e74..d423390b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,7 +38,7 @@ PROJECT(SUPERTUX) ## Version, for display in title bar. ## Will add r to the end if svnversion is available. -SET(SUPERTUX_VERSION "0.3.3-SVN") +SET(SUPERTUX_VERSION "0.3.4-GIT") ### CMake configuration @@ -91,7 +91,7 @@ FIND_PACKAGE(OpenAL REQUIRED) INCLUDE_DIRECTORIES(${OPENAL_INCLUDE_DIR}) FIND_PACKAGE(OggVorbis REQUIRED) -INCLUDE_DIRECTORIES(${OGGVORBIS_INCLUDE_DIR}) +INCLUDE_DIRECTORIES(${VORBIS_INCLUDE_DIR}) FIND_PACKAGE(PhysFS REQUIRED) INCLUDE_DIRECTORIES(${PHYSFS_INCLUDE_DIR}) @@ -107,33 +107,34 @@ ENDIF(CURL_FOUND) #LINK_LIBRARIES(${ICONV_LIBRARY}) ## Find revision of WC -MARK_AS_ADVANCED(SVNVERSION_EXECUTABLE) -FIND_PROGRAM(SVNVERSION_EXECUTABLE svnversion) -IF(SVNVERSION_EXECUTABLE) - ADD_CUSTOM_TARGET(svnversion ALL - cmake -E echo "#ifndef VERSION_H" > "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E echo "#define VERSION_H" >> "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E echo_append "#define PACKAGE_VERSION \"${SUPERTUX_VERSION} r" >> "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND svnversion -n ${CMAKE_CURRENT_SOURCE_DIR} >> "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E echo "\"" >> "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E echo "#endif" >> "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E copy_if_different "${CMAKE_BINARY_DIR}/version.h.tmp" "${CMAKE_BINARY_DIR}/version.h" - COMMAND cmake -E remove "${CMAKE_BINARY_DIR}/version.h.tmp" +MARK_AS_ADVANCED(GIT_EXECUTABLE) +FIND_PROGRAM(GIT_EXECUTABLE git) + +IF(GIT_EXECUTABLE) + 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" + COMMAND ${CMAKE_COMMAND} >> "${CMAKE_BINARY_DIR}/version.h.tmp" -E echo_append "#define PACKAGE_VERSION \"${SUPERTUX_VERSION} commit " + COMMAND ${GIT_EXECUTABLE} rev-parse --sq HEAD >> "${CMAKE_BINARY_DIR}/version.h.tmp" + COMMAND ${CMAKE_COMMAND} >> "${CMAKE_BINARY_DIR}/version.h.tmp" -E echo "\"" + COMMAND ${CMAKE_COMMAND} -E echo "#endif" >> "${CMAKE_BINARY_DIR}/version.h.tmp" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_BINARY_DIR}/version.h.tmp" "${CMAKE_BINARY_DIR}/version.h" + COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/version.h.tmp" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" COMMENT "Updating ${CMAKE_BINARY_DIR}/version.h..." VERBATIM) -ELSE(SVNVERSION_EXECUTABLE) - ADD_CUSTOM_TARGET(svnversion ALL - cmake -E echo "#ifndef VERSION_H" > "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E echo "#define VERSION_H" >> "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E echo "#define PACKAGE_VERSION \"${SUPERTUX_VERSION}\"" >> "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E echo "#endif" >> "${CMAKE_BINARY_DIR}/version.h.tmp" - COMMAND cmake -E copy_if_different "${CMAKE_BINARY_DIR}/version.h.tmp" "${CMAKE_BINARY_DIR}/version.h" - COMMAND cmake -E remove "${CMAKE_BINARY_DIR}/version.h.tmp" +ELSE(GIT_EXECUTABLE) + 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" + COMMAND ${CMAKE_COMMAND} >> "${CMAKE_BINARY_DIR}/version.h.tmp" -E echo "#define PACKAGE_VERSION \"${SUPERTUX_VERSION}\"" + COMMAND ${CMAKE_COMMAND} -E echo "#endif" >> "${CMAKE_BINARY_DIR}/version.h.tmp" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_BINARY_DIR}/version.h.tmp" "${CMAKE_BINARY_DIR}/version.h" + COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/version.h.tmp" WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMENT "Updating ${CMAKE_BINARY_DIR}/version.h..." VERBATIM) -ENDIF(SVNVERSION_EXECUTABLE) +ENDIF(GIT_EXECUTABLE) SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/version.h PROPERTIES GENERATED true) @@ -165,6 +166,13 @@ include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/findlocale/) include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/obstack/) include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/binreloc/) +## MSVC Compatibility headers and definitions + +IF(MSVC) +include_directories (${CMAKE_CURRENT_SOURCE_DIR}/mk/msvc) +ADD_DEFINITIONS(-D_USE_MATH_DEFINES -DNOMINMAX) +ENDIF(MSVC) + ## Build list of sources for supertux binary FILE(GLOB SUPERTUX_SOURCES_C RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/obstack/*.c external/findlocale/findlocale.c) @@ -305,7 +313,7 @@ ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ## On Windows, add an icon IF(WIN32) - SET(SUPERTUX_SOURCES_C ${SUPERTUX_SOURCES_C} ${CMAKE_CURRENT_SOURCE_DIR}/data/images/engine/icons/supertux.rc) +# SET(SUPERTUX_SOURCES_C ${SUPERTUX_SOURCES_C} ${CMAKE_CURRENT_SOURCE_DIR}/data/images/engine/icons/supertux.rc) IF(MINGW) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/supertux_rc.o @@ -329,7 +337,7 @@ SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) ## Add target for supertux binary ADD_EXECUTABLE(supertux2 ${CMAKE_BINARY_DIR}/version.h ${SUPERTUX_SOURCES_C} ${SUPERTUX_SOURCES_CXX} ${TINYGETTEXT_SOURCES_CXX}) -ADD_DEPENDENCIES(supertux2 svnversion) +ADD_DEPENDENCIES(supertux2 gitversion) ## Link supertux binary with squirrel and other libraries @@ -368,6 +376,7 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") SET(INSTALL_SUBDIR_DOC "SuperTux.app/Contents/Resources" CACHE STRING "Installation subdir for docs") INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tools/darwin/info.plist DESTINATION "SuperTux.app/Contents/") + INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tools/darwin/receipt DESTINATION "SuperTux.app/Contents/_MASReceipt/") INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/images/engine/icons/supertux.png ${CMAKE_CURRENT_SOURCE_DIR}/data/images/engine/icons/supertux.icns DESTINATION "SuperTux.app/Contents/Resources/") @@ -386,7 +395,7 @@ ENDIF(WIN32 AND NOT UNIX) INSTALL(TARGETS supertux2 DESTINATION ${INSTALL_SUBDIR_BIN}) -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/INSTALL ${CMAKE_CURRENT_SOURCE_DIR}/README ${CMAKE_CURRENT_SOURCE_DIR}/COPYING ${CMAKE_CURRENT_SOURCE_DIR}/WHATSNEW.txt DESTINATION ${INSTALL_SUBDIR_DOC}) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/INSTALL.md ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/COPYING ${CMAKE_CURRENT_SOURCE_DIR}/WHATSNEW.txt DESTINATION ${INSTALL_SUBDIR_DOC}) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/credits.txt DESTINATION ${INSTALL_SUBDIR_SHARE}) @@ -422,12 +431,12 @@ SET(CPACK_RPM_PACKAGE_GROUP "Amusements/Games/Action/Arcade") IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # The OS X PackageMaker doesn't seem to like files with no extension ELSE(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") + SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") SET(CPACK_PACKAGE_VERSION_MAJOR "0") SET(CPACK_PACKAGE_VERSION_MINOR "3") -SET(CPACK_PACKAGE_VERSION_PATCH "3-SVN") +SET(CPACK_PACKAGE_VERSION_PATCH "4-GIT") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "SuperTux ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") SET(CPACK_PACKAGE_EXECUTABLES "..\\\\supertux2" "SuperTux ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") IF(WIN32 AND NOT UNIX)