esp-idf/components/console/CMakeLists.txt
Frantisek Hrbata fbe8bf89ee fix: properly resolve component dependencies
There is currently a bug in the __build_resolve_and_add_req function in
tools/cmake/build.cmake where the check for registered component
requirements is incorrectly applied to the component itself rather than
its dependencies. This issue likely originated from a typo, using
component_target instead of _component_target. To prevent further
confusion, _component_target has been renamed to _req_target.

Fixing this revealed multiple incorrect dependencies for the Linux
target, which have now been resolved by explicitly specifying the
dependencies for the Linux target.

Closes https://github.com/espressif/esp-idf/issues/13447

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-30 22:01:55 +08:00

40 lines
1.2 KiB
CMake

idf_build_get_property(target IDF_TARGET)
set(srcs "commands.c"
"esp_console_common.c"
"split_argv.c"
"linenoise/linenoise.c")
if(${target} STREQUAL "linux")
list(APPEND srcs "esp_console_repl_linux.c")
set(requires "")
else()
list(APPEND srcs "esp_console_repl_chip.c")
set(requires vfs esp_vfs_console)
endif()
set(argtable_srcs argtable3/arg_cmd.c
argtable3/arg_date.c
argtable3/arg_dbl.c
argtable3/arg_dstr.c
argtable3/arg_end.c
argtable3/arg_file.c
argtable3/arg_hashtable.c
argtable3/arg_int.c
argtable3/arg_lit.c
argtable3/arg_rem.c
argtable3/arg_rex.c
argtable3/arg_str.c
argtable3/arg_utils.c
argtable3/argtable3.c)
idf_component_register(SRCS ${srcs}
${argtable_srcs}
INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}
PRIV_INCLUDE_DIRS private_include
REQUIRES "${requires}"
PRIV_REQUIRES esp_driver_uart
esp_driver_usb_serial_jtag
)