CMakeLists.txt
changeset 15471 404d71b43347
parent 15469 88770c206c31
equal deleted inserted replaced
15470:1c342763102f 15471:404d71b43347
    51 endif()
    51 endif()
    52 
    52 
    53 option(NOVERSIONINFOUPDATE "Disable update of version_info.txt. To be used if source is in a git/repo that is NOT the hedgewars repo" OFF)
    53 option(NOVERSIONINFOUPDATE "Disable update of version_info.txt. To be used if source is in a git/repo that is NOT the hedgewars repo" OFF)
    54 
    54 
    55 
    55 
       
    56 # Uppercase CMAKE_BUILD_TYPE because all checks are done in a case-sensitive manner
       
    57 string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE)
       
    58 message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
       
    59 
       
    60 
    56 if(BUILD_ENGINE_C AND NOT NOVIDEOREC)
    61 if(BUILD_ENGINE_C AND NOT NOVIDEOREC)
    57     if((CMAKE_BUILD_TYPE MATCHES "RELEASE") OR (CMAKE_BUILD_TYPE MATCHES "RELWITHDEBUGINFO"))
    62     if((CMAKE_BUILD_TYPE MATCHES "RELEASE") OR (CMAKE_BUILD_TYPE MATCHES "RELWITHDEBINFO"))
    58         message("NOTE: Video recorder support disabled. It's incompatible with BUILD_ENGINE_C")
    63         message("NOTE: Video recorder support disabled. It's incompatible with BUILD_ENGINE_C")
    59         set(BUILD_ENGINE_C ON CACHE STRING "Required for BUILD_ENGINE_JS" FORCE)
    64         set(BUILD_ENGINE_C ON CACHE STRING "Required for BUILD_ENGINE_JS" FORCE)
    60     else()
    65     else()
    61         message("WARNING: Video recorder support is currently incompatible with BUILD_ENGINE_C, the video recorder won't work (but demos are fine)! See <https://issues.hedgewars.org/show_bug.cgi?id=722>.")
    66         message("WARNING: Video recorder support is currently incompatible with BUILD_ENGINE_C, the video recorder won't work (but demos are fine)! See <https://issues.hedgewars.org/show_bug.cgi?id=722>.")
    62     endif()
    67     endif()
    91 #versioning
    96 #versioning
    92 set(CPACK_PACKAGE_VERSION_MAJOR 1)
    97 set(CPACK_PACKAGE_VERSION_MAJOR 1)
    93 set(CPACK_PACKAGE_VERSION_MINOR 0)
    98 set(CPACK_PACKAGE_VERSION_MINOR 0)
    94 set(CPACK_PACKAGE_VERSION_PATCH 0)
    99 set(CPACK_PACKAGE_VERSION_PATCH 0)
    95 set(HEDGEWARS_PROTO_VER 59)
   100 set(HEDGEWARS_PROTO_VER 59)
    96 if((CMAKE_BUILD_TYPE MATCHES "RELEASE") OR (CMAKE_BUILD_TYPE MATCHES "RELWITHDEBUGINFO"))
   101 if((CMAKE_BUILD_TYPE MATCHES "RELEASE") OR (CMAKE_BUILD_TYPE MATCHES "RELWITHDEBINFO"))
    97     set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
   102     set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
    98 else()
   103 else()
    99     set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-dev")
   104     set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-dev")
   100 endif()
   105 endif()
   101 include(${CMAKE_MODULE_PATH}/revinfo.cmake)
   106 include(${CMAKE_MODULE_PATH}/revinfo.cmake)
   110 include(${CMAKE_MODULE_PATH}/platform.cmake)
   115 include(${CMAKE_MODULE_PATH}/platform.cmake)
   111 
   116 
   112 
   117 
   113 #when build type is not specified, assume Debug/Release according to build version information
   118 #when build type is not specified, assume Debug/Release according to build version information
   114 if(CMAKE_BUILD_TYPE)
   119 if(CMAKE_BUILD_TYPE)
   115     string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE)
       
   116     if(NOT((CMAKE_BUILD_TYPE MATCHES "RELEASE") OR
   120     if(NOT((CMAKE_BUILD_TYPE MATCHES "RELEASE") OR
   117            (CMAKE_BUILD_TYPE MATCHES "DEBUG") OR
   121            (CMAKE_BUILD_TYPE MATCHES "DEBUG") OR
   118            (CMAKE_BUILD_TYPE MATCHES "RELWITHDEBINFO")))
   122            (CMAKE_BUILD_TYPE MATCHES "RELWITHDEBINFO")))
   119         set(CMAKE_BUILD_TYPE ${default_build_type} CACHE STRING "Build type (Debug/Release/RelWithDebInfo)" FORCE)
   123         set(CMAKE_BUILD_TYPE ${default_build_type} CACHE STRING "Build type (Debug/Release/RelWithDebInfo)" FORCE)
   120         message(STATUS "Unknown build type ${CMAKE_BUILD_TYPE}, using default (${default_build_type})")
   124         message(STATUS "Unknown build type ${CMAKE_BUILD_TYPE}, using default (${default_build_type})")