Skip to content

Commit 0d19a77

Browse files
committed
[cxx-interop] Install CxxShim library for macCatalyst
This is a follow-up after the change that enabled Cxx and CxxStdlib overlays on macCatalyst: #74994. The compiler relies on the presence of these shim libraries in the toolchain. rdar://135275773
1 parent 39b8b3c commit 0d19a77

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

stdlib/public/Cxx/cxxshim/CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ foreach(sdk ${SWIFT_SDKS})
99
add_custom_command(OUTPUT ${module_dir_static}
1010
COMMAND ${CMAKE_COMMAND} "-E" "make_directory" "${module_dir_static}")
1111
endif()
12+
if(SWIFT_ENABLE_MACCATALYST AND "${sdk}" STREQUAL "OSX")
13+
set(maccatalyst_module_dir "${SWIFTLIB_DIR}/${SWIFT_SDK_MACCATALYST_LIB_SUBDIR}")
14+
add_custom_command(OUTPUT ${maccatalyst_module_dir}
15+
COMMAND ${CMAKE_COMMAND} "-E" "make_directory" "${maccatalyst_module_dir}")
16+
endif()
1217

1318
set(outputs)
1419
foreach(source libcxxshim.modulemap libcxxshim.h libcxxstdlibshim.h)
@@ -25,11 +30,21 @@ foreach(sdk ${SWIFT_SDKS})
2530
COMMENT "Copying ${source} to ${module_dir_static}")
2631
list(APPEND outputs "${module_dir_static}/${source}")
2732
endif()
33+
if(SWIFT_ENABLE_MACCATALYST AND "${sdk}" STREQUAL "OSX")
34+
add_custom_command(OUTPUT ${maccatalyst_module_dir}/${source}
35+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${source}
36+
COMMAND ${CMAKE_COMMAND} "-E" "copy_if_different" "${CMAKE_CURRENT_SOURCE_DIR}/${source}" "${maccatalyst_module_dir}/${source}"
37+
COMMENT "Copying ${source} to ${maccatalyst_module_dir}")
38+
list(APPEND outputs "${maccatalyst_module_dir}/${source}")
39+
endif()
2840
endforeach()
2941
list(APPEND outputs ${module_dir})
3042
if(SWIFT_BUILD_STATIC_STDLIB OR SWIFT_SDK_${sdk}_STATIC_ONLY)
3143
list(APPEND outputs ${module_dir_static})
3244
endif()
45+
if(SWIFT_ENABLE_MACCATALYST AND "${sdk}" STREQUAL "OSX")
46+
list(APPEND outputs ${maccatalyst_module_dir})
47+
endif()
3348

3449
add_custom_target(cxxshim-${sdk} ALL
3550
DEPENDS ${outputs}
@@ -45,6 +60,11 @@ foreach(sdk ${SWIFT_SDKS})
4560
DESTINATION "lib/swift_static/${SWIFT_SDK_${sdk}_LIB_SUBDIR}"
4661
COMPONENT compiler)
4762
endif()
63+
if(SWIFT_ENABLE_MACCATALYST AND "${sdk}" STREQUAL "OSX")
64+
swift_install_in_component(FILES libcxxshim.modulemap libcxxshim.h libcxxstdlibshim.h
65+
DESTINATION "lib/swift/${SWIFT_SDK_MACCATALYST_LIB_SUBDIR}"
66+
COMPONENT compiler)
67+
endif()
4868
endforeach()
4969

5070
add_custom_target(libcxxshim_modulemap DEPENDS ${libcxxshim_modulemap_target_list})

0 commit comments

Comments
 (0)