| # SPDX-License-Identifier: Apache-2.0 |
| |
| zephyr_library() |
| |
| if(CONFIG_X86) |
| zephyr_linker_sources(ROM_START SORT_KEY 0x1bindesc bindesc_no_vt.ld) |
| zephyr_library_sources(x86/bindesc_skip.S) |
| else() |
| zephyr_linker_sources(ROM_START SORT_KEY 0x1bindesc bindesc.ld) |
| endif() |
| |
| macro(gen_str_definition def_name value) |
| if(CONFIG_BINDESC_${def_name}) |
| zephyr_library_compile_definitions(${def_name}="${value}") |
| endif() |
| endmacro() |
| |
| if(CONFIG_BINDESC_DEFINE_BUILD_TIME) |
| zephyr_library_sources(bindesc_build_time.c) |
| |
| set(gen_header ${PROJECT_BINARY_DIR}/include/generated/bindesc_build_time.h) |
| |
| if(CONFIG_BINDESC_BUILD_TIME_USE_LOCAL_TIME) |
| set(BUILD_TIME "LOCAL") |
| else() |
| set(BUILD_TIME "UTC") |
| endif() |
| |
| set(GEN_COMMAND ${CMAKE_COMMAND} |
| -DIN_FILE=${CMAKE_CURRENT_LIST_DIR}/bindesc_build_time.h.in |
| -DOUT_FILE=${gen_header} |
| -DBUILD_TIME_TYPE="${BUILD_TIME}" |
| -DBUILD_DATE_TIME_STRING_FORMAT="${CONFIG_BINDESC_BUILD_DATE_TIME_STRING_FORMAT}" |
| -DBUILD_DATE_STRING_FORMAT="${CONFIG_BINDESC_BUILD_DATE_STRING_FORMAT}" |
| -DBUILD_TIME_STRING_FORMAT="${CONFIG_BINDESC_BUILD_TIME_STRING_FORMAT}" |
| -P ${CMAKE_CURRENT_LIST_DIR}/gen_bindesc_build_time_h.cmake) |
| |
| if(CONFIG_BINDESC_BUILD_TIME_ALWAYS_REBUILD) |
| add_custom_target(gen_bindesc_build_time |
| COMMAND ${GEN_COMMAND} |
| BYPRODUCTS ${gen_header} |
| ) |
| else() |
| add_custom_command(OUTPUT ${gen_header} |
| COMMAND ${GEN_COMMAND} |
| ) |
| add_custom_target(gen_bindesc_build_time DEPENDS ${gen_header}) |
| endif() |
| |
| zephyr_library_add_dependencies(gen_bindesc_build_time) |
| endif() |
| |
| if(CONFIG_BINDESC_DEFINE_VERSION) |
| zephyr_library_sources(bindesc_version.c) |
| if(EXISTS ${APPLICATION_SOURCE_DIR}/VERSION) |
| zephyr_library_compile_definitions(HAS_APP_VERSION=1) |
| endif() |
| endif() |
| |
| if(CONFIG_BINDESC_DEFINE_HOST_INFO) |
| cmake_host_system_information(RESULT hostname QUERY HOSTNAME) |
| zephyr_library_sources(bindesc_host_info.c) |
| gen_str_definition(HOST_NAME ${hostname}) |
| gen_str_definition(C_COMPILER_NAME ${CMAKE_C_COMPILER_ID}) |
| gen_str_definition(C_COMPILER_VERSION ${CMAKE_C_COMPILER_VERSION}) |
| gen_str_definition(CXX_COMPILER_NAME ${CMAKE_CXX_COMPILER_ID}) |
| gen_str_definition(CXX_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) |
| endif() |