86 lines
2.0 KiB
CMake
86 lines
2.0 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
zephyr_syscall_header(
|
|
${ZEPHYR_BASE}/include/zephyr/logging/log_msg.h
|
|
${ZEPHYR_BASE}/include/zephyr/logging/log_ctrl.h
|
|
)
|
|
|
|
if(NOT CONFIG_LOG_MODE_MINIMAL)
|
|
zephyr_sources_ifdef(
|
|
CONFIG_LOG
|
|
log_core.c
|
|
log_mgmt.c
|
|
log_cache.c
|
|
log_msg.c
|
|
)
|
|
|
|
zephyr_sources_ifdef(
|
|
CONFIG_LOG_OUTPUT
|
|
log_output.c
|
|
)
|
|
|
|
# Determine if __auto_type is supported. If not then runtime approach must always
|
|
# be used.
|
|
# Supported by:
|
|
# - C++ (auto)
|
|
# - GCC 4.9.0 https://gcc.gnu.org/gcc-4.9/changes.html
|
|
# - Clang 3.8
|
|
if (NOT CONFIG_LOG_ALWAYS_RUNTIME)
|
|
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
|
if(CMAKE_C_COMPILER_VERSION VERSION_LESS "3.8.0")
|
|
message(WARNING "Compiler version requires CONFIG_LOG_ALWAYS_RUNTIME to be set")
|
|
endif()
|
|
endif()
|
|
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
|
if(CMAKE_C_COMPILER_VERSION VERSION_LESS "4.9.0")
|
|
message(WARNING "Compiler version requires CONFIG_LOG_ALWAYS_RUNTIME to be set")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
zephyr_sources_ifdef(
|
|
CONFIG_LOG_CMDS
|
|
log_cmds.c
|
|
)
|
|
|
|
zephyr_sources_ifdef(
|
|
CONFIG_LOG_FRONTEND_DICT_UART
|
|
log_frontend_dict_uart.c
|
|
)
|
|
|
|
zephyr_sources_ifdef(
|
|
CONFIG_LOG_DICTIONARY_SUPPORT
|
|
log_output_dict.c
|
|
)
|
|
|
|
add_subdirectory(backends)
|
|
|
|
# For some reason, running sys-t with catalog message on
|
|
# Cortex-M0 would result in hard fault in mipi_catalog_formatter()
|
|
# if this is complied before the backends (only with SIZE
|
|
# optimization). Workaround the issue by placing it here instead
|
|
# as this is causing CI failures. Actual root-cause is TBD.
|
|
zephyr_sources_ifdef(
|
|
CONFIG_LOG_MIPI_SYST_ENABLE
|
|
log_output_syst.c
|
|
)
|
|
|
|
if(CONFIG_LOG_CUSTOM_FORMAT_SUPPORT OR CONFIG_LOG_OUTPUT_FORMAT_CUSTOM_TIMESTAMP)
|
|
zephyr_sources(log_output_custom.c)
|
|
endif()
|
|
|
|
zephyr_sources_ifdef(
|
|
CONFIG_LOG_MULTIDOMAIN_LINK
|
|
log_multidomain_link.c
|
|
)
|
|
|
|
zephyr_sources_ifdef(
|
|
CONFIG_LOG_LINK_IPC_SERVICE
|
|
log_link_ipc_service.c
|
|
)
|
|
|
|
|
|
else()
|
|
zephyr_sources(log_minimal.c)
|
|
endif()
|