Skip to content

Commit 06d706e

Browse files
committed
Explicitly export ICU and Collections symbols from SwiftFoundation
1 parent e3c4c99 commit 06d706e

File tree

4 files changed

+19
-2
lines changed

4 files changed

+19
-2
lines changed

Sources/FoundationInternationalization/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ target_compile_options(FoundationInternationalization PRIVATE
2020
target_compile_options(FoundationInternationalization PRIVATE ${_SwiftFoundation_availability_macros})
2121
target_compile_options(FoundationInternationalization PRIVATE -package-name "SwiftFoundation")
2222

23-
target_link_libraries(FoundationInternationalization PRIVATE
24-
_CShims
23+
target_link_libraries(FoundationInternationalization PUBLIC
2524
FoundationEssentials
25+
_CShims
2626
_FoundationICU)
2727

2828
set_target_properties(FoundationInternationalization PROPERTIES

Sources/_CShims/CMakeLists.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,16 @@ if(CMAKE_SYSTEM_NAME STREQUAL Windows)
2323
endif()
2424

2525
set_property(GLOBAL APPEND PROPERTY SWIFT_FOUNDATION_EXPORTS _CShims)
26+
27+
if(BUILD_SHARED_LIBS)
28+
set(install_directory swift)
29+
else()
30+
set(install_directory swift_static)
31+
endif()
32+
33+
# Install headers
34+
install(DIRECTORY
35+
include/
36+
DESTINATION
37+
lib/${install_directory}/_CShims)
38+

cmake/modules/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
##===----------------------------------------------------------------------===##
1414

1515
set(SWIFT_FOUNDATION_EXPORTS_FILE ${CMAKE_CURRENT_BINARY_DIR}/SwiftFoundationExports.cmake)
16+
set(SWIFT_FOUNDATION_ICU_EXPORTS_FILE ${SwiftFoundationICU_BINARY_DIR}/cmake/modules/SwiftFoundationICUExports.cmake)
17+
set(SWIFT_COLLECTIONS_EXPORTS_FILE ${SwiftCollections_BINARY_DIR}/cmake/modules/SwiftCollectionsExports.cmake)
1618

1719
configure_file(SwiftFoundationConfig.cmake.in
1820
${CMAKE_CURRENT_BINARY_DIR}/SwiftFoundationConfig.cmake)

cmake/modules/SwiftFoundationConfig.cmake.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@
1313
##===----------------------------------------------------------------------===##
1414

1515
if(NOT TARGET SwiftFoundation)
16+
include(@SWIFT_FOUNDATION_ICU_EXPORTS_FILE@)
17+
include(@SWIFT_COLLECTIONS_EXPORTS_FILE@)
1618
include(@SWIFT_FOUNDATION_EXPORTS_FILE@)
1719
endif()

0 commit comments

Comments
 (0)