Просмотр исходного кода

cmake: make build components available before immediately

Previous implementation only builds list of components included in the
build during component registration.

Since the build components is known as the requirements expansion is
ongoing, update the list here instead.
Renz Christian Bagaporo 6 лет назад
Родитель
Сommit
b69898257a
2 измененных файлов с 4 добавлено и 4 удалено
  1. 4 0
      tools/cmake/build.cmake
  2. 0 4
      tools/cmake/component.cmake

+ 4 - 0
tools/cmake/build.cmake

@@ -219,6 +219,10 @@ function(__build_expand_requirements component_target)
     idf_build_get_property(build_component_targets __BUILD_COMPONENT_TARGETS)
     if(NOT component_target IN_LIST build_component_targets)
         idf_build_set_property(__BUILD_COMPONENT_TARGETS ${component_target} APPEND)
+        __component_get_property(component_lib ${component_target} COMPONENT_LIB)
+        idf_build_set_property(__BUILD_COMPONENTS ${component_lib} APPEND)
+        __component_get_property(component_alias ${component_target} COMPONENT_ALIAS)
+        idf_build_set_property(BUILD_COMPONENTS ${component_alias} APPEND)
     endif()
 endfunction()
 

+ 0 - 4
tools/cmake/component.cmake

@@ -482,10 +482,6 @@ function(idf_component_register)
     # Set dependencies
     __component_set_all_dependencies()
 
-    # Add the component to built components
-    idf_build_set_property(__BUILD_COMPONENTS ${component_lib} APPEND)
-    idf_build_set_property(BUILD_COMPONENTS ${component_alias} APPEND)
-
     # Make the COMPONENT_LIB variable available in the component CMakeLists.txt
     set(COMPONENT_LIB ${component_lib} PARENT_SCOPE)
     # COMPONENT_TARGET is deprecated but is made available with same function