Skip to content

Commit 62d2241

Browse files
authored
Merge pull request #83640 from edymtt/edymtt/support-builtin-float-in-find-swiftoverlay
Runtimes: add support for Builtin_float in FindSwiftOverlay
2 parents 0eca304 + 0a9b58d commit 62d2241

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

Runtimes/Supplemental/cmake/modules/FindSwiftOverlay.cmake

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ if(APPLE)
6565
# SDK as a tbd for a shared library in the shared cache.
6666
list(APPEND swiftDarwin_NAMES libswiftDarwin.tbd)
6767
set(swiftDarwin_MODULE_NAME "Darwin.swiftmodule")
68+
69+
list(APPEND swift_Builtin_float_INCLUDE_DIR_HINTS
70+
"${CMAKE_OSX_SYSROOT}/usr/lib/swift")
71+
list(APPEND swift_Builtin_float_LIBRARY_HINTS
72+
"${CMAKE_OSX_SYSROOT}/usr/lib/swift")
73+
list(APPEND swift_Builtin_float_NAMES libswift_Builtin_float.tbd)
6874
elseif(LINUX)
6975
#ToDo(swiftlang/swift/issues/83014): Handle the static MUSL SDK case
7076
list(APPEND OVERLAY_TARGET_NAMES "swiftGlibc")
@@ -76,12 +82,24 @@ elseif(LINUX)
7682
list(APPEND swiftGlibc_LIBRARY_HINTS
7783
"${Swift_SDKROOT}/usr/lib/swift_static/linux")
7884
list(APPEND swiftGlibc_NAMES libswiftGlibc.a)
85+
86+
list(APPEND swift_Builtin_float_INCLUDE_DIR_HINTS
87+
"${CMAKE_OSX_SYSROOT}/usr/lib/swift_static/linux")
88+
list(APPEND swift_Builtin_float_LIBRARY_HINTS
89+
"${CMAKE_OSX_SYSROOT}/usr/lib/swift_static/linux")
90+
list(APPEND swift_Builtin_float_NAMES libswift_Builtin_float.a)
7991
else()
8092
list(APPEND swiftGlibc_INCLUDE_DIR_HINTS
8193
"${Swift_SDKROOT}/usr/lib/swift/linux/")
8294
list(APPEND swiftGlibc_LIBRARY_HINTS
8395
"${Swift_SDKROOT}/usr/lib/swift/linux")
8496
list(APPEND swiftGlibc_NAMES libswiftGlibc.so)
97+
98+
list(APPEND swift_Builtin_float_INCLUDE_DIR_HINTS
99+
"${CMAKE_OSX_SYSROOT}/usr/lib/swift/linux")
100+
list(APPEND swift_Builtin_float_LIBRARY_HINTS
101+
"${CMAKE_OSX_SYSROOT}/usr/lib/swift/linux")
102+
list(APPEND swift_Builtin_float_NAMES libswift_Builtin_float.so)
85103
endif()
86104
set(swiftGlibc_MODULE_NAME "Glibc.swiftmodule")
87105
elseif(WIN32)
@@ -119,6 +137,21 @@ elseif(WIN32)
119137
list(APPEND swiftCRT_NAMES swiftCRT.lib)
120138
endif()
121139
set(swiftCRT_MODULE_NAME "CRT.swiftmodule")
140+
141+
list(APPEND swift_Builtin_float_INCLUDE_DIR_HINTS
142+
"${Swift_SDKROOT}/usr/lib/swift/windows"
143+
"$ENV{SDKROOT}/usr/lib/swift/windows")
144+
list(APPEND swift_Builtin_float_LIBRARY_HINTS
145+
"${Swift_SDKROOT}/usr/lib/swift/${${PROJECT_NAME}_PLATFORM_SUBDIR}/${${PROJECT_NAME}_ARCH_SUBDIR}"
146+
"${Swift_SDKROOT}/usr/lib/swift"
147+
"$ENV{SDKROOT}/usr/lib/swift/${${PROJECT_NAME}_PLATFORM_SUBDIR}/${${PROJECT_NAME}_ARCH_SUBDIR}"
148+
"$ENV{SDKROOT}/usr/lib/swift")
149+
150+
if(SwiftOverlay_USE_STATIC_LIBS)
151+
list(APPEND swift_Builtin_float_NAMES libswift_Builtin_float.lib)
152+
else()
153+
list(APPEND swift_Builtin_float_NAMES swift_Builtin_float.lib)
154+
endif()
122155
elseif(ANDROID)
123156
list(APPEND OVERLAY_TARGET_NAMES "swiftAndroid")
124157

