1.1 --- a/CMakeLists.txt Mon Jan 30 10:54:49 2012 +0100
1.2 +++ b/CMakeLists.txt Mon Jan 30 17:49:50 2012 +0100
1.3 @@ -12,29 +12,47 @@
1.4 SET(LEMON_VERSION $ENV{LEMON_VERSION} CACHE STRING "LEMON version string.")
1.5 ELSE()
1.6 EXECUTE_PROCESS(
1.7 - COMMAND ${PYTHON_EXECUTABLE} ./scripts/chg-len.py
1.8 + COMMAND
1.9 + hg log -r. --template "{latesttag}"
1.10 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
1.11 - OUTPUT_VARIABLE HG_REVISION_PATH
1.12 + OUTPUT_VARIABLE HG_REVISION_TAG
1.13 ERROR_QUIET
1.14 OUTPUT_STRIP_TRAILING_WHITESPACE
1.15 )
1.16 EXECUTE_PROCESS(
1.17 - COMMAND hg id -i
1.18 + COMMAND
1.19 + hg log -r. --template "{latesttagdistance}"
1.20 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
1.21 - OUTPUT_VARIABLE HG_REVISION
1.22 + OUTPUT_VARIABLE HG_REVISION_DIST
1.23 ERROR_QUIET
1.24 OUTPUT_STRIP_TRAILING_WHITESPACE
1.25 )
1.26 - IF(HG_REVISION STREQUAL "")
1.27 + EXECUTE_PROCESS(
1.28 + COMMAND
1.29 + hg log -r. --template "{node|short}"
1.30 + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
1.31 + OUTPUT_VARIABLE HG_REVISION_ID
1.32 + ERROR_QUIET
1.33 + OUTPUT_STRIP_TRAILING_WHITESPACE
1.34 + )
1.35 +
1.36 + IF(HG_REVISION_TAG STREQUAL "")
1.37 SET(HG_REVISION_ID "hg-tip")
1.38 ELSE()
1.39 - IF(HG_REVISION_PATH STREQUAL "")
1.40 - SET(HG_REVISION_ID ${HG_REVISION})
1.41 + IF(HG_REVISION_TAG STREQUAL "null")
1.42 + SET(HG_REVISION_TAG "trunk")
1.43 + ELSEIF(HG_REVISION_TAG MATCHES "^r")
1.44 + STRING(SUBSTRING ${HG_REVISION_TAG} 1 -1 HG_REVISION_TAG)
1.45 + ENDIF()
1.46 + IF(HG_REVISION_DIST STREQUAL "0")
1.47 + SET(HG_REVISION ${HG_REVISION_TAG})
1.48 ELSE()
1.49 - SET(HG_REVISION_ID ${HG_REVISION_PATH}.${HG_REVISION})
1.50 + SET(HG_REVISION
1.51 + "${HG_REVISION_TAG}+${HG_REVISION_DIST}-${HG_REVISION_ID}")
1.52 ENDIF()
1.53 ENDIF()
1.54 - SET(LEMON_VERSION ${HG_REVISION_ID} CACHE STRING "LEMON version string.")
1.55 +
1.56 + SET(LEMON_VERSION ${HG_REVISION} CACHE STRING "LEMON version string.")
1.57 ENDIF()
1.58
1.59 SET(PROJECT_VERSION ${LEMON_VERSION})