From 079035dbf4890e667c5e931295a1c24f28d9c0df Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sun, 15 Feb 2026 17:54:30 +0100 Subject: build: Add git hash to version string Embed git commit hash into version.h and irmd --version output using git describe. Regenerated at build time to stay current across commits. Ouroboros version MAJOR.MINOR.PATCH (TAG-COMMITS-GHASH-dirty) Example for dirty work tree (uncommitted changes): $ irmd --version Ouroboros version 0.22.0 (0.22.0-36-g86dba544-dirty) Example after commit: $ sudo irmd --version Ouroboros version 0.22.0-37-g55fa9445 Officical release (on tag): Ouroboros version 0.22.0 Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- cmake/utils/GetGitHash.cmake | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 cmake/utils/GetGitHash.cmake (limited to 'cmake/utils/GetGitHash.cmake') diff --git a/cmake/utils/GetGitHash.cmake b/cmake/utils/GetGitHash.cmake new file mode 100644 index 00000000..8a9be41d --- /dev/null +++ b/cmake/utils/GetGitHash.cmake @@ -0,0 +1,16 @@ +function(get_git_hash WORKING_DIR VERSION_MAJ VERSION_MIN VERSION_PAT OUTPUT_VAR) + execute_process( + COMMAND git describe --always --dirty + WORKING_DIRECTORY ${WORKING_DIR} + OUTPUT_VARIABLE _hash + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + + if(NOT _hash) + message(WARNING "Could not determine git hash") + set(_hash "${VERSION_MAJ}.${VERSION_MIN}.${VERSION_PAT}-custom") + endif() + + set(${OUTPUT_VAR} "${_hash}" PARENT_SCOPE) +endfunction() -- cgit v1.2.3