From 2066ec7544e29834812ab742be8780ac450cd4c7 Mon Sep 17 00:00:00 2001
From: Eoin Clerkin <e.clerkin@ygsi.de>
Date: Fri, 11 Nov 2022 18:38:24 +0100
Subject: [PATCH] build hash record and report

Record the hash and date of the build and report these at build and configuration times.
---
 CMakeLists.txt             | 12 ++++++++++++
 cmake/scripts/config.sh.in |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 829cc10811..ec2507de44 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,18 @@ set(CBMROOT_MAJOR_VERSION 22)
 set(CBMROOT_MINOR_VERSION 2)
 set(CBMROOT_PATCH_VERSION 99)
 
+execute_process(
+COMMAND bash "-c" "cd ${CMAKE_SOURCE_DIR} && git log | head -n 1 | sed 's_commit \\(.[^ ]*\\)_\\1_' && cd ${OLDPWD}"
+OUTPUT_VARIABLE CBMROOT_BUILD_HASH
+OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+execute_process(
+COMMAND bash "-c" "cd ${CMAKE_SOURCE_DIR} && git log | sed -n '3 s/Date:[ ]*//p' && cd ${OLDPWD}"
+OUTPUT_VARIABLE CBMROOT_BUILD_HASH_DATE
+OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+message("CBMROOT BUILD HASH is ${CBMROOT_BUILD_HASH} dated on ${CBMROOT_BUILD_HASH_DATE}.")
+
 # Set name of our project to "CBMROOT"
 # This also sets ${CBMROOT_VERSION} to the provided VERSION value, which would be empty if not set here explicitly
 project(CBMROOT
diff --git a/cmake/scripts/config.sh.in b/cmake/scripts/config.sh.in
index 86e8d4f2da..3508ff3e42 100644
--- a/cmake/scripts/config.sh.in
+++ b/cmake/scripts/config.sh.in
@@ -58,5 +58,5 @@ if [ $same_system -eq 1 ]; then
                         export PATH=$PATH:"@MY_PATH@"
 			;;
 	esac
- 	echo "Configurated for CBMROOT at ${VMCWORKDIR}"
+ 	echo "Configured CBMROOT build @CBMROOT_BUILD_HASH@ (@CBMROOT_BUILD_HASH_DATE@)"
 fi
-- 
GitLab