Buildinfo fixes

- Use -M suffix if working tree does have uncommitted
  modifications.
- Local commits are considered local changes as well
This commit is contained in:
Sergey Sharybin
2013-11-19 22:01:43 +06:00
parent 5743a6e364
commit 50fbebe0a4
3 changed files with 28 additions and 8 deletions

View File

@@ -22,12 +22,6 @@ if(EXISTS ${SOURCE_DIR}/.git/)
OUTPUT_VARIABLE MY_WC_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE)
# Get latest version tag
execute_process(COMMAND git describe --match "v[0-9]*" --abbrev=0
WORKING_DIRECTORY ${SOURCE_DIR}
OUTPUT_VARIABLE _git_latest_version_tag
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND git log -1 --format=%ct
WORKING_DIRECTORY ${SOURCE_DIR}
OUTPUT_VARIABLE MY_WC_COMMIT_TIMESTAMP
@@ -44,11 +38,20 @@ if(EXISTS ${SOURCE_DIR}/.git/)
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT _git_changed_files STREQUAL "")
set(MY_WC_CHANGE "${MY_WC_CHANGE}M")
set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)")
else()
# Unpushed commits are also considered local odifications
execute_process(COMMAND git log @{u}..
WORKING_DIRECTORY ${SOURCE_DIR}
OUTPUT_VARIABLE _git_unpushed_log
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT _git_unpushed_log STREQUAL "")
set(MY_WC_BRANCH "${MY_WC_BRANCH} (modified)")
endif()
unset(_git_unpushed_log)
endif()
unset(_git_changed_files)
unset(_git_latest_version_tag)
endif()
endif()