Skip to content

Commit c9e3e79

Browse files
authored
Merge pull request #74590 from edymtt/edymtt/move-embedded-unicode-to-dedicated-cmakelists-txt
[embedded] use dedicated CMakeLists.txt to build unicode data tables
2 parents d07e8ce + 66df28f commit c9e3e79

File tree

2 files changed

+61
-59
lines changed

2 files changed

+61
-59
lines changed

stdlib/public/stubs/CMakeLists.txt

Lines changed: 1 addition & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -50,62 +50,4 @@ if("${SWIFT_PRIMARY_VARIANT_SDK}" IN_LIST SWIFT_DARWIN_PLATFORMS)
5050
"-fobjc-arc")
5151
endif()
5252

53-
# Embedded Swift Unicode library
54-
if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
55-
add_custom_target(embedded-unicode ALL)
56-
57-
foreach(entry ${EMBEDDED_STDLIB_TARGET_TRIPLES})
58-
string(REGEX REPLACE "[ \t]+" ";" list "${entry}")
59-
list(GET list 0 arch)
60-
list(GET list 1 mod)
61-
list(GET list 2 triple)
62-
63-
if("${mod}" MATCHES "-windows-msvc$")
64-
continue()
65-
endif()
66-
67-
if (SWIFT_HOST_VARIANT STREQUAL "linux")
68-
set(extra_c_compile_flags -ffreestanding)
69-
elseif (SWIFT_HOST_VARIANT STREQUAL "macosx")
70-
set(extra_c_compile_flags -D__MACH__ -D__APPLE__ -ffreestanding)
71-
endif()
72-
73-
set(SWIFT_SDK_embedded_ARCH_${mod}_MODULE "${mod}")
74-
set(SWIFT_SDK_embedded_LIB_SUBDIR "embedded")
75-
set(SWIFT_SDK_embedded_ARCH_${mod}_TRIPLE "${triple}")
76-
77-
add_swift_target_library_single(
78-
embedded-unicode-${mod}
79-
swiftUnicodeDataTables
80-
STATIC
81-
IS_FRAGILE
82-
83-
Unicode/UnicodeData.cpp
84-
Unicode/UnicodeGrapheme.cpp
85-
Unicode/UnicodeNormalization.cpp
86-
Unicode/UnicodeScalarProps.cpp
87-
Unicode/UnicodeWord.cpp
88-
89-
C_COMPILE_FLAGS ${extra_c_compile_flags}
90-
MODULE_DIR "${CMAKE_BINARY_DIR}/lib/swift/embedded"
91-
SDK "embedded"
92-
ARCHITECTURE "${mod}"
93-
DEPENDS embedded-stdlib-${mod}
94-
INSTALL_IN_COMPONENT stdlib
95-
)
96-
swift_install_in_component(
97-
TARGETS embedded-unicode-${mod}
98-
DESTINATION "lib/swift/embedded/${mod}"
99-
COMPONENT "stdlib"
100-
)
101-
swift_install_in_component(
102-
FILES "${SWIFTLIB_DIR}/embedded/${mod}/libswiftUnicodeDataTables.a"
103-
DESTINATION "lib/swift/embedded/${mod}/"
104-
COMPONENT "stdlib"
105-
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
106-
)
107-
set_property(TARGET embedded-unicode-${mod} PROPERTY OSX_ARCHITECTURES "${arch}")
108-
109-
add_dependencies(embedded-unicode embedded-unicode-${mod})
110-
endforeach()
111-
endif()
53+
add_subdirectory(Unicode)
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
# Embedded Swift Unicode library
3+
if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
4+
add_custom_target(embedded-unicode ALL)
5+
6+
foreach(entry ${EMBEDDED_STDLIB_TARGET_TRIPLES})
7+
string(REGEX REPLACE "[ \t]+" ";" list "${entry}")
8+
list(GET list 0 arch)
9+
list(GET list 1 mod)
10+
list(GET list 2 triple)
11+
12+
if("${mod}" MATCHES "-windows-msvc$")
13+
continue()
14+
endif()
15+
16+
if (SWIFT_HOST_VARIANT STREQUAL "linux")
17+
set(extra_c_compile_flags -ffreestanding)
18+
elseif (SWIFT_HOST_VARIANT STREQUAL "macosx")
19+
set(extra_c_compile_flags -D__MACH__ -D__APPLE__ -ffreestanding)
20+
endif()
21+
22+
set(SWIFT_SDK_embedded_ARCH_${mod}_MODULE "${mod}")
23+
set(SWIFT_SDK_embedded_LIB_SUBDIR "embedded")
24+
set(SWIFT_SDK_embedded_ARCH_${mod}_TRIPLE "${triple}")
25+
26+
add_swift_target_library_single(
27+
embedded-unicode-${mod}
28+
swiftUnicodeDataTables
29+
STATIC
30+
IS_FRAGILE
31+
32+
UnicodeData.cpp
33+
UnicodeGrapheme.cpp
34+
UnicodeNormalization.cpp
35+
UnicodeScalarProps.cpp
36+
UnicodeWord.cpp
37+
38+
C_COMPILE_FLAGS ${extra_c_compile_flags}
39+
MODULE_DIR "${CMAKE_BINARY_DIR}/lib/swift/embedded"
40+
SDK "embedded"
41+
ARCHITECTURE "${mod}"
42+
DEPENDS embedded-stdlib-${mod}
43+
INSTALL_IN_COMPONENT stdlib
44+
)
45+
swift_install_in_component(
46+
TARGETS embedded-unicode-${mod}
47+
DESTINATION "lib/swift/embedded/${mod}"
48+
COMPONENT "stdlib"
49+
)
50+
swift_install_in_component(
51+
FILES "${SWIFTLIB_DIR}/embedded/${mod}/libswiftUnicodeDataTables.a"
52+
DESTINATION "lib/swift/embedded/${mod}/"
53+
COMPONENT "stdlib"
54+
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
55+
)
56+
set_property(TARGET embedded-unicode-${mod} PROPERTY OSX_ARCHITECTURES "${arch}")
57+
58+
add_dependencies(embedded-unicode embedded-unicode-${mod})
59+
endforeach()
60+
endif()

0 commit comments

Comments
 (0)