@@ -49,7 +49,7 @@ function(handle_swift_sources
49
49
dependency_sibgen_target_out_var_name
50
50
sourcesvar externalvar name )
51
51
cmake_parse_arguments (SWIFTSOURCES
52
- "IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;NO_LINK_NAME;IS_FRAGILE;ONLY_SWIFTMODULE"
52
+ "IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;NO_LINK_NAME;IS_FRAGILE;ONLY_SWIFTMODULE;DO_NOT_INSTALL_BINARY_SWIFTMODULE "
53
53
"SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
54
54
"DEPENDS;COMPILE_FLAGS;MODULE_NAME;MODULE_DIR;ENABLE_LTO"
55
55
${ARGN} )
@@ -66,6 +66,7 @@ function(handle_swift_sources
66
66
translate_flag(${SWIFTSOURCES_NO_LINK_NAME} "NO_LINK_NAME" NO_LINK_NAME_arg)
67
67
translate_flag(${SWIFTSOURCES_IS_FRAGILE} "IS_FRAGILE" IS_FRAGILE_arg)
68
68
translate_flag(${SWIFTSOURCES_ONLY_SWIFTMODULE} "ONLY_SWIFTMODULE" ONLY_SWIFTMODULE_arg)
69
+ translate_flag(${SWIFTSOURCES_DO_NOT_INSTALL_BINARY_SWIFTMODULE} "DO_NOT_INSTALL_BINARY_SWIFTMODULE" DO_NOT_INSTALL_BINARY_SWIFTMODULE_arg)
69
70
if (DEFINED SWIFTSOURCES_BOOTSTRAPPING)
70
71
set (BOOTSTRAPPING_arg "BOOTSTRAPPING" ${SWIFTSOURCES_BOOTSTRAPPING} )
71
72
endif ()
@@ -157,6 +158,7 @@ function(handle_swift_sources
157
158
${BOOTSTRAPPING_arg}
158
159
${IS_FRAGILE_arg}
159
160
${ONLY_SWIFTMODULE_arg}
161
+ ${DO_NOT_INSTALL_BINARY_SWIFTMODULE_arg}
160
162
INSTALL_IN_COMPONENT "${SWIFTSOURCES_INSTALL_IN_COMPONENT} "
161
163
DEPLOYMENT_VERSION_OSX ${SWIFTSOURCES_DEPLOYMENT_VERSION_OSX}
162
164
DEPLOYMENT_VERSION_IOS ${SWIFTSOURCES_DEPLOYMENT_VERSION_IOS}
@@ -410,7 +412,7 @@ function(_compile_swift_files
410
412
dependency_sib_target_out_var_name dependency_sibopt_target_out_var_name
411
413
dependency_sibgen_target_out_var_name)
412
414
cmake_parse_arguments (SWIFTFILE
413
- "IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;IS_FRAGILE;ONLY_SWIFTMODULE"
415
+ "IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;IS_FRAGILE;ONLY_SWIFTMODULE;DO_NOT_INSTALL_BINARY_SWIFTMODULE "
414
416
"OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
415
417
"SOURCES;FLAGS;DEPENDS;SDK;ARCHITECTURE;OPT_FLAGS;MODULE_DIR"
416
418
${ARGN} )
@@ -723,6 +725,13 @@ function(_compile_swift_files
723
725
list (APPEND module_outputs "${interface_file} " "${private_interface_file} " )
724
726
endif ()
725
727
728
+ set (exclude_binary_swiftmodule_installation_args "" )
729
+ if (SWIFTFILE_DO_NOT_INSTALL_BINARY_SWIFTMODULE)
730
+ list (APPEND
731
+ exclude_binary_swiftmodule_installation_args
732
+ "REGEX" "${SWIFTFILE_MODULE_NAME} .swiftmodule/[^/]*\\ .swiftmodule$" EXCLUDE )
733
+ endif ()
734
+
726
735
# macCatalyst zippered module setup
727
736
if (maccatalyst_build_flavor STREQUAL "zippered" )
728
737
compute_library_subdir(maccatalyst_library_subdir
@@ -765,7 +774,8 @@ function(_compile_swift_files
765
774
DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/${maccatalyst_library_subdir} "
766
775
COMPONENT "${SWIFTFILE_INSTALL_IN_COMPONENT} "
767
776
PATTERN "Project" EXCLUDE
768
- OPTIONAL )
777
+ OPTIONAL
778
+ ${exclude_binary_swiftmodule_installation_args} )
769
779
endif ()
770
780
771
781
# If we have extra regexp flags, check if we match any of the regexps. If so
@@ -793,14 +803,16 @@ function(_compile_swift_files
793
803
DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift/${library_subdir} "
794
804
COMPONENT "${SWIFTFILE_INSTALL_IN_COMPONENT} "
795
805
OPTIONAL
796
- PATTERN "Project" EXCLUDE )
806
+ PATTERN "Project" EXCLUDE
807
+ ${exclude_binary_swiftmodule_installation_args} )
797
808
798
809
if (SWIFTFILE_STATIC)
799
810
swift_install_in_component(DIRECTORY "${specific_module_dir_static} "
800
811
DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift_static/${library_subdir} "
801
812
COMPONENT "${SWIFTFILE_INSTALL_IN_COMPONENT} "
802
813
OPTIONAL
803
- PATTERN "Project" EXCLUDE )
814
+ PATTERN "Project" EXCLUDE
815
+ ${exclude_binary_swiftmodule_installation_args} )
804
816
endif ()
805
817
806
818
set (line_directive_tool "${SWIFT_SOURCE_DIR} /utils/line-directive" )
0 commit comments