Files
esp-idf/components/esp_stdio/CMakeLists.txt
Marius Vikhammer a257812e14 feat(stdio): added esp_stdio component
esp_stdio contains everything the old esp_vfs_console contained (the vfs stdio glue layer)
as well as other functionality related to stdio (previously referred to as console)
2025-10-16 10:01:59 +08:00

30 lines
1.2 KiB
CMake

idf_build_get_property(target IDF_TARGET)
# Bootloader builds only needs it for config, not for anything else
idf_build_get_property(non_os_build NON_OS_BUILD)
if(non_os_build OR ${target} STREQUAL "linux")
idf_component_register()
return()
endif()
set(srcs "stdio_vfs.c"
"stdio_simple.c"
"stdio_syscalls_simple.c")
idf_component_register(SRCS ${srcs}
INCLUDE_DIRS include)
if(CONFIG_VFS_SUPPORT_IO)
# These drivers will be pulled in from the vfs driver
# This maintains the old behavior of just having to add vfs as a REQUIRES to enable
# the desired output driver. When we have requires that depend on kconfig values
# this can be refactored to conditionally pull drivers into the build instead
# TODO: IDF-13984 - Refactor to conditionally include stdio drivers based on Kconfig values
idf_component_optional_requires(PRIVATE vfs esp_driver_uart esp_driver_usb_serial_jtag esp_usb_cdc_rom_console)
target_link_libraries(${COMPONENT_LIB} PRIVATE idf::vfs)
# Make sure esp_stdio_register gets called at startup stage
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u esp_vfs_include_console_register")
endif()