src.nth.io/

summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt23
1 files changed, 22 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5281b89..9ca9c34 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,27 @@
cmake_minimum_required(VERSION 3.16)
-set(PROJECT_VER "0.1")
+# Stamp the build with the current git short hash + dirty marker so
+# the firmware can log it at boot and we can verify which commit is
+# running on the device when reading log output. Falls back to
+# "unknown" outside a git checkout.
+execute_process(
+ COMMAND git rev-parse --short HEAD
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ OUTPUT_VARIABLE GIT_HASH
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_QUIET)
+execute_process(
+ COMMAND git diff --quiet HEAD --
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ RESULT_VARIABLE GIT_DIRTY_RC
+ ERROR_QUIET)
+if(NOT GIT_HASH)
+ set(GIT_HASH "unknown")
+endif()
+if(NOT GIT_DIRTY_RC EQUAL 0)
+ set(GIT_HASH "${GIT_HASH}-dirty")
+endif()
+set(PROJECT_VER "${GIT_HASH}")
set(PROJECT_VER_NUMBER 1)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)