@@ -132,6 +165,16 @@ elseif(ANDROID)
132165
"$ENV{SDKROOT}/usr/lib/swift_static/android/${${PROJECT_NAME}_ARCH_SUBDIR}"
133166
"$ENV{SDKROOT}/usr/lib/swift_static")
134167
list(APPEND swiftAndroid_NAMES libswiftAndroid.a)
168+
169+
list(APPEND swift_Builtin_float_INCLUDE_DIR_HINTS
170+
"${Swift_SDKROOT}/usr/lib/swift_static/android"
171+
"$ENV{SDKROOT}/usr/lib/swift_static/android")
172+
list(APPEND swift_Builtin_float_LIBRARY_HINTS
173+
"${Swift_SDKROOT}/usr/lib/swift_static/android/${${PROJECT_NAME}_ARCH_SUBDIR}"
174+
"${Swift_SDKROOT}/usr/lib/swift_static"
175+
"$ENV{SDKROOT}/usr/lib/swift_static/android/${${PROJECT_NAME}_ARCH_SUBDIR}"
176+
"$ENV{SDKROOT}/usr/lib/swift_static")
177+
list(APPEND swift_Builtin_float_NAMES libswift_Builtin_float.a)
135178
else()
136179
list(APPEND swiftAndroid_INCLUDE_DIR_HINTS
137180
"${Swift_SDKROOT}/usr/lib/swift/android"
@@ -142,6 +185,16 @@ elseif(ANDROID)
142185
"$ENV{SDKROOT}/usr/lib/swift/android/${${PROJECT_NAME}_ARCH_SUBDIR}"
143186
"$ENV{SDKROOT}/usr/lib/swift")
144187
list(APPEND swiftAndroid_NAMES libswiftAndroid.so)
188+
189+
list(APPEND swift_Builtin_float_INCLUDE_DIR_HINTS
190+
"${Swift_SDKROOT}/usr/lib/swift/android"
191+
"$ENV{SDKROOT}/usr/lib/swift/android")
192+
list(APPEND swift_Builtin_float_LIBRARY_HINTS
193+
"${Swift_SDKROOT}/usr/lib/swift/android/${${PROJECT_NAME}_ARCH_SUBDIR}"
194+
"${Swift_SDKROOT}/usr/lib/swift"
195+
"$ENV{SDKROOT}/usr/lib/swift/android/${${PROJECT_NAME}_ARCH_SUBDIR}"
196+
"$ENV{SDKROOT}/usr/lib/swift")
197+
list(APPEND swift_Builtin_float_NAMES libswift_Builtin_float.so)
145198
endif()
146199
set(swiftAndroid_MODULE_NAME "Android.swiftmodule")
147200
else()
@@ -188,9 +241,39 @@ foreach(OVERLAY_TARGET ${OVERLAY_TARGET_NAMES})
188241
${OVERLAY_TARGET})
189242
endforeach()
190243

244+
find_path(swift_Builtin_float_INCLUDE_DIR
245+
"_Builtin_float.swiftmodule"
246+
NO_CMAKE_FIND_ROOT_PATH
247+
HINTS
248+
${swift_Builtin_float_INCLUDE_DIR_HINTS})
249+
find_library(swift_Builtin_float_LIBRARY
250+
NAMES
251+
${swift_Builtin_float_NAMES}
252+
NO_CMAKE_FIND_ROOT_PATH
253+
HINTS
254+
${swift_Builtin_float_LIBRARY_HINTS})
255+
256+
if(SwiftOverlay_USE_STATIC_LIBS)
257+
add_library(swift_Builtin_float STATIC IMPORTED GLOBAL)
258+
else()
259+
add_library(swift_Builtin_float SHARED IMPORTED GLOBAL)
260+
endif()
261+
262+
target_include_directories(swift_Builtin_float INTERFACE
263+
"${swift_Builtin_float_INCLUDE_DIR}")
264+
265+
if(LINUX OR ANDROID)
266+
set_target_properties(swift_Builtin_float PROPERTIES
267+
IMPORTED_LOCATION "${swift_Builtin_float_LIBRARY}")
268+
else()
269+
set_target_properties(swift_Builtin_float PROPERTIES
270+
IMPORTED_IMPLIB "${swift_Builtin_float_LIBRARY}")
271+
endif()
272+
191273
foreach(OVERLAY_TARGET ${OVERLAY_TARGET_NAMES})
192274
list(APPEND vars_to_check "${OVERLAY_TARGET}_LIBRARY" "${OVERLAY_TARGET}_INCLUDE_DIR")
193275
endforeach()
276+
list(APPEND vars_to_check "swift_Builtin_float_LIBRARY" "swift_Builtin_float_INCLUDE_DIR")
194277

195278
find_package_handle_standard_args(SwiftOverlay DEFAULT_MSG
196279
${vars_to_check})

0 commit comments

Comments
 (0)