CMakeLists.txt
changeset 982 0b9a94956916
parent 980 48e17328c155
child 983 fc1aa7c01c55
equal deleted inserted replaced
49:b00a4a6680d1 50:9c9d78389482
    10   INCLUDE(${PROJECT_SOURCE_DIR}/cmake/version.cmake)
    10   INCLUDE(${PROJECT_SOURCE_DIR}/cmake/version.cmake)
    11 ELSEIF(DEFINED ENV{LEMON_VERSION})
    11 ELSEIF(DEFINED ENV{LEMON_VERSION})
    12   SET(LEMON_VERSION $ENV{LEMON_VERSION} CACHE STRING "LEMON version string.")
    12   SET(LEMON_VERSION $ENV{LEMON_VERSION} CACHE STRING "LEMON version string.")
    13 ELSE()
    13 ELSE()
    14   EXECUTE_PROCESS(
    14   EXECUTE_PROCESS(
    15     COMMAND ${PYTHON_EXECUTABLE} ./scripts/chg-len.py
    15     COMMAND
       
    16     hg log -r. --template "{latesttag}"
    16     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
    17     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
    17     OUTPUT_VARIABLE HG_REVISION_PATH
    18     OUTPUT_VARIABLE HG_REVISION_TAG
    18     ERROR_QUIET
    19     ERROR_QUIET
    19     OUTPUT_STRIP_TRAILING_WHITESPACE
    20     OUTPUT_STRIP_TRAILING_WHITESPACE
    20   )
    21   )
    21   EXECUTE_PROCESS(
    22   EXECUTE_PROCESS(
    22     COMMAND hg id -i
    23     COMMAND
       
    24     hg log -r. --template "{latesttagdistance}"
    23     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
    25     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
    24     OUTPUT_VARIABLE HG_REVISION
    26     OUTPUT_VARIABLE HG_REVISION_DIST
    25     ERROR_QUIET
    27     ERROR_QUIET
    26     OUTPUT_STRIP_TRAILING_WHITESPACE
    28     OUTPUT_STRIP_TRAILING_WHITESPACE
    27   )
    29   )
    28   IF(HG_REVISION STREQUAL "")
    30   EXECUTE_PROCESS(
       
    31     COMMAND
       
    32     hg log -r. --template "{node|short}"
       
    33     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
       
    34     OUTPUT_VARIABLE HG_REVISION_ID
       
    35     ERROR_QUIET
       
    36     OUTPUT_STRIP_TRAILING_WHITESPACE
       
    37   )
       
    38 
       
    39   IF(HG_REVISION_TAG STREQUAL "")
    29     SET(HG_REVISION_ID "hg-tip")
    40     SET(HG_REVISION_ID "hg-tip")
    30   ELSE()
    41   ELSE()
    31     IF(HG_REVISION_PATH STREQUAL "")
    42     IF(HG_REVISION_TAG STREQUAL "null")
    32       SET(HG_REVISION_ID ${HG_REVISION})
    43       SET(HG_REVISION_TAG "trunk")
       
    44     ELSEIF(HG_REVISION_TAG MATCHES "^r")
       
    45       STRING(SUBSTRING ${HG_REVISION_TAG} 1 -1 HG_REVISION_TAG)
       
    46     ENDIF()
       
    47     IF(HG_REVISION_DIST STREQUAL "0")
       
    48       SET(HG_REVISION ${HG_REVISION_TAG})
    33     ELSE()
    49     ELSE()
    34       SET(HG_REVISION_ID ${HG_REVISION_PATH}.${HG_REVISION})
    50       SET(HG_REVISION
       
    51 	"${HG_REVISION_TAG}+${HG_REVISION_DIST}-${HG_REVISION_ID}")
    35     ENDIF()
    52     ENDIF()
    36   ENDIF()
    53   ENDIF()
    37   SET(LEMON_VERSION ${HG_REVISION_ID} CACHE STRING "LEMON version string.")
    54 
       
    55   SET(LEMON_VERSION ${HG_REVISION} CACHE STRING "LEMON version string.")
    38 ENDIF()
    56 ENDIF()
    39 
    57 
    40 SET(PROJECT_VERSION ${LEMON_VERSION})
    58 SET(PROJECT_VERSION ${LEMON_VERSION})
    41 
    59 
    42 SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
    60 SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)