@@ -806,6 +806,28 @@ function(_compile_swift_files
806806 ${copy_legacy_layouts_dep}
807807 COMMENT "Generating ${module_file} " )
808808
809+ set (modulesummary_file "${module_base} .swiftmodulesummary" )
810+ set (modulesummary_file_static "${module_base_static} .swiftmodulesummary" )
811+ set (thincmo_sib_file "${module_base} .sib" )
812+ set (thincmo_sib_file_static "${module_base_static} .sib" )
813+ if (SWIFT_STDLIB_ENABLE_THINCMO)
814+ add_custom_command_target(
815+ thincmo_intermediate_target
816+ COMMAND
817+ "$<TARGET_FILE:Python3::Interpreter>" "${line_directive_tool} " "@${file_path} " --
818+ "${swift_compiler_tool} " "-emit-sib" "-o" "${thincmo_sib_file} "
819+ ${swift_flags} "-emit-module-summary" "@${file_path} "
820+ OUTPUT "${modulesummary_file} " "${thincmo_sib_file} "
821+ DEPENDS
822+ ${swift_compiler_tool_dep}
823+ ${source_files} ${SWIFTFILE_DEPENDS}
824+ ${swift_ide_test_dependency}
825+ ${create_dirs_dependency_target}
826+ ${copy_legacy_layouts_dep}
827+ ${module_dependency_target}
828+ COMMENT "Generating ${modulesummary_file} " )
829+ endif ()
830+
809831 if (SWIFTFILE_STATIC)
810832 add_custom_command_target(
811833 module_dependency_target_static
@@ -823,8 +845,22 @@ function(_compile_swift_files
823845 "${module_dependency_target} "
824846 COMMENT "Generating ${module_file} " )
825847 set ("${dependency_module_target_out_var_name} " "${module_dependency_target_static} " PARENT_SCOPE)
848+
849+ if (SWIFT_STDLIB_ENABLE_THINCMO)
850+ add_custom_command_target(
851+ thincmo_intermediate_target_static
852+ COMMAND
853+ "${CMAKE_COMMAND} " "-E" "copy" ${modulesummary_file} ${modulesummary_file_static}
854+ COMMAND
855+ "${CMAKE_COMMAND} " "-E" "copy" ${thincmo_sib_file} ${thincmo_sib_file_static}
856+ OUTPUT ${modulesummary_file_static}
857+ DEPENDS
858+ "${thincmo_intermediate_target} " "${module_dependency_target_static} "
859+ COMMENT "Generating ${modulesummary_file_static} " )
860+ set ("${dependency_module_target_out_var_name} " "${module_dependency_target_static} " "${thincmo_intermediate_target_static} " PARENT_SCOPE)
861+ endif ()
826862 else ()
827- set ("${dependency_module_target_out_var_name} " "${module_dependency_target} " PARENT_SCOPE)
863+ set ("${dependency_module_target_out_var_name} " "${module_dependency_target} " " ${thincmo_intermediate_target} " PARENT_SCOPE)
828864 endif ()
829865
830866 # macCatalyst zippered swiftmodule
0 commit comments