6
6
7
7
# Generate a swift interface file for the target if library evolution is enabled
8
8
function (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
9
19
if (SwiftCore_ENABLE_LIBRARY_EVOLUTION )
10
20
target_compile_options (${target} PRIVATE
11
21
$< $< 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)
15
25
16
26
# Emit catalyst swiftmodules and interfaces
17
27
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
28
target_compile_options (${target} PRIVATE
21
- "$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-module-path ${variant_module_tmp_dir} /${target} .swiftmodule>"
22
29
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-module-interface-path ${variant_module_tmp_dir} /${target} .swiftinterface>"
23
30
"$<$<COMPILE_LANGUAGE:Swift>:SHELL:-emit-variant-private-module-interface-path ${variant_module_tmp_dir} /${target} .private.swiftinterface>" )
24
31
endif ()
@@ -28,6 +35,17 @@ endfunction()
28
35
# Install the generated swift interface file for the target if library evolution
29
36
# is enabled.
30
37
function (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
31
49
if (SwiftCore_ENABLE_LIBRARY_EVOLUTION )
32
50
install (FILES "${CMAKE_CURRENT_BINARY_DIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftinterface"
33
51
RENAME "${SwiftCore_MODULE_TRIPLE} .swiftinterface"
@@ -39,9 +57,6 @@ function(install_swift_interface target)
39
57
40
58
# Install catalyst interface files
41
59
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
60
install (FILES "${CMAKE_CURRENT_BINARY_DIR} /${target} -${SwiftCore_VARIANT_MODULE_TRIPLE} /${target} .swiftinterface"
46
61
RENAME "${SwiftCore_VARIANT_MODULE_TRIPLE} .swiftinterface"
47
62
DESTINATION "${SwiftCore_INSTALL_SWIFTMODULEDIR} /$<TARGET_PROPERTY:${target} ,Swift_MODULE_NAME>.swiftmodule" )
0 commit comments