# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2017-05-05 08:01:22 # Node ID 8d17eb8be5a4ac909399f70f5dd6c5a7f887c3d4 # Parent 5c7ab0783feee6de1b1f706594e343e1c938cc4b fix get version for the case that there is a mercurial repo but no tag in such case hg returns "null" tag diff --git a/cmake/modules/GetVersion.cmake b/cmake/modules/GetVersion.cmake --- a/cmake/modules/GetVersion.cmake +++ b/cmake/modules/GetVersion.cmake @@ -27,9 +27,13 @@ if (HG) RESULT_VARIABLE HG_RESULT OUTPUT_VARIABLE HG_LATEST_TAG OUTPUT_STRIP_TRAILING_WHITESPACE) - if(NOT HG_RESULT EQUAL 0) + if(HG_RESULT EQUAL 0) + if (NOT HG_LATEST_TAG MATCHES "v[0-9.]+") + unset(HG_LATEST_TAG) + endif() + else() unset(HG_LATEST_TAG) - endif(NOT HG_RESULT EQUAL 0) + endif() # get revision execute_process(COMMAND ${HG} id -i @@ -58,7 +62,7 @@ if (NOT HG_LATEST_TAG) endif () # extract version information from tag (remove 'v' prefix) -if (NOT ${HG_LATEST_TAG} STREQUAL "") +if (HG_LATEST_TAG) string(REPLACE "v" "" HG_VERSION ${HG_LATEST_TAG}) message("Version from mercurial: ${HG_VERSION} (${HG_REVISION})")