summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-03-25 14:38:40 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2018-10-15 18:22:48 +0200
commit4283d79e3733d98b79d6e1b4d0ad1b9aee0caab5 (patch)
tree2c2ed153114a81afe046515976e09b2d2dae0f72
parenta63e1bcdf43a787a3231883c6f99e0c0f0d6ac78 (diff)
Adds commit hash to the version.
Added the short hash coming from git lastest git commit to the version number. In addition of the dirty flag it make possible to know from where modifications divergences begin. Change-Id: Id25256f896c8179009d8588f79e7801cc2c90821 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--cmake/cmake.d/02-variables.cmake11
1 files changed, 10 insertions, 1 deletions
diff --git a/cmake/cmake.d/02-variables.cmake b/cmake/cmake.d/02-variables.cmake
index b4940f2..dc1c313 100644
--- a/cmake/cmake.d/02-variables.cmake
+++ b/cmake/cmake.d/02-variables.cmake
@@ -67,6 +67,13 @@ execute_process(COMMAND git describe --abbrev=0
OUTPUT_STRIP_TRAILING_WHITESPACE
)
+# Get the git commit hash to append to the version
+execute_process(COMMAND git rev-parse --short HEAD
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ OUTPUT_VARIABLE COMMIT_HASH
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
# Detect unstaged or untracked changes
execute_process(COMMAND git status --short
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
@@ -84,7 +91,9 @@ endif()
# attributes then add the dirty flag if git repo not sync'ed
project(${PROJECT_NAME} VERSION ${PROJECT_VERSION} LANGUAGES ${PROJECT_LANGUAGES})
if(NOT ${DIRTY_FLAG})
-set(PROJECT_VERSION "${PROJECT_VERSION}-dirty")
+ set(PROJECT_VERSION "${PROJECT_VERSION}-${COMMIT_HASH}-dirty")
+else()
+ set(PROJECT_VERSION "${PROJECT_VERSION}-${COMMIT_HASH}")
endif()
set(AFB_TOKEN "" CACHE PATH "Default AFB_TOKEN")