Skip to content

Commit 753eb53

Browse files
authored
Merge pull request #21721 from benlangmuir/optionalize
[cmake] Make install of stdlib target libraries OPTIONAL
2 parents f3773da + cba2670 commit 753eb53

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1968,6 +1968,12 @@ function(add_swift_target_library name)
19681968
WORLD_READ)
19691969
endif()
19701970

1971+
set(optional_arg)
1972+
if(sdk IN_LIST SWIFT_APPLE_PLATFORMS)
1973+
# Allow installation of stdlib without building all variants on Darwin.
1974+
set(optional_arg "OPTIONAL")
1975+
endif()
1976+
19711977
if(sdk STREQUAL WINDOWS AND CMAKE_SYSTEM_NAME STREQUAL Windows)
19721978
swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
19731979
TARGETS ${name}-windows-${SWIFT_PRIMARY_VARIANT_ARCH}
@@ -1979,7 +1985,8 @@ function(add_swift_target_library name)
19791985
swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
19801986
FILES "${UNIVERSAL_LIBRARY_NAME}"
19811987
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/${resource_dir}/${resource_dir_sdk_subdir}"
1982-
PERMISSIONS ${file_permissions})
1988+
PERMISSIONS ${file_permissions}
1989+
"${optional_arg}")
19831990
endif()
19841991
if(sdk STREQUAL WINDOWS)
19851992
foreach(arch ${SWIFT_SDK_WINDOWS_ARCHITECTURES})
@@ -2026,7 +2033,8 @@ function(add_swift_target_library name)
20262033
PERMISSIONS
20272034
OWNER_READ OWNER_WRITE
20282035
GROUP_READ
2029-
WORLD_READ)
2036+
WORLD_READ
2037+
"${optional_arg}")
20302038
endif()
20312039

20322040
# Add Swift standard library targets as dependencies to the top-level

cmake/modules/SwiftSource.cmake

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,9 +347,16 @@ function(_compile_swift_files
347347
list(APPEND module_outputs "${interface_file}")
348348
endif()
349349

350+
set(optional_arg)
351+
if(sdk IN_LIST SWIFT_APPLE_PLATFORMS)
352+
# Allow installation of stdlib without building all variants on Darwin.
353+
set(optional_arg "OPTIONAL")
354+
endif()
355+
350356
swift_install_in_component("${SWIFTFILE_INSTALL_IN_COMPONENT}"
351357
FILES ${module_outputs}
352-
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${library_subdir}")
358+
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${library_subdir}"
359+
"${optional_arg}")
353360

354361
set(line_directive_tool "${SWIFT_SOURCE_DIR}/utils/line-directive")
355362
set(swift_compiler_tool "${SWIFT_NATIVE_SWIFT_TOOLS_PATH}/swiftc")

0 commit comments

Comments
 (0)