Skip to content

Commit e5bbffc

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

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

stdlib/cmake/modules/SwiftSource.cmake

Lines changed: 13 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}
@@ -824,13 +826,23 @@ function(_compile_swift_files
824826
list(APPEND maccatalyst_swift_flags
825827
"-I" "${lib_dir}/${maccatalyst_library_subdir}")
826828
set(maccatalyst_swift_module_flags ${swift_module_flags})
829+
830+
# Remove original interface file
827831
list(FIND maccatalyst_swift_module_flags "${interface_file}" interface_file_index)
828832
if(NOT interface_file_index EQUAL -1)
829833
list(INSERT maccatalyst_swift_module_flags ${interface_file_index} "${maccatalyst_interface_file}")
830834
math(EXPR old_interface_file_index "${interface_file_index} + 1")
831835
list(REMOVE_AT maccatalyst_swift_module_flags ${old_interface_file_index})
832836
endif()
833837

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

0 commit comments

Comments
 (0)