[Build] Tweak Libdispatch.cmake for static linking support.

Don't try to build dynamic libraries if the SDK only supports
static linking.  Also, *do* build static libraries if the SDK
only supports static linking.

rdar://123503191
This commit is contained in:
Alastair Houghton
2024-02-23 12:47:25 +00:00
parent 4bfa31afb7
commit 82bd345f64

View File

@@ -84,6 +84,7 @@ foreach(sdk ${DISPATCH_SDKS})
set(SWIFT_LIBDISPATCH_SYSTEM_PROCESSOR -DCMAKE_SYSTEM_PROCESSOR=${arch})
endif()
if(NOT SWIFT_SDK_${sdk}_STATIC_ONLY)
ExternalProject_Add("${LIBDISPATCH_VARIANT_NAME}"
SOURCE_DIR
"${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}"
@@ -181,8 +182,9 @@ foreach(sdk ${DISPATCH_SDKS})
add_dependencies("${DISPATCH_VARIANT_NAME}" "${LIBDISPATCH_VARIANT_NAME}-install")
add_dependencies("${BLOCKS_RUNTIME_VARIANT_NAME}" "${LIBDISPATCH_VARIANT_NAME}-install")
endif()
if(SWIFT_BUILD_STATIC_STDLIB)
if(SWIFT_BUILD_STATIC_STDLIB OR SWIFT_SDK_${sdk}_STATIC_ONLY)
set(LIBDISPATCH_STATIC_VARIANT_NAME "libdispatch-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-${arch}-static")
ExternalProject_Add("${LIBDISPATCH_STATIC_VARIANT_NAME}"
SOURCE_DIR