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

Merge branch 'fix/cmake_req_private_comp' into 'master'

cmake: Fix cmakelists to add required private components

See merge request espressif/esp-idf!5428
Angus Gratton 6 лет назад
Родитель
Сommit
51b4e97e42
1 измененных файлов с 24 добавлено и 0 удалено
  1. 24 0
      components/esp_common/CMakeLists.txt

+ 24 - 0
components/esp_common/CMakeLists.txt

@@ -27,4 +27,28 @@ else()
         -fno-stack-protector)
     set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY LINK_LIBRARIES "-Wl,--gc-sections")
     set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-Wl,--gc-sections")
+    set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY LINK_INTERFACE_MULTIPLICITY 4)
+
+    # List of components needed for the error codes list
+    set(optional_reqs ulp
+                      efuse
+                      esp_http_client
+                      esp_http_server
+                      bootloader_support
+                      nvs_flash
+                      esp_wifi
+                      app_update
+                      lwip
+                      spi_flash
+                      wpa_supplicant
+                      tcpip_adapter)
+
+    idf_build_get_property(build_components BUILD_COMPONENTS)
+    foreach(req ${optional_reqs})
+        if(req IN_LIST build_components)
+            idf_component_get_property(req_lib ${req} COMPONENT_LIB)
+            target_link_libraries(${COMPONENT_LIB} PRIVATE ${req_lib})
+        endif()
+    endforeach()
+
 endif()