esp32: Collect properties from IDF-managed components as well.

Some targets like the ESP32-S3 use the IDF Component Manager to provide
additional dependencies to the build.  Make sure to include these extra
components when collecting properties used by MicroPython-specific build
steps, like qstr preprocessing.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
diff --git a/ports/esp32/esp32_common.cmake b/ports/esp32/esp32_common.cmake
index c7d629c..37a1931 100644
--- a/ports/esp32/esp32_common.cmake
+++ b/ports/esp32/esp32_common.cmake
@@ -191,8 +191,9 @@
 target_link_libraries(${MICROPY_TARGET} micropy_extmod_btree)
 target_link_libraries(${MICROPY_TARGET} usermod)
 
-# Collect all of the include directories and compile definitions for the IDF components.
-foreach(comp ${IDF_COMPONENTS})
+# Collect all of the include directories and compile definitions for the IDF components,
+# including those added by the IDF Component Manager via idf_components.yaml.
+foreach(comp ${__COMPONENT_NAMES_RESOLVED})
     micropy_gather_target_properties(__idf_${comp})
     micropy_gather_target_properties(${comp})
 endforeach()