fix: component manager load all component dirs even set(COMPONENTS ...)

This commit is contained in:
Fu Hanxi
2024-01-30 14:56:58 +01:00
parent 7ae93db789
commit 72d9a29a52
2 changed files with 13 additions and 4 deletions

View File

@@ -494,9 +494,17 @@ macro(idf_build_process target)
set(local_components_list_file ${build_dir}/local_components_list.temp.yml) set(local_components_list_file ${build_dir}/local_components_list.temp.yml)
set(__contents "components:\n") set(__contents "components:\n")
foreach(__component_name ${components}) idf_build_get_property(build_component_targets BUILD_COMPONENT_TARGETS)
idf_component_get_property(__component_dir ${__component_name} COMPONENT_DIR) foreach(__build_component_target ${build_component_targets})
set(__contents "${__contents} - name: \"${__component_name}\"\n path: \"${__component_dir}\"\n") __component_get_property(__component_name ${__build_component_target} COMPONENT_NAME)
__component_get_property(__component_dir ${__build_component_target} COMPONENT_DIR)
# Exclude components could be passed with -DEXCLUDE_COMPONENTS
# after the call to __component_add finished in the last run.
# Need to check if the component is excluded again
if(NOT __component_name IN_LIST EXCLUDE_COMPONENTS)
set(__contents "${__contents} - name: \"${__component_name}\"\n path: \"${__component_dir}\"\n")
endif()
endforeach() endforeach()
file(WRITE ${local_components_list_file} "${__contents}") file(WRITE ${local_components_list_file} "${__contents}")

View File

@@ -192,8 +192,9 @@ function(__component_add component_dir prefix)
# Set Kconfig related properties on the component # Set Kconfig related properties on the component
__kconfig_component_init(${component_target}) __kconfig_component_init(${component_target})
# set BUILD_COMPONENT_DIRS build property # these two properties are used to keep track of the components known to the build system
idf_build_set_property(BUILD_COMPONENT_DIRS ${component_dir} APPEND) idf_build_set_property(BUILD_COMPONENT_DIRS ${component_dir} APPEND)
idf_build_set_property(BUILD_COMPONENT_TARGETS ${component_target} APPEND)
endfunction() endfunction()
# #