Skip to content

Commit e9ea78e

Browse files
committed
Overlay: export Cxx interop targets to separate config files
Addresses rdar://163341811
1 parent 9069d32 commit e9ea78e

File tree

6 files changed

+27
-4
lines changed

6 files changed

+27
-4
lines changed

Runtimes/Overlay/Cxx/CMakeLists.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,29 @@ target_link_libraries(swiftCxx PRIVATE
3939
swiftCore)
4040

4141
install(TARGETS swiftCxx
42-
EXPORT SwiftOverlayTargets
42+
EXPORT SwiftCxxOverlayTargets
4343
ARCHIVE DESTINATION "${SwiftOverlay_INSTALL_LIBDIR}"
4444
LIBRARY DESTINATION "${SwiftOverlay_INSTALL_LIBDIR}"
4545
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
4646
emit_swift_interface(swiftCxx)
4747
install_swift_interface(swiftCxx)
4848

4949
embed_manifest(swiftCxx)
50+
51+
export(EXPORT SwiftCxxOverlayTargets
52+
FILE "cmake/SwiftCxxOverlay/SwiftCxxOverlayTargets.cmake")
53+
install(EXPORT SwiftCxxOverlayTargets
54+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/SwiftCxxOverlay"
55+
FILE "SwiftCxxOverlayTargets.cmake"
56+
COMPONENT SwiftOverlayCMake)
57+
include(CMakePackageConfigHelpers)
58+
configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/interface/SwiftCxxOverlayConfig.cmake.in"
59+
"${CMAKE_CURRENT_BINARY_DIR}/cmake/SwiftCxxOverlay/SwiftCxxOverlayConfig.cmake"
60+
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/SwiftCxxOverlay")
61+
write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/cmake/SwiftCxxOverlay/SwiftCxxOverlayConfigVersion.cmake"
62+
VERSION "${PROJECT_VERSION}"
63+
COMPATIBILITY ExactVersion)
64+
install(FILES
65+
"${CMAKE_CURRENT_BINARY_DIR}/cmake/SwiftCxxOverlay/SwiftCxxOverlayConfig.cmake"
66+
"${CMAKE_CURRENT_BINARY_DIR}/cmake/SwiftCxxOverlay/SwiftCxxOverlayConfigVersion.cmake"
67+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/SwiftCxxOverlay")
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
@PACKAGE_INIT@
2+
include("${CMAKE_CURRENT_LIST_DIR}/SwiftCxxOverlayTargets.cmake")
3+
4+
set(SwiftOverlay_ENABLE_REFLECTION @SwiftOverlay_ENABLE_REFLECTION@)

Runtimes/Overlay/Cxx/cxxshim/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ target_include_directories(cxxshim INTERFACE
66
$<$<COMPILE_LANGUAGE:Swift>:$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>>)
77

88
install(TARGETS cxxshim
9-
EXPORT SwiftOverlayTargets
9+
EXPORT SwiftCxxOverlayTargets
1010
ARCHIVE DESTINATION "${SwiftOverlay_INSTALL_LIBDIR}"
1111
LIBRARY DESTINATION "${SwiftOverlay_INSTALL_LIBDIR}"
1212
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")

Runtimes/Overlay/Cxx/libstdcxx/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ target_include_directories(libstdcxx INTERFACE
66
$<$<COMPILE_LANGUAGE:Swift>:$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>>)
77

88
install(TARGETS libstdcxx
9-
EXPORT SwiftOverlayTargets
9+
EXPORT SwiftCxxOverlayTargets
1010
ARCHIVE DESTINATION "${SwiftOverlay_INSTALL_LIBDIR}"
1111
LIBRARY DESTINATION "${SwiftOverlay_INSTALL_LIBDIR}"
1212
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")

Runtimes/Overlay/Cxx/std/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ target_link_libraries(swiftCxxStdlib PRIVATE
3434
install(FILES std.apinotes
3535
DESTINATION ${CMAKE_INSTALL_LIBDIR}/swift/apinotes)
3636
install(TARGETS swiftCxxStdlib
37-
EXPORT SwiftOverlayTargets
37+
EXPORT SwiftCxxOverlayTargets
3838
ARCHIVE DESTINATION "${SwiftOverlay_INSTALL_LIBDIR}"
3939
LIBRARY DESTINATION "${SwiftOverlay_INSTALL_LIBDIR}"
4040
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")

Runtimes/Supplemental/Runtime/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ set(${PROJECT_NAME}_VENDOR_MODULE_DIR "${CMAKE_SOURCE_DIR}/../cmake/modules/vend
4343

4444
find_package(SwiftCore REQUIRED)
4545
find_package(SwiftOverlay REQUIRED)
46+
find_package(SwiftCxxOverlay REQUIRED)
4647
find_package(SwiftDarwin)
4748

4849
include(GNUInstallDirs)

0 commit comments

Comments
 (0)