Files
ninlight-w600/cmake/write_version.cmake
Michael Sauer f434c013e7 build: Build-Datum zusammen mit der Version bei jedem Build erzeugen
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.
2026-09-12 03:15:01 +02:00

18 lines
559 B
CMake

execute_process(COMMAND git describe --tags --always --dirty WORKING_DIRECTORY ${SRC}
OUTPUT_VARIABLE V OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
if(NOT V)
set(V "0.0.0-dev")
endif()
string(REGEX REPLACE "^v" "" V "${V}")
string(SUBSTRING "${V}" 0 15 V)
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()
set(OLD "")
endif()
if(NOT OLD STREQUAL CONTENT)
file(WRITE ${OUT} "${CONTENT}")
endif()