execute_process(COMMAND "${GIT}" describe --dirty --match "v${VERSION}" RESULT_VARIABLE RET OUTPUT_VARIABLE DESCRIPTION OUTPUT_STRIP_TRAILING_WHITESPACE) if(RET) message(WARNING "Cannot determine current revision. Make sure that you are building either from a Git working tree or from a source archive.") set(VERSION "${COMMIT}") configure_file("src/version.h.in" "${TO}") else() string(REGEX MATCH "[^0-9a-f]([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])[0-9a-f]*(-dirty)?" STUB_VAR "${DESCRIPTION}") set(VERSION "${CMAKE_MATCH_1}${CMAKE_MATCH_2}") configure_file("src/version.h.in" "${TO}") endif()