Merge branch 'feat/cmakev2_ulp_full_subproject' into 'master'

feat(ulp): initial support for building ULP projects as full subprojects under CMake v2

See merge request espressif/esp-idf!50134
This commit is contained in:
Renz Christian Bagaporo
2026-07-16 21:00:32 +08:00
126 changed files with 3022 additions and 332 deletions
+28 -12
View File
@@ -12,6 +12,34 @@ if(${target} STREQUAL "linux")
return()
endif()
set(public_include_dirs "include" "include/soc"
"ldo/include" "debug_probe/include" "etm/include"
"mspi/mspi_timing_tuning/include" "mspi/mspi_timing_tuning/tuning_scheme_impl/include"
"mspi/mspi_intr/include"
"power_supply/include" "modem/include")
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/include/soc/${target}")
list(APPEND public_include_dirs
"include/soc/${target}"
)
endif()
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/port/${target}/include")
list(APPEND public_include_dirs
"port/${target}/include"
)
endif()
# TODO(IDF-15951): potentially remove __ULP_BUILD handling from esp_hw_support
if(__ULP_BUILD)
# ULP headers and LP-core runtime include esp_intr_alloc.h and esp_cpu.h from
# ulp/ulp_riscv/include/ulp_riscv.h and
# ulp/lp_core/lp_core/lp_core_ubsan.c.
idf_component_register(INCLUDE_DIRS ${public_include_dirs}
REQUIRES esp_common esp_hal_gpio hal soc)
return()
endif()
set(requires esp_hal_gpio esp_hal_usb esp_hal_pmu esp_hal_regi2c esp_hal_uart)
set(priv_requires efuse # only esp_hw_support/adc_share_hw_ctrl.c requires efuse component
spi_flash
@@ -180,18 +208,6 @@ else()
list(APPEND priv_requires "esp_system")
endif()
set(public_include_dirs "include" "include/soc"
"ldo/include" "debug_probe/include" "etm/include"
"mspi/mspi_timing_tuning/include" "mspi/mspi_timing_tuning/tuning_scheme_impl/include"
"mspi/mspi_intr/include"
"power_supply/include" "modem/include")
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/include/soc/${target}")
list(APPEND public_include_dirs
"include/soc/${target}"
)
endif()
if(${target} STREQUAL "esp32p4")
# for mipi_csi_share_hw_ctrl.c
list(APPEND priv_requires esp_hal_cam)
@@ -103,6 +103,8 @@ components/esp_hw_support/test_apps/vad_wakeup:
- ulp
- soc
disable:
- if: IDF_BUILD_V2 == "1"
reason: Legacy ULP apps are covered by CMake v1; buildv2 covers full_subproject ULP apps.
- if: SOC_LP_VAD_SUPPORTED != 1
components/esp_hw_support/test_apps/wakeup_tests: