From 07827ea362b07c6439462b629612765a27402dbc Mon Sep 17 00:00:00 2001 From: Sergei Silnov Date: Wed, 11 May 2022 15:20:01 +0200 Subject: [PATCH] build & config: Don't include common components on early expansion --- tools/cmake/build.cmake | 8 ++++++++ tools/cmake/project.cmake | 3 +-- tools/cmake/scripts/component_get_requirements.cmake | 2 -- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tools/cmake/build.cmake b/tools/cmake/build.cmake index 706eed9629..185f4a1f7c 100644 --- a/tools/cmake/build.cmake +++ b/tools/cmake/build.cmake @@ -222,6 +222,14 @@ function(__build_expand_requirements component_target) get_property(reqs TARGET ${component_target} PROPERTY REQUIRES) get_property(priv_reqs TARGET ${component_target} PROPERTY PRIV_REQUIRES) __component_get_property(component_name ${component_target} COMPONENT_NAME) + __component_get_property(component_alias ${component_target} COMPONENT_ALIAS) + idf_build_get_property(common_reqs __COMPONENT_REQUIRES_COMMON) + list(APPEND reqs ${common_reqs}) + + if(reqs) + list(REMOVE_DUPLICATES reqs) + list(REMOVE_ITEM reqs ${component_alias} ${component_name}) + endif() foreach(req ${reqs}) depgraph_add_edge(${component_name} ${req} REQUIRES) diff --git a/tools/cmake/project.cmake b/tools/cmake/project.cmake index 7a3cd7f209..efb20b83f9 100644 --- a/tools/cmake/project.cmake +++ b/tools/cmake/project.cmake @@ -445,8 +445,7 @@ macro(project project_name) __component_get_target(main_target idf::main) __component_get_property(reqs ${main_target} REQUIRES) __component_get_property(priv_reqs ${main_target} PRIV_REQUIRES) - idf_build_get_property(common_reqs __COMPONENT_REQUIRES_COMMON) - if(reqs STREQUAL common_reqs AND NOT priv_reqs) #if user has not set any requirements + if(NOT reqs AND NOT priv_reqs) #if user has not set any requirements if(test_components) list(REMOVE_ITEM build_components ${test_components}) endif() diff --git a/tools/cmake/scripts/component_get_requirements.cmake b/tools/cmake/scripts/component_get_requirements.cmake index 387d9aec63..21d2da8614 100644 --- a/tools/cmake/scripts/component_get_requirements.cmake +++ b/tools/cmake/scripts/component_get_requirements.cmake @@ -123,8 +123,6 @@ foreach(__component_target ${__component_targets}) __component_get_requirements() - list(APPEND __component_requires "${__common_reqs}") - # Remove duplicates and the component itself from its requirements __component_get_property(__component_alias ${__component_target} COMPONENT_ALIAS) __component_get_property(__component_name ${__component_target} COMPONENT_NAME)