build: Firmware-Version bei jedem Build neu erzeugen
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.
This commit is contained in:
+3
-2
@@ -87,12 +87,13 @@ 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_FW_VERSION="${NINLIGHT_FW_VERSION}"
|
||||
NINLIGHT_BUILD_DATE="${NINLIGHT_BUILD_DATE}"
|
||||
NINLIGHT_TOKEN_DEFAULT="${NINLIGHT_TOKEN}"
|
||||
NINLIGHT_WIFI_SSID="${NINLIGHT_WIFI_SSID}"
|
||||
NINLIGHT_WIFI_PASSWORD="${NINLIGHT_WIFI_PASSWORD}"
|
||||
NINLIGHT_AP_PASSWORD="${NINLIGHT_AP_PASSWORD}")
|
||||
target_include_directories(${NL_FW} PRIVATE ${CMAKE_BINARY_DIR}/generated)
|
||||
add_dependencies(${NL_FW} nl_version)
|
||||
target_link_options(${NL_FW} PRIVATE
|
||||
-static -nostartfiles -T${SDK_DIR}/ld/link_w600_2m.ld
|
||||
-Wl,-Map=${CMAKE_BINARY_DIR}/${NL_FW}.map)
|
||||
@@ -100,4 +101,4 @@ target_link_libraries(${NL_FW} PRIVATE
|
||||
-Wl,--whole-archive ${SDK_DIR}/Lib/GNU/libwlan.a -Wl,--no-whole-archive m)
|
||||
nl_add_images(${NL_FW})
|
||||
|
||||
message(STATUS "ninlight ${NINLIGHT_FW_VERSION} for ${NINLIGHT_DEVICE}")
|
||||
message(STATUS "ninlight for ${NINLIGHT_DEVICE} (version regenerated at every build, see ${NL_VERSION_HEADER})")
|
||||
|
||||
Reference in New Issue
Block a user