mirror of
https://github.com/espressif/esp-idf.git
synced 2026-05-28 16:46:31 +03:00
Merge branch 'fix/cmakev2_linux_build_fixes' into 'master'
fix(cmakev2): Fixed linux build for Build System v2 Closes IDFCI-8756 See merge request espressif/esp-idf!45922
This commit is contained in:
@@ -12,6 +12,11 @@ endif()
|
||||
set(priv_req http_parser esp_timer)
|
||||
if(NOT ${IDF_TARGET} STREQUAL "linux")
|
||||
list(APPEND priv_req lwip)
|
||||
else()
|
||||
# For linux target on Build system v2, add lwip to PRIV_REQUIRES when CONFIG_LWIP_ENABLE is set.
|
||||
if(CONFIG_LWIP_ENABLE AND IDF_BUILD_V2)
|
||||
list(APPEND priv_req lwip)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
idf_component_register(SRCS "${srcs}"
|
||||
@@ -27,8 +32,7 @@ if(NOT ${IDF_TARGET} STREQUAL "linux")
|
||||
idf_component_get_property(lwip lwip COMPONENT_LIB)
|
||||
set_property(TARGET ${lwip} APPEND PROPERTY LINK_INTERFACE_MULTIPLICITY 5)
|
||||
else()
|
||||
# Check if LWIP in the build for linux target to adapt esp-tls compatibility layer
|
||||
idf_build_get_property(build_components BUILD_COMPONENTS)
|
||||
# For linux target, define ESP_TLS_WITH_LWIP if LWIP is enabled in the build
|
||||
if(CONFIG_LWIP_ENABLE)
|
||||
target_compile_definitions(${COMPONENT_LIB} PRIVATE ESP_TLS_WITH_LWIP=1)
|
||||
endif()
|
||||
|
||||
@@ -134,7 +134,12 @@ if(${target} STREQUAL "linux" AND EXISTS ${partition_csv})
|
||||
# target. This is a hack, since that target name is an implementation detail
|
||||
# of the build system.
|
||||
|
||||
add_dependencies(__idf_build_target partition-table)
|
||||
if(IDF_BUILD_V2)
|
||||
# Build system v2 does not support __idf_build_target target, so add to ALL target.
|
||||
add_custom_target(partition-table-linux-build ALL DEPENDS partition-table)
|
||||
else()
|
||||
add_dependencies(__idf_build_target partition-table)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Add signing steps
|
||||
|
||||
@@ -16,6 +16,13 @@ endif()
|
||||
set(req esp-tls)
|
||||
if(NOT ${IDF_TARGET} STREQUAL "linux")
|
||||
list(APPEND req lwip esp_timer)
|
||||
else()
|
||||
# Add esp_timer to REQUIRES for the linux target when Build system v2 is used
|
||||
# since Build system v2 does not support BUILD_COMPONENTS and cannot link to
|
||||
# esp_timer conditionally if LWIP is in the build.
|
||||
if(CONFIG_LWIP_IPV4 AND IDF_BUILD_V2)
|
||||
list(APPEND req esp_timer)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
idf_component_register(SRCS "${srcs}"
|
||||
@@ -23,9 +30,10 @@ idf_component_register(SRCS "${srcs}"
|
||||
PRIV_INCLUDE_DIRS "private_include"
|
||||
REQUIRES ${req})
|
||||
|
||||
if(${IDF_TARGET} STREQUAL "linux")
|
||||
if(${IDF_TARGET} STREQUAL "linux" AND NOT IDF_BUILD_V2)
|
||||
# Check if LWIP in the build for linux target to add esp_timer to the dependencies
|
||||
# since socks_proxy transport needs it and lwip & linux build could use it
|
||||
# Note: Build System v2 adds dependency on esp_timer during component registration
|
||||
idf_build_get_property(build_components BUILD_COMPONENTS)
|
||||
if("lwip" IN_LIST build_components)
|
||||
idf_component_get_property(esp_timer esp_timer COMPONENT_LIB)
|
||||
|
||||
Reference in New Issue
Block a user