cmake: support build info in Zephyr
Store informations regarding the current Zephyr build. The following informations are stored during CMake configure: - Board information - Application source directory - Application configuration directory - Toolchain information - Devicetree files - Kconfig config files - Zephyr version Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit is contained in:
parent
24ee391231
commit
09faf537dd
7 changed files with 32 additions and 0 deletions
|
@ -2235,3 +2235,10 @@ add_subdirectory_ifdef(
|
||||||
)
|
)
|
||||||
|
|
||||||
toolchain_linker_finalize()
|
toolchain_linker_finalize()
|
||||||
|
|
||||||
|
yaml_context(EXISTS NAME build_info result)
|
||||||
|
if(result)
|
||||||
|
build_info(zephyr version VALUE ${PROJECT_VERSION_STR})
|
||||||
|
build_info(zephyr zephyr-base VALUE ${ZEPHYR_BASE})
|
||||||
|
yaml_save(NAME build_info)
|
||||||
|
endif()
|
||||||
|
|
|
@ -114,3 +114,6 @@ set_ifndef(TOOLCHAIN_KCONFIG_DIR ${TOOLCHAIN_ROOT}/cmake/toolchain/${ZEPHYR_TOOL
|
||||||
|
|
||||||
set(HostTools_FOUND TRUE)
|
set(HostTools_FOUND TRUE)
|
||||||
set(HOSTTOOLS_FOUND TRUE)
|
set(HOSTTOOLS_FOUND TRUE)
|
||||||
|
build_info(toolchain name VALUE ${ZEPHYR_TOOLCHAIN_VARIANT})
|
||||||
|
string(TOUPPER ${ZEPHYR_TOOLCHAIN_VARIANT} zephyr_toolchain_variant_upper)
|
||||||
|
build_info(toolchain path VALUE "${${zephyr_toolchain_variant_upper}_TOOLCHAIN_PATH}")
|
||||||
|
|
|
@ -369,3 +369,7 @@ if(BOARD_EXTENSIONS)
|
||||||
list(APPEND BOARD_EXTENSION_DIRS ${board_extension_dir})
|
list(APPEND BOARD_EXTENSION_DIRS ${board_extension_dir})
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
build_info(board name VALUE ${BOARD})
|
||||||
|
string(REGEX REPLACE "^/" "" qualifiers "${BOARD_QUALIFIERS}")
|
||||||
|
build_info(board qualifiers VALUE ${qualifiers})
|
||||||
|
build_info(board revision VALUE ${BOARD_REVISION})
|
||||||
|
|
|
@ -99,3 +99,5 @@ zephyr_boilerplate_watch(DTC_OVERLAY_FILE)
|
||||||
zephyr_get(EXTRA_CONF_FILE SYSBUILD LOCAL VAR EXTRA_CONF_FILE OVERLAY_CONFIG MERGE REVERSE)
|
zephyr_get(EXTRA_CONF_FILE SYSBUILD LOCAL VAR EXTRA_CONF_FILE OVERLAY_CONFIG MERGE REVERSE)
|
||||||
zephyr_get(EXTRA_DTC_OVERLAY_FILE SYSBUILD LOCAL MERGE REVERSE)
|
zephyr_get(EXTRA_DTC_OVERLAY_FILE SYSBUILD LOCAL MERGE REVERSE)
|
||||||
zephyr_get(DTS_EXTRA_CPPFLAGS SYSBUILD LOCAL MERGE REVERSE)
|
zephyr_get(DTS_EXTRA_CPPFLAGS SYSBUILD LOCAL MERGE REVERSE)
|
||||||
|
build_info(application source-dir VALUE ${APPLICATION_SOURCE_DIR})
|
||||||
|
build_info(application configuration-dir VALUE ${APPLICATION_CONFIG_DIR})
|
||||||
|
|
|
@ -188,6 +188,7 @@ set(dts_files
|
||||||
if(DTC_OVERLAY_FILE)
|
if(DTC_OVERLAY_FILE)
|
||||||
zephyr_list(TRANSFORM DTC_OVERLAY_FILE NORMALIZE_PATHS
|
zephyr_list(TRANSFORM DTC_OVERLAY_FILE NORMALIZE_PATHS
|
||||||
OUTPUT_VARIABLE DTC_OVERLAY_FILE_AS_LIST)
|
OUTPUT_VARIABLE DTC_OVERLAY_FILE_AS_LIST)
|
||||||
|
build_info(devicetree user-files VALUE ${DTC_OVERLAY_FILE_AS_LIST})
|
||||||
list(APPEND
|
list(APPEND
|
||||||
dts_files
|
dts_files
|
||||||
${DTC_OVERLAY_FILE_AS_LIST}
|
${DTC_OVERLAY_FILE_AS_LIST}
|
||||||
|
@ -197,6 +198,7 @@ endif()
|
||||||
if(EXTRA_DTC_OVERLAY_FILE)
|
if(EXTRA_DTC_OVERLAY_FILE)
|
||||||
zephyr_list(TRANSFORM EXTRA_DTC_OVERLAY_FILE NORMALIZE_PATHS
|
zephyr_list(TRANSFORM EXTRA_DTC_OVERLAY_FILE NORMALIZE_PATHS
|
||||||
OUTPUT_VARIABLE EXTRA_DTC_OVERLAY_FILE_AS_LIST)
|
OUTPUT_VARIABLE EXTRA_DTC_OVERLAY_FILE_AS_LIST)
|
||||||
|
build_info(devicetree extra-user-files VALUE ${EXTRA_DTC_OVERLAY_FILE_AS_LIST})
|
||||||
list(APPEND
|
list(APPEND
|
||||||
dts_files
|
dts_files
|
||||||
${EXTRA_DTC_OVERLAY_FILE_AS_LIST}
|
${EXTRA_DTC_OVERLAY_FILE_AS_LIST}
|
||||||
|
@ -413,3 +415,7 @@ elseif(stderr)
|
||||||
message(WARNING "dtc raised one or more warnings:\n${stderr}")
|
message(WARNING "dtc raised one or more warnings:\n${stderr}")
|
||||||
endif()
|
endif()
|
||||||
endif(DTC)
|
endif(DTC)
|
||||||
|
|
||||||
|
build_info(devicetree files VALUE ${dts_files})
|
||||||
|
build_info(devicetree include-dirs VALUE ${DTS_ROOT_SYSTEM_INCLUDE_DIRS})
|
||||||
|
build_info(devicetree bindings-dirs VALUE ${DTS_ROOT_BINDINGS})
|
||||||
|
|
|
@ -95,11 +95,13 @@ set(PARSED_KCONFIG_SOURCES_TXT ${PROJECT_BINARY_DIR}/kconfig/sources.txt)
|
||||||
if(CONF_FILE)
|
if(CONF_FILE)
|
||||||
string(CONFIGURE "${CONF_FILE}" CONF_FILE_EXPANDED)
|
string(CONFIGURE "${CONF_FILE}" CONF_FILE_EXPANDED)
|
||||||
string(REPLACE " " ";" CONF_FILE_AS_LIST "${CONF_FILE_EXPANDED}")
|
string(REPLACE " " ";" CONF_FILE_AS_LIST "${CONF_FILE_EXPANDED}")
|
||||||
|
build_info(kconfig user-files VALUE ${CONF_FILE_AS_LIST})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(EXTRA_CONF_FILE)
|
if(EXTRA_CONF_FILE)
|
||||||
string(CONFIGURE "${EXTRA_CONF_FILE}" EXTRA_CONF_FILE_EXPANDED)
|
string(CONFIGURE "${EXTRA_CONF_FILE}" EXTRA_CONF_FILE_EXPANDED)
|
||||||
string(REPLACE " " ";" EXTRA_CONF_FILE_AS_LIST "${EXTRA_CONF_FILE_EXPANDED}")
|
string(REPLACE " " ";" EXTRA_CONF_FILE_AS_LIST "${EXTRA_CONF_FILE_EXPANDED}")
|
||||||
|
build_info(kconfig extra-user-files VALUE ${EXTRA_CONF_FILE_AS_LIST})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
zephyr_file(CONF_FILES ${BOARD_EXTENSION_DIRS} KCONF board_extension_conf_files SUFFIX ${FILE_SUFFIX})
|
zephyr_file(CONF_FILES ${BOARD_EXTENSION_DIRS} KCONF board_extension_conf_files SUFFIX ${FILE_SUFFIX})
|
||||||
|
@ -354,6 +356,7 @@ endif()
|
||||||
if(CREATE_NEW_DOTCONFIG)
|
if(CREATE_NEW_DOTCONFIG)
|
||||||
set(input_configs_flags --handwritten-input-configs)
|
set(input_configs_flags --handwritten-input-configs)
|
||||||
set(input_configs ${merge_config_files} ${FORCED_CONF_FILE})
|
set(input_configs ${merge_config_files} ${FORCED_CONF_FILE})
|
||||||
|
build_info(kconfig files VALUE ${input_configs})
|
||||||
else()
|
else()
|
||||||
set(input_configs ${DOTCONFIG} ${FORCED_CONF_FILE})
|
set(input_configs ${DOTCONFIG} ${FORCED_CONF_FILE})
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -25,3 +25,10 @@ if(EXISTS ${APP_DIR}/sysbuild/CMakeLists.txt)
|
||||||
else()
|
else()
|
||||||
add_subdirectory(template _sysbuild)
|
add_subdirectory(template _sysbuild)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
build_info(sysbuild VALUE true)
|
||||||
|
build_info(application source-dir VALUE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
yaml_context(EXISTS NAME build_info result)
|
||||||
|
if(result)
|
||||||
|
yaml_save(NAME build_info)
|
||||||
|
endif()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue