Mercurial > trustbridge
view cmake/HGVersion.cmake @ 1250:7ea3a4c0e2ae
This should be serious software.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 25 Sep 2014 15:53:49 +0200 |
parents | 7a8f5b85fd9a |
children |
line wrap: on
line source
# Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik # Software engineering by Intevation GmbH # # This file is Free Software under the GNU GPL (v>=2) # and comes with ABSOLUTELY NO WARRANTY! # See LICENSE.txt for details. # This makes some variables available to generate a nice version number for # hg managed repositories. # It sets HG_REVISION_TAG to the value of the latest tag # HG_REVISION_DIST to the differences between the tag and the current tip # HG_REVISION_ID to the actual revision # based on code found in the lemon graph library https://lemon.cs.elte.hu # HG_REVISON to a nice combination of those. find_package(Hg) if (HG_FOUND) EXECUTE_PROCESS( COMMAND hg log -r. --template "{latesttag}" WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE HG_REVISION_TAG ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) EXECUTE_PROCESS( COMMAND hg log -r. --template "{latesttagdistance}" WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE HG_REVISION_DIST ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) EXECUTE_PROCESS( COMMAND hg log -r. --template "{node|short}" WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE HG_REVISION_ID ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) IF(HG_REVISION_TAG STREQUAL "") SET(HG_REVISION_ID "hg-tip") ELSE() IF(HG_REVISION_TAG STREQUAL "null") SET(HG_REVISION_TAG "trunk") ELSEIF(HG_REVISION_TAG MATCHES "^r") STRING(SUBSTRING ${HG_REVISION_TAG} 1 -1 HG_REVISION_TAG) ENDIF() IF(HG_REVISION_DIST STREQUAL "0") SET(HG_REVISION ${HG_REVISION_TAG}) ELSE() SET(HG_REVISION "${HG_REVISION_TAG}+${HG_REVISION_DIST}-${HG_REVISION_ID}") ENDIF() ENDIF() ENDIF()