CMakeLists.txt
changeset 8642 d7062e684466
parent 8641 f3aa0d48a600
child 8644 62756eb6fe9c
equal deleted inserted replaced
8641:f3aa0d48a600 8642:d7062e684466
    59     set(default_build_type "DEBUG")
    59     set(default_build_type "DEBUG")
    60     #write down hash and rev for easy picking should hg be missing
    60     #write down hash and rev for easy picking should hg be missing
    61     file(WRITE "${CMAKE_SOURCE_DIR}/share/version_info.txt" "Hedgewars versioning information, do not modify\nrev ${revision_number}\nhash ${hash_number}\n")
    61     file(WRITE "${CMAKE_SOURCE_DIR}/share/version_info.txt" "Hedgewars versioning information, do not modify\nrev ${revision_number}\nhash ${hash_number}\n")
    62 else()
    62 else()
    63     set(default_build_type "RELEASE")
    63     set(default_build_type "RELEASE")
    64     # TODO think of a better fallback when hg not found
    64     # when compiling outside rev control, fetch revision and hash information from version_info.txt
    65     set(revision_number "0000")
    65     find_file(version_info version_info.txt PATH ${CMAKE_SOURCE_DIR}/share)
    66     set(hash_number "unknown")
    66     if(version_info)
       
    67         file(STRINGS ${version_info} internal_version REGEX "rev")
       
    68         string(REGEX REPLACE "rev ([0-9]*)" "\\1" revision_number ${internal_version})
       
    69         file(STRINGS ${version_info} internal_version REGEX "hash")
       
    70         string(REGEX REPLACE "hash: ([a-zA-Z0-9]*)" "\\1" hash_number ${internal_version})
       
    71     else()
       
    72         message(${WARNING} "${CMAKE_SOURCE_DIR}/share/version_info.txt not found, revision information "
       
    73                            "will be incorrect!!! Contact your source provider to fix this!")
       
    74         set(revision_number "0000")
       
    75         set(hash_number "unknown")
       
    76     endif()
    67 endif()
    77 endif()
    68 
    78 
    69 
    79 
    70 #versioning
    80 #versioning
    71 set(CPACK_PACKAGE_VERSION_MAJOR 0)
    81 set(CPACK_PACKAGE_VERSION_MAJOR 0)