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:
@@ -1,3 +1,5 @@
|
||||
idf_build_get_property(target IDF_TARGET)
|
||||
|
||||
set(srcs)
|
||||
set(public_include "include")
|
||||
if(CONFIG_SOC_GPTIMER_SUPPORTED)
|
||||
@@ -9,8 +11,14 @@ if(CONFIG_SOC_TIMER_SUPPORT_ETM)
|
||||
list(APPEND srcs "src/gptimer_etm.c")
|
||||
endif()
|
||||
|
||||
if(${target} STREQUAL "linux")
|
||||
set(requires "")
|
||||
else()
|
||||
set(requires esp_pm)
|
||||
endif()
|
||||
|
||||
idf_component_register(SRCS ${srcs}
|
||||
INCLUDE_DIRS ${public_include}
|
||||
REQUIRES "esp_pm"
|
||||
REQUIRES "${requires}"
|
||||
LDFRAGMENTS "linker.lf"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user