From f434c013e706a52e862f154320018e92c8f0db82 Mon Sep 17 00:00:00 2001 From: Michael Sauer Date: Sat, 12 Sep 2026 03:15:01 +0200 Subject: [PATCH] build: Build-Datum zusammen mit der Version bei jedem Build erzeugen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NINLIGHT_BUILD_DATE entstand als string(TIMESTAMP) zur Konfigurationszeit, während die Version seit bf8f76e bei jedem Build neu geschrieben wird - system/info.build_date konnte dadurch tagealt sein. Das Datum wandert in cmake/write_version.cmake und damit in denselben generierten Header wie die Version. --- CMakeLists.txt | 1 - cmake/version.cmake | 5 +++-- cmake/write_version.cmake | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f500947..bae47fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,7 +107,6 @@ add_executable(${NL_FW} ${NL_SDK_BOOT_SOURCES} ${NL_FW_SOURCES} ${NL_SDK_OBJECTS set_target_properties(${NL_FW} PROPERTIES SUFFIX ".elf") target_compile_definitions(${NL_FW} PRIVATE NINLIGHT_DEVICE_ID="${NINLIGHT_DEVICE}" - NINLIGHT_BUILD_DATE="${NINLIGHT_BUILD_DATE}" NINLIGHT_TOKEN_DEFAULT="${NINLIGHT_TOKEN}" NINLIGHT_WIFI_SSID="${NINLIGHT_WIFI_SSID}" NINLIGHT_WIFI_PASSWORD="${NINLIGHT_WIFI_PASSWORD}" diff --git a/cmake/version.cmake b/cmake/version.cmake index 1a9917c..e73907e 100644 --- a/cmake/version.cmake +++ b/cmake/version.cmake @@ -1,8 +1,9 @@ -# The version is regenerated on every build so the OTA trailer and system/info match the binary. +# Version *and* build date are regenerated on every build, so the OTA trailer and system/info +# match the binary. The build date used to be a configure-time string(TIMESTAMP), which left +# system/info.build_date days behind the actual build after the version generation moved here. set(NL_VERSION_HEADER ${CMAKE_BINARY_DIR}/generated/nl_version.h) add_custom_target(nl_version ALL BYPRODUCTS ${NL_VERSION_HEADER} COMMAND ${CMAKE_COMMAND} -DOUT=${NL_VERSION_HEADER} -DSRC=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/write_version.cmake COMMENT "Updating nl_version.h") -string(TIMESTAMP NINLIGHT_BUILD_DATE "%Y-%m-%d") diff --git a/cmake/write_version.cmake b/cmake/write_version.cmake index 3137306..4f81854 100644 --- a/cmake/write_version.cmake +++ b/cmake/write_version.cmake @@ -5,7 +5,8 @@ if(NOT V) endif() string(REGEX REPLACE "^v" "" V "${V}") string(SUBSTRING "${V}" 0 15 V) -set(CONTENT "#define NINLIGHT_FW_VERSION \"${V}\"\n") +string(TIMESTAMP BUILD_DATE "%Y-%m-%d") +set(CONTENT "#define NINLIGHT_FW_VERSION \"${V}\"\n#define NINLIGHT_BUILD_DATE \"${BUILD_DATE}\"\n") if(EXISTS ${OUT}) file(READ ${OUT} OLD) else()