66
77# Generate a swift interface file for the target if library evolution is enabled
88function (emit_swift_interface target )
9+ # Generate the target-variant binary swift module when performing zippered
10+ # build
11+ if (SwiftCore_VARIANT_MODULE_TRIPLE)
12+ set (variant_module_tmp_dir "${CMAKE_CURRENT_BINARY_DIR} /${target} -${SwiftCore_VARIANT_MODULE_TRIPLE} " )
13+ file (MAKE_DIRECTORY "${variant_module_tmp_dir} " )
14+ target_compile_options (${target} PRIVATE
15+ "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-module-path ${variant_module_tmp_dir} /${target} .swiftmodule>" )
16+ endif ()
17+
18+ # Generate textual swift interfaces is library-evolution is enabled
919 if (SwiftCore_ENABLE_LIBRARY_EVOLUTION)
1020 target_compile_options (${target} PRIVATE
1121 $<$<COMPILE_LANGUAGE:Swift>:-emit-module-interface -path $<SEMICOLON>${CMAKE_CURRENT_BINARY_DIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftinterface>
@@ -15,10 +25,7 @@ function(emit_swift_interface target)
1525
1626 # Emit catalyst swiftmodules and interfaces
1727 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} " )
2028 target_compile_options (${target} PRIVATE
21- "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-module-path ${variant_module_tmp_dir} /${target} .swiftmodule>"
2229 "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-module-interface-path ${variant_module_tmp_dir} /${target} .swiftinterface>"
2330 "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-private-module-interface-path ${variant_module_tmp_dir} /${target} .private.swiftinterface>" )
2431 endif ()
@@ -28,6 +35,17 @@ endfunction()
2835# Install the generated swift interface file for the target if library evolution
2936# is enabled.
3037function (install_swift_interface target )
38+ # Install binary swift modules
39+ install (FILES "${CMAKE_CURRENT_BINARY_DIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule"
40+ RENAME "${SwiftCore_MODULE_TRIPLE} .swiftmodule"
41+ DESTINATION "${SwiftCore_INSTALL_SWIFTMODULEDIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule" )
42+ if (SwiftCore_VARIANT_MODULE_TRIPLE)
43+ install (FILES "${CMAKE_CURRENT_BINARY_DIR} /${target} -${SwiftCore_VARIANT_MODULE_TRIPLE} /${target} .swiftmodule"
44+ RENAME "${SwiftCore_VARIANT_MODULE_TRIPLE} .swiftmodule"
45+ DESTINATION "${SwiftCore_INSTALL_SWIFTMODULEDIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule" )
46+ endif ()
47+
48+ # Install Swift interfaces if library-evolution is enabled
3149 if (SwiftCore_ENABLE_LIBRARY_EVOLUTION)
3250 install (FILES "${CMAKE_CURRENT_BINARY_DIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftinterface"
3351 RENAME "${SwiftCore_MODULE_TRIPLE} .swiftinterface"
@@ -39,9 +57,6 @@ function(install_swift_interface target)
3957
4058 # Install catalyst interface files
4159 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" )
4560 install (FILES "${CMAKE_CURRENT_BINARY_DIR} /${target} -${SwiftCore_VARIANT_MODULE_TRIPLE} /${target} .swiftinterface"
4661 RENAME "${SwiftCore_VARIANT_MODULE_TRIPLE} .swiftinterface"
4762 DESTINATION "${SwiftCore_INSTALL_SWIFTMODULEDIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule" )
0 commit comments