@@ -757,22 +757,37 @@ function(_compile_swift_files
757
757
message (FATAL_ERROR "Don't know where to put the module files" )
758
758
endif ()
759
759
760
- set (maccatalyst_specific_module_dir
761
- "${maccatalyst_module_dir} /${SWIFTFILE_MODULE_NAME} .swiftmodule" )
760
+ set (maccatalyst_module_base "${maccatalyst_module_dir} /${SWIFTFILE_MODULE_NAME} " )
761
+
762
+ set (maccatalyst_module_dir_static "${SWIFTSTATICLIB_DIR} /${maccatalyst_library_subdir} " )
763
+ set (maccatalyst_module_base_static "${maccatalyst_module_dir_static} /${SWIFTFILE_MODULE_NAME} " )
764
+
762
765
set (maccatalyst_module_triple ${SWIFT_SDK_MACCATALYST_ARCH_${SWIFTFILE_ARCHITECTURE} _MODULE})
763
- set (maccatalyst_module_base "${maccatalyst_specific_module_dir} /${maccatalyst_module_triple} " )
766
+ set (maccatalyst_specific_module_dir "${maccatalyst_module_base} .swiftmodule" )
767
+ set (maccatalyst_module_base "${maccatalyst_module_base} .swiftmodule/${maccatalyst_module_triple} " )
768
+ set (maccatalyst_specific_module_dir_static "${maccatalyst_module_base_static} .swiftmodule" )
769
+ set (maccatalyst_module_base_static "${maccatalyst_module_base_static} .swiftmodule/${maccatalyst_module_triple} " )
764
770
set (maccatalyst_module_file "${maccatalyst_module_base} .swiftmodule" )
765
771
set (maccatalyst_module_doc_file "${maccatalyst_module_base} .swiftdoc" )
766
772
773
+ set (maccatalyst_module_file_static "${maccatalyst_module_base_static} .swiftmodule" )
774
+ set (maccatalyst_module_doc_file_static "${maccatalyst_module_base_static} .swiftdoc" )
775
+
767
776
set (maccatalyst_module_outputs "${maccatalyst_module_file} " "${maccatalyst_module_doc_file} " )
777
+ set (maccatalyst_module_outputs_static "${maccatalyst_module_file_static} " "${maccatalyst_module_doc_file_static} " )
768
778
769
779
if (SWIFT_ENABLE_MODULE_INTERFACES AND NOT SWIFTFILE_IS_FRAGILE)
770
780
set (maccatalyst_interface_file "${maccatalyst_module_base} .swiftinterface" )
781
+ set (maccatalyst_interface_file_static "${maccatalyst_module_base_static} .swiftinterface" )
771
782
set (maccatalyst_private_interface_file "${maccatalyst_module_base} .private.swiftinterface" )
783
+ set (maccatalyst_private_interface_file_static "${maccatalyst_module_base_static} .private.swiftinterface" )
772
784
list (APPEND maccatalyst_module_outputs "${maccatalyst_interface_file} " "${maccatalyst_private_interface_file} " )
785
+ list (APPEND maccatalyst_module_outputs_static "${maccatalyst_interface_file_static} " "${maccatalyst_private_interface_file_static} " )
773
786
else ()
774
787
set (maccatalyst_interface_file)
775
788
set (maccatalyst_private_interface_file)
789
+ set (maccatalyst_interface_file_static)
790
+ set (maccatalyst_private_interface_file_static)
776
791
endif ()
777
792
778
793
if (SWIFT_STDLIB_EMIT_API_DESCRIPTORS AND NOT SWIFTFILE_IS_FRAGILE)
@@ -788,6 +803,15 @@ function(_compile_swift_files
788
803
OPTIONAL
789
804
PATTERN "Project" EXCLUDE
790
805
${exclude_binary_swiftmodule_installation_args} )
806
+
807
+ if (SWIFTFILE_STATIC)
808
+ swift_install_in_component(DIRECTORY ${maccatalyst_specific_module_dir_static}
809
+ DESTINATION "lib${LLVM_LIBDIR_SUFFIX} /swift_static/${maccatalyst_library_subdir} "
810
+ COMPONENT "${SWIFTFILE_INSTALL_IN_COMPONENT} "
811
+ OPTIONAL
812
+ PATTERN "Project" EXCLUDE
813
+ ${exclude_binary_swiftmodule_installation_args} )
814
+ endif ()
791
815
endif ()
792
816
793
817
# If we have extra regexp flags, check if we match any of the regexps. If so
@@ -1146,7 +1170,7 @@ function(_compile_swift_files
1146
1170
COMMAND
1147
1171
"${CMAKE_COMMAND} " "-E" "remove" "-f" ${maccatalyst_module_outputs}
1148
1172
COMMAND
1149
- "${CMAKE_COMMAND} " "-E" "make_directory" ${maccatalyst_specific_module_dir}
1173
+ "${CMAKE_COMMAND} " "-E" "make_directory" ${maccatalyst_module_dir} ${ maccatalyst_specific_module_dir}
1150
1174
COMMAND
1151
1175
${set_environment_args}
1152
1176
"$<TARGET_FILE:Python3::Interpreter>" "${line_directive_tool} " "@${file_path} " --
@@ -1167,11 +1191,38 @@ function(_compile_swift_files
1167
1191
COMMENT
1168
1192
"Generating ${maccatalyst_module_file} " )
1169
1193
1170
- # Piggy-back on the same out-var as the regular swiftmodule
1171
- set ("${dependency_module_target_out_var_name} "
1172
- "${module_dependency_target} "
1173
- "${maccatalyst_module_dependency_target} "
1174
- PARENT_SCOPE)
1194
+ if (SWIFTFILE_STATIC)
1195
+ set (maccatalyst_command_copy_interface_file)
1196
+ if (maccatalyst_interface_file)
1197
+ set (maccatalyst_command_copy_interface_file
1198
+ COMMAND "${CMAKE_COMMAND} " "-E" "copy" ${maccatalyst_interface_file} ${maccatalyst_interface_file_static}
1199
+ COMMAND "${CMAKE_COMMAND} " "-E" "copy" ${maccatalyst_private_interface_file} ${maccatalyst_private_interface_file_static} )
1200
+ endif ()
1201
+ add_custom_command_target(
1202
+ maccatalyst_module_dependency_target_static
1203
+ COMMAND "${CMAKE_COMMAND} " -E make_directory ${dirs_to_create}
1204
+ COMMAND
1205
+ "${CMAKE_COMMAND} " "-E" "make_directory" ${maccatalyst_module_dir_static}
1206
+ ${maccatalyst_specific_module_dir_static}
1207
+ COMMAND
1208
+ "${CMAKE_COMMAND} " "-E" "copy" ${maccatalyst_module_file} ${maccatalyst_module_file_static}
1209
+ COMMAND
1210
+ "${CMAKE_COMMAND} " "-E" "copy" ${maccatalyst_module_doc_file} ${maccatalyst_module_doc_file_static}
1211
+ ${maccatalyst_command_copy_interface_file}
1212
+ OUTPUT ${maccatalyst_module_outputs_static}
1213
+ DEPENDS
1214
+ "${maccatalyst_module_dependency_target} "
1215
+ "${line_directive_tool} "
1216
+ "${file_path_target} "
1217
+ ${swift_compiler_tool_dep}
1218
+ ${source_files} ${SWIFTFILE_DEPENDS}
1219
+ ${swift_ide_test_dependency}
1220
+ ${copy_legacy_layouts_dep}
1221
+ COMMENT "Generating ${maccatalyst_module_file_static} " )
1222
+ set ("${dependency_module_target_out_var_name} " "${module_dependency_target_static} " "${maccatalyst_module_dependency_target_static} " PARENT_SCOPE)
1223
+ else ()
1224
+ set ("${dependency_module_target_out_var_name} " "${module_dependency_target} " "${maccatalyst_module_dependency_target} " PARENT_SCOPE)
1225
+ endif ()
1175
1226
endif ()
1176
1227
1177
1228
# This is the target to generate the .sib files. It is not built by default.
0 commit comments