mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
Commitf62f45cf5cchanged target_add_binary_data to resolve the embedded file path relative to the component directory by using idf_component_get_property to obtain the COMPONENT_DIR. This fixed the path resolution when target_add_binary_data is called from idf_component_include, which runs outside the component's directory context. However, target_add_binary_data can also be called directly from a project's CMakeLists.txt with a non-component target, e.g. target_add_binary_data(app.elf ...) as done in examples/security/security_features_app. In this case, idf_component_get_property fails because the target is not a component. Fix this by moving the path resolution to idf_component_include, where the embed file paths from EMBED_FILES and EMBED_TXTFILES component properties are resolved to absolute paths relative to COMPONENT_DIR before being passed to target_add_binary_data. This way, target_add_binary_data receives already absolute paths from idf_component_include and can use plain get_filename_component(ABSOLUTE) for direct calls, which correctly resolves relative to CMAKE_CURRENT_SOURCE_DIR. Fixes:f62f45cf5c("fix(cmakev2/utilities): add a dependency target for the embedded file") Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>