# HG changeset patch # User koda # Date 1300402413 -3600 # Node ID e38d1720a0ff4b864ca8315bf730e35e956cc606 # Parent cede79695460d79c0fe82ec96489698d5cd80c8b allows for building hedgewars with SDL-1.3 also reordered other sdl~version dependent macros into a proper cmake module file diff -r cede79695460 -r e38d1720a0ff QTfrontend/CMakeLists.txt --- a/QTfrontend/CMakeLists.txt Thu Mar 17 22:35:46 2011 +0100 +++ b/QTfrontend/CMakeLists.txt Thu Mar 17 23:53:33 2011 +0100 @@ -12,9 +12,6 @@ find_package(Qt4 REQUIRED) include(${QT_USE_FILE}) -#find_package(QCA2 REQUIRED) -#include_directories(${QCA2_INCLUDE_DIR}) - # Configure for SDL find_package(SDL REQUIRED) find_package(SDL_mixer REQUIRED) diff -r cede79695460 -r e38d1720a0ff cmake_modules/FindSDL_Extras.cmake --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cmake_modules/FindSDL_Extras.cmake Thu Mar 17 23:53:33 2011 +0100 @@ -0,0 +1,53 @@ +#if the headers are not installed, the newer apis won't be activated + +#find which version of SDL we are building against +find_file(sdl_h SDL_version.h ${SDL_INCLUDE_DIR}) +if(sdl_h) + file(STRINGS ${sdl_h} sdl_majorversion_tmp REGEX "SDL_MAJOR_VERSION[\t' ']+[0-9]+") + file(STRINGS ${sdl_h} sdl_minorversion_tmp REGEX "SDL_MINOR_VERSION[\t' ']+[0-9]+") + file(STRINGS ${sdl_h} sdl_patchversion_tmp REGEX "SDL_PATCHLEVEL[\t' ']+[0-9]+") + string(REGEX MATCH ".([0-9]+)" sdl_majorversion "${sdl_majorversion_tmp}") + string(REGEX MATCH ".([0-9]+)" sdl_minorversion "${sdl_minorversion_tmp}") + string(REGEX MATCH ".([0-9]+)" sdl_patchversion "${sdl_patchversion_tmp}") + math(EXPR sdl_version "${sdl_majorversion}*10000 + ${sdl_minorversion}*100 + ${sdl_patchversion}") + + if(NOT (sdl_version LESS "010300")) + message(STATUS "Enabling SDL-1.3+ calls") + set(pascal_compiler_flags_cmn "-dSDL13" ${pascal_compiler_flags_cmn}) + endif() +endif() + +#find which version of SDL_mixer we have (for Mix_Init) +find_file(sdlmixer_h SDL_mixer.h ${SDLMIXER_INCLUDE_DIR}) +if(sdlmixer_h) + file(STRINGS ${sdlmixer_h} sdlmixer_majorversion_tmp REGEX "SDL_MIXER_MAJOR_VERSION[\t' ']+[0-9]+") + file(STRINGS ${sdlmixer_h} sdlmixer_minorversion_tmp REGEX "SDL_MIXER_MINOR_VERSION[\t' ']+[0-9]+") + file(STRINGS ${sdlmixer_h} sdlmixer_patchversion_tmp REGEX "SDL_MIXER_PATCHLEVEL[\t' ']+[0-9]+") + string(REGEX MATCH ".([0-9]+)" sdlmixer_majorversion "${sdlmixer_majorversion_tmp}") + string(REGEX MATCH ".([0-9]+)" sdlmixer_minorversion "${sdlmixer_minorversion_tmp}") + string(REGEX MATCH ".([0-9]+)" sdlmixer_patchversion "${sdlmixer_patchversion_tmp}") + math(EXPR sdlmixer_version "${sdlmixer_majorversion}*10000 + ${sdlmixer_minorversion}*100 + ${sdlmixer_patchversion}") + + if(sdlmixer_version GREATER "10209") + message(STATUS "Enabling enhanced SDL_Mixer calls") + set(pascal_compiler_flags_cmn "-dSDL_MIXER_NEWER" ${pascal_compiler_flags_cmn}) + endif() +endif() + +#find which version of SDL_image we have (for IMG_Init) +find_file(sdlimage_h SDL_image.h ${SDLIMAGE_INCLUDE_DIR}) +if(sdlimage_h) + file(STRINGS ${sdlimage_h} sdlimage_majorversion_tmp REGEX "SDL_IMAGE_MAJOR_VERSION[\t' ']+[0-9]+") + file(STRINGS ${sdlimage_h} sdlimage_minorversion_tmp REGEX "SDL_IMAGE_MINOR_VERSION[\t' ']+[0-9]+") + file(STRINGS ${sdlimage_h} sdlimage_patchversion_tmp REGEX "SDL_IMAGE_PATCHLEVEL[\t' ']+[0-9]+") + string(REGEX MATCH ".([0-9]+)" sdlimage_majorversion "${sdlimage_majorversion_tmp}") + string(REGEX MATCH ".([0-9]+)" sdlimage_minorversion "${sdlimage_minorversion_tmp}") + string(REGEX MATCH ".([0-9]+)" sdlimage_patchversion "${sdlimage_patchversion_tmp}") + math(EXPR sdlimage_version "${sdlimage_majorversion}*10000 + ${sdlimage_minorversion}*100 + ${sdlimage_patchversion}") + + if(sdlimage_version GREATER "010207") + message(STATUS "Enabling enhanced SDL_Image calls") + set(pascal_compiler_flags_cmn "-dSDL_IMAGE_NEWER" ${pascal_compiler_flags_cmn}) + endif() +endif() + diff -r cede79695460 -r e38d1720a0ff hedgewars/CMakeLists.txt --- a/hedgewars/CMakeLists.txt Thu Mar 17 22:35:46 2011 +0100 +++ b/hedgewars/CMakeLists.txt Thu Mar 17 23:53:33 2011 +0100 @@ -5,31 +5,9 @@ find_package(SDL_mixer) find_package(Lua) -configure_file(${hedgewars_SOURCE_DIR}/hedgewars/config.inc.in ${CMAKE_CURRENT_BINARY_DIR}/config.inc) - -#find which version of SDL_image and SDL_mixer we have (for IMG_Init and Mix_Init) -#if the headers are not installed, the newer apis won't be activated -find_file(sdlmixer_h SDL_mixer.h ${SDLMIXER_INCLUDE_DIR}) -if(sdlmixer_h) - file(STRINGS ${sdlmixer_h} sdlmixer_version_tmp REGEX "SDL_MIXER_PATCHLEVEL[\t' ']+[0-9]+") - string(REGEX MATCH ".([0-9]+)" sdlmixer_version "${sdlmixer_version_tmp}") +include(${CMAKE_MODULE_PATH}/FindSDL_Extras.cmake) - if(sdlmixer_version GREATER 9) - message(STATUS "Enabling enhanced SDL_Mixer calls") - set(pascal_compiler_flags_cmn "-dSDL_MIXER_NEWER" ${pascal_compiler_flags_cmn}) - endif() -endif() - -find_file(sdlimage_h SDL_image.h ${SDLIMAGE_INCLUDE_DIR}) -if(sdlimage_h) - file(STRINGS ${sdlimage_h} sdlimage_version_tmp REGEX "SDL_IMAGE_PATCHLEVEL[\t' ']+[0-9]+") - string(REGEX MATCH ".([0-9]+)" sdlimage_version "${sdlimage_version_tmp}") - - if(sdlimage_version GREATER 7) - message(STATUS "Enabling enhanced SDL_Image calls") - set(pascal_compiler_flags_cmn "-dSDL_IMAGE_NEWER" ${pascal_compiler_flags_cmn}) - endif() -endif() +configure_file(${hedgewars_SOURCE_DIR}/hedgewars/config.inc.in ${CMAKE_CURRENT_BINARY_DIR}/config.inc) #SOURCE AND PROGRAMS SECTION set(fpc_tryexe fpc) @@ -154,8 +132,8 @@ if(fpc_ver LESS "020200") message(FATAL_ERROR "Minimum required version of FreePascal is 2.2.0") - elseif(APPLE AND x86_64_build AND fpc_ver LESS "020400") - message(FATAL_ERROR "Minimum required version of FreePascal is 2.4.0 for building 64 bit applications!") + elseif(APPLE AND x86_64_build AND (fpc_ver LESS "020400")) + message(FATAL_ERROR "Minimum required version of FreePascal is 2.4.0 for building 64 bit applications on Mac OS X!") endif() else() message(FATAL_ERROR "No Pascal compiler found!")