Rebuild picks up the git version after each commit
PROJECT_VER was only read at CMake configure time, so builds kept the previous commit's version. CMake now re-runs when .git/logs/HEAD or .git/index change. Needed for OTA tests (step 2b), which rely on the version changing between builds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+5
-1
@@ -1,7 +1,11 @@
|
|||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
# Firmware version = git describe (tags, dirty flag). Reported by esp_app_get_description()
|
# Firmware version = git describe (tags, dirty flag). Reported by esp_app_get_description()
|
||||||
# and in status.fw / GET /api/ota. Re-run cmake (idf.py reconfigure) to pick up a new tag.
|
# and in status.fw / GET /api/ota. CMake re-runs when git's HEAD log or index changes (commit,
|
||||||
|
# checkout, add), so the version follows. A new tag or unstaged edits need `idf.py reconfigure`.
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/.git/logs/HEAD
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/.git/index)
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND git describe --tags --always --dirty
|
COMMAND git describe --tags --always --dirty
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
|||||||
Reference in New Issue
Block a user