Skip to content

Commit 487a6c7

Browse files
committed
Handle catalyst interface swap
Need to swap out the private interface for catalyst builds.
1 parent 8981535 commit 487a6c7

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

stdlib/cmake/modules/SwiftSource.cmake

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,9 +698,11 @@ function(_compile_swift_files
698698

699699
if(SWIFT_ENABLE_MODULE_INTERFACES)
700700
set(maccatalyst_interface_file "${maccatalyst_module_base}.swiftinterface")
701-
list(APPEND maccatalyst_module_outputs "${maccatalyst_interface_file}")
701+
set(maccatalyst_private_interface_file "${maccatalyst_module_base}.private.swiftinterface")
702+
list(APPEND maccatalyst_module_outputs "${maccatalyst_interface_file}" "${maccatalyst_private_interface_file}")
702703
else()
703704
set(maccatalyst_interface_file)
705+
set(maccatalyst_private_interface_file)
704706
endif()
705707

706708
swift_install_in_component(DIRECTORY ${maccatalyst_specific_module_dir}
@@ -825,12 +827,23 @@ function(_compile_swift_files
825827
"-I" "${lib_dir}/${maccatalyst_library_subdir}")
826828
set(maccatalyst_swift_module_flags ${swift_module_flags})
827829
list(FIND maccatalyst_swift_module_flags "${interface_file}" interface_file_index)
830+
831+
# Remove original interface file
832+
list(FIND maccatalyst_swift_module_flags "${interface_file}" interface_file_index)
828833
if(NOT interface_file_index EQUAL -1)
829834
list(INSERT maccatalyst_swift_module_flags ${interface_file_index} "${maccatalyst_interface_file}")
830835
math(EXPR old_interface_file_index "${interface_file_index} + 1")
831836
list(REMOVE_AT maccatalyst_swift_module_flags ${old_interface_file_index})
832837
endif()
833838

839+
# Remove original private interface
840+
list(FIND maccatalyst_swift_module_flags "${private_interface_file}" private_interface_file_index)
841+
if(NOT private_interface_file_index EQUAL -1)
842+
list(INSERT maccatalyst_swift_module_flags ${private_interface_file_index} "${maccatalyst_private_interface_file}")
843+
math(EXPR old_interface_file_index "${private_interface_file_index} + 1")
844+
list(REMOVE_AT maccatalyst_swift_module_flags ${old_interface_file_index})
845+
endif()
846+
834847
# We still need to change the main swift flags
835848
# so we can use the correct modules
836849
# when building for macOS

0 commit comments

Comments
 (0)