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>
This commit is contained in:
Frantisek Hrbata
2024-04-08 14:08:23 +02:00
committed by BOT
parent cb81d1a4f9
commit fbe8bf89ee
30 changed files with 210 additions and 41 deletions

View File

@@ -1,3 +1,5 @@
idf_build_get_property(arch IDF_TARGET_ARCH)
set(srcs "memory_checks.c"
"test_runner.c"
"test_utils.c")
@@ -13,8 +15,14 @@ else()
list(APPEND srcs "ref_clock_impl_timergroup.c")
endif()
if("${arch}" STREQUAL "xtensa")
set(priv_requires perfmon esp_driver_pcnt esp_driver_gptimer esp_driver_rmt esp_netif)
else()
set(priv_requires esp_driver_pcnt esp_driver_gptimer esp_driver_rmt esp_netif)
endif()
idf_component_register(SRCS ${srcs}
INCLUDE_DIRS include
REQUIRES esp_partition idf_test cmock
PRIV_REQUIRES perfmon esp_driver_pcnt esp_driver_gptimer esp_driver_rmt esp_netif)
PRIV_REQUIRES "${priv_requires}")
target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format")