@@ -12,6 +12,16 @@ function(emit_swift_interface target)
1212 $<$<COMPILE_LANGUAGE:Swift>:-emit-private -module-interface -path $<SEMICOLON>${CMAKE_CURRENT_BINARY_DIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.private .swiftinterface>
1313 $<$<COMPILE_LANGUAGE:Swift>:-library-level$<SEMICOLON>api>
1414 $<$<COMPILE_LANGUAGE:Swift>:-Xfrontend$<SEMICOLON>-require-explicit-availability=ignore >)
15+
16+ # Emit catalyst swiftmodules and interfaces
17+ if (SwiftCore_VARIANT_MODULE_TRIPLE)
18+ set (variant_module_tmp_dir "${CMAKE_CURRENT_BINARY_DIR} /${target} -${SwiftCore_VARIANT_MODULE_TRIPLE} " )
19+ file (MAKE_DIRECTORY "${variant_module_tmp_dir} " )
20+ target_compile_options (${target} PRIVATE
21+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-module-path ${variant_module_tmp_dir} /${target} .swiftmodule>"
22+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-module-interface-path ${variant_module_tmp_dir} /${target} .swiftinterface>"
23+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-private-module-interface-path ${variant_module_tmp_dir} /${target} .private.swiftinterface>" )
24+ endif ()
1525 endif ()
1626endfunction ()
1727
@@ -26,5 +36,18 @@ function(install_swift_interface target)
2636 install (FILES "${CMAKE_CURRENT_BINARY_DIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.private.swiftinterface"
2737 RENAME "${SwiftCore_MODULE_TRIPLE} .private.swiftinterface"
2838 DESTINATION "${SwiftCore_INSTALL_SWIFTMODULEDIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule" )
39+
40+ # Install catalyst interface files
41+ if (SwiftCore_VARIANT_MODULE_TRIPLE)
42+ install (FILES "${CMAKE_CURRENT_BINARY_DIR} /${target} -${SwiftCore_VARIANT_MODULE_TRIPLE} /${target} .swiftmodule"
43+ RENAME "${SwiftCore_VARIANT_MODULE_TRIPLE} .swiftmodule"
44+ DESTINATION "${SwiftCore_INSTALL_SWIFTMODULEDIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule" )
45+ install (FILES "${CMAKE_CURRENT_BINARY_DIR} /${target} -${SwiftCore_VARIANT_MODULE_TRIPLE} /${target} .swiftinterface"
46+ RENAME "${SwiftCore_VARIANT_MODULE_TRIPLE} .swiftinterface"
47+ DESTINATION "${SwiftCore_INSTALL_SWIFTMODULEDIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule" )
48+ install (FILES "${CMAKE_CURRENT_BINARY_DIR} /${target} -${SwiftCore_VARIANT_MODULE_TRIPLE} /${target} .private.swiftinterface"
49+ RENAME "${SwiftCore_VARIANT_MODULE_TRIPLE} .private.swiftinterface"
50+ DESTINATION "${SwiftCore_INSTALL_SWIFTMODULEDIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule" )
51+ endif ()
2952 endif ()
3053endfunction ()
0 commit comments