diff --git a/CMake/FindMercurial.cmake b/CMake/FindMercurial.cmake index 3c06e485a2458168ac0489273ece4643dc5ecaaa..73f2d39066a2762716656bf58d3d89853154959e 100644 --- a/CMake/FindMercurial.cmake +++ b/CMake/FindMercurial.cmake @@ -11,6 +11,7 @@ SET(Mercurial_FOUND FALSE) SET(Mercurial_HG_FOUND FALSE) +SET(Mercurial_HG_PROJECT FALSE) FIND_PROGRAM(Mercurial_HG_EXECUTABLE hg DOC "mercurial command line client") @@ -43,14 +44,15 @@ IF(Mercurial_HG_EXECUTABLE) OUTPUT_STRIP_TRAILING_WHITESPACE) IF(NOT ${Mercurial_hg_identify_result} EQUAL 0) - MESSAGE(SEND_ERROR "Command \"${Mercurial_HG_EXECUTABLE} identify ${dir}\" failed with output:\n${Mercurial_hg_identify_error}") + #MESSAGE(WARNING "Command \"${Mercurial_HG_EXECUTABLE} identify ${dir}\" failed with output:\n${Mercurial_hg_identify_error}") + SET(Mercurial_HG_PROJECT FALSE) ELSE(NOT ${Mercurial_hg_identify_result} EQUAL 0) STRING(REGEX REPLACE "^(.*\n)?Mercurial Distributed SCM [(]version ([.0-9]+).*" "\\2" Mercurial_VERSION_HG "${Mercurial_VERSION_HG}") STRING(REGEX REPLACE "^(.*\n)?([0-9a-f]+).*" "\\2" ${prefix}_WC_REVISION "${${prefix}_WC_IDENTIFY}") - + SET(Mercurial_HG_PROJECT TRUE) ENDIF(NOT ${Mercurial_hg_identify_result} EQUAL 0) # restore the previous LC_ALL diff --git a/CMakeLists.txt b/CMakeLists.txt index 969b58e35911824a3d41fb8220440e29360313db..64faa657f7e49ab68564de7fec0e83f36075fd7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,19 +73,21 @@ SET(OTB_VERSION_PATCH "0") FIND_PACKAGE(Mercurial) IF(Mercurial_FOUND) Mercurial_WC_IDENTIFY(${PROJECT_SOURCE_DIR} OTB) - MESSAGE(STATUS "Mercurial version is ${Mercurial_VERSION_HG}") - MESSAGE(STATUS "Repository revision is ${OTB_WC_REVISION}") - SET(OTB_WC_REVISION ${OTB_WC_REVISION} CACHE STRING "Repository version" FORCE) - MARK_AS_ADVANCED(OTB_WC_REVISION) - IF(OTB_WC_STATUS) - MESSAGE(STATUS "Local file modifications:") - MESSAGE(STATUS ${OTB_WC_STATUS}) - ELSE(OTB_WC_STATUS) - MESSAGE(STATUS "No files modified locally") - ENDIF(OTB_WC_STATUS) - STRING(REGEX REPLACE "\n" ";" OTB_WC_STATUS "${OTB_WC_STATUS}") - SET(OTB_WC_STATUS ${OTB_WC_STATUS} CACHE STRING "Repository status" FORCE) - MARK_AS_ADVANCED(OTB_WC_STATUS) + IF(Mercurial_HG_PROJECT) + MESSAGE(STATUS "Mercurial version is ${Mercurial_VERSION_HG}") + MESSAGE(STATUS "Repository revision is ${OTB_WC_REVISION}") + SET(OTB_WC_REVISION ${OTB_WC_REVISION} CACHE STRING "Repository version" FORCE) + MARK_AS_ADVANCED(OTB_WC_REVISION) + IF(OTB_WC_STATUS) + MESSAGE(STATUS "Local file modifications:") + MESSAGE(STATUS ${OTB_WC_STATUS}) + ELSE(OTB_WC_STATUS) + MESSAGE(STATUS "No files modified locally") + ENDIF(OTB_WC_STATUS) + STRING(REGEX REPLACE "\n" ";" OTB_WC_STATUS "${OTB_WC_STATUS}") + SET(OTB_WC_STATUS ${OTB_WC_STATUS} CACHE STRING "Repository status" FORCE) + MARK_AS_ADVANCED(OTB_WC_STATUS) + ENDIF(Mercurial_HG_PROJECT) ENDIF(Mercurial_FOUND) # Version string should not include patch level. The major.minor is