CMakeLists.txt
changeset 8613 82c649dfc7c3
parent 8611 90f445317e8a
child 8614 5f74a047cf2c
equal deleted inserted replaced
8612:f7c194533d45 8613:82c649dfc7c3
    42 endif()
    42 endif()
    43 
    43 
    44 #detect Mercurial revision (if present)
    44 #detect Mercurial revision (if present)
    45 if(NOT NOREVISION)
    45 if(NOT NOREVISION)
    46     set(default_build_type "DEBUG")
    46     set(default_build_type "DEBUG")
    47     set(version_suffix "-development_version")
    47     set(HW_DEV true) #becomes isDevBuild
    48     set(HW_DEV true)
       
    49     find_program(HGCOMMAND hg)
    48     find_program(HGCOMMAND hg)
    50     if(HGCOMMAND AND (EXISTS ${CMAKE_SOURCE_DIR}/.hg))
    49     if(HGCOMMAND AND (EXISTS ${CMAKE_SOURCE_DIR}/.hg))
    51         execute_process(COMMAND ${HGCOMMAND} identify -in
    50         execute_process(COMMAND ${HGCOMMAND} identify -in
    52                         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
    51                         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
    53                         OUTPUT_VARIABLE internal_version
    52                         OUTPUT_VARIABLE internal_version
    55                     )
    54                     )
    56         #check local repo status
    55         #check local repo status
    57         string(REGEX REPLACE "[^+]" "" HGCHANGED ${internal_version})
    56         string(REGEX REPLACE "[^+]" "" HGCHANGED ${internal_version})
    58 
    57 
    59         string(REGEX REPLACE "[0-9a-zA-Z]+(.*) ([0-9]+)(.*)" "\\2" revision_number ${internal_version})
    58         string(REGEX REPLACE "[0-9a-zA-Z]+(.*) ([0-9]+)(.*)" "\\2" revision_number ${internal_version})
    60         string(REGEX REPLACE "([0-9a-zA-Z]+)(.*) [0-9]+(.*)" "\\1" revision_hash ${internal_version})
    59         string(REGEX REPLACE "([0-9a-zA-Z]+)(.*) [0-9]+(.*)" "\\1" hash_number ${internal_version})
    61 
    60 
    62         message(STATUS "Building revision ${revision_number} from hash ${revision_hash} ${HGCHANGED}")
    61         message(STATUS "Building revision ${revision_number} from hash ${hash_number}")
    63         if(HGCHANGED)
    62         if(HGCHANGED)
    64             MESSAGE(${WARNING} "Notice: you have uncommitted changes in your repository")
    63             MESSAGE(${WARNING} "You have uncommitted changes in your repository!")
    65         endif()
    64         endif()
    66         set(version_suffix "-${revision_number}${HGCHANGED}")
       
    67     endif()
    65     endif()
    68 else(NOT NOREVISION)
    66 else(NOT NOREVISION)
    69     set(default_build_type "RELEASE")
    67     set(default_build_type "RELEASE")
    70     set(HWDEV false)
    68     set(HWDEV false)
    71     message(STATUS "Building distributable version")
    69     message(STATUS "Building distributable version")
    73 
    71 
    74 
    72 
    75 #versioning
    73 #versioning
    76 set(CPACK_PACKAGE_VERSION_MAJOR 0)
    74 set(CPACK_PACKAGE_VERSION_MAJOR 0)
    77 set(CPACK_PACKAGE_VERSION_MINOR 9)
    75 set(CPACK_PACKAGE_VERSION_MINOR 9)
    78 set(CPACK_PACKAGE_VERSION_PATCH 19${version_suffix})
    76 set(CPACK_PACKAGE_VERSION_PATCH 19)
    79 set(HEDGEWARS_PROTO_VER 44)
    77 set(HEDGEWARS_PROTO_VER 44)
    80 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
    78 set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
    81 
    79 
    82 
    80 
    83 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
    81 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)