NINLIGHT_FW_VERSION kam bisher aus einer configure-Zeit-Variable, die nur bei erneutem CMake-Lauf aktualisiert wurde - nach einem Commit ohne Re-Konfiguration zeigte Banner/system/info also eine veraltete Git-Version. cmake/write_version.cmake schreibt build/generated/nl_version.h bei jedem Build frisch (add_custom_target ALL), app_main.c/nl_app_api.c/nl_mdns.c inkludieren das Makro jetzt von dort statt aus target_compile_definitions.
9 lines
453 B
CMake
9 lines
453 B
CMake
# The version is regenerated on every build so the OTA trailer and system/info match the binary.
|
|
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")
|