diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c670a757..2688a4de0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ message(STATUS "Project version description......: ${PROJECT_VERSION_FULL}") # testing # SET(FW_COMMIT_DSC "v3.13.0-1234") -if(NOT "${PROJECT_VERSION_SUFFIX}" STREQUAL "UNKNOWN" AND NOT "${FW_COMMIT_DSC}" MATCHES ".+NOTFOUND\$") # else -> no commit hash is known... likely no git. +if(NOT "${PROJECT_VERSION_SUFFIX}" STREQUAL "UNKNOWN" AND NOT "${FW_COMMIT_DSC}" MATCHES ".+NOTFOUND.+") # else -> no commit hash is known... likely no git. string(REGEX MATCH "v([0-9]+)\.([0-9]+)\.([0-9]+)-?(${DEV_TAG_REGEX})?([0-9]+)?-([0-9]+)" TAG_VERSION "${FW_COMMIT_DSC}") if (CMAKE_MATCH_4) # Do we have a build type? diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake index 29fa5c413..c9e861108 100644 --- a/cmake/GetGitRevisionDescription.cmake +++ b/cmake/GetGitRevisionDescription.cmake @@ -231,7 +231,7 @@ function(git_describe_working_tree _var) endif() git_head_commit_number(COMMIT_COUNT) #Bake the commit count into the full DSC execute_process( - COMMAND "${GIT_EXECUTABLE}" describe --abbrev=0 --dirty=-${COMMIT_COUNT}-D --broken=-B ${ARGN} + COMMAND "${GIT_EXECUTABLE}" describe --abbrev=0 --dirty=-D --broken=-B ${ARGN} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" RESULT_VARIABLE res OUTPUT_VARIABLE out @@ -239,7 +239,11 @@ function(git_describe_working_tree _var) if(NOT res EQUAL 0) set(out "${out}-${res}-NOTFOUND") endif() - + if( "${out}" MATCHES "-D\$") + STRING(REPLACE "-D" "-${COMMIT_COUNT}-D" out "${out}") + else() + set(out "${out}-${COMMIT_COUNT}") + endif() set(${_var} "${out}" PARENT_SCOPE)