Merge topic 'swift-linker-selection'

3fb4092826 Swift: Add CMAKE_LINKER_TYPE support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9380
This commit is contained in:
Brad King
2024-04-03 13:33:46 +00:00
committed by Kitware Robot
11 changed files with 93 additions and 22 deletions
+13
View File
@@ -1 +1,14 @@
set(CMAKE_Swift_SYSROOT_FLAG "-sdk")
# Linker Selections
if("${CMAKE_GENERATOR}" STREQUAL Xcode)
# Xcode always uses clang to link, regardless of what the cmake link language
# is. Pass the clang flags when linking with Xcode.
set(CMAKE_Swift_USING_LINKER_APPLE_CLASSIC "-fuse-ld=ld" "LINKER:-ld_classic")
set(CMAKE_Swift_USING_LINKER_LLD "-fuse-ld=lld")
set(CMAKE_Swift_USING_LINKER_SYSTEM "-fuse-ld=ld")
else()
set(CMAKE_Swift_USING_LINKER_APPLE_CLASSIC "-use-ld=ld" "LINKER:-ld_classic")
set(CMAKE_Swift_USING_LINKER_LLD "-use-ld=lld")
set(CMAKE_Swift_USING_LINKER_SYSTEM "-use-ld=ld")
endif()
+5
View File
@@ -0,0 +1,5 @@
# Linker Selection
# BFD is known to mislink Swift objects resulting in missing type info
set(CMAKE_Swift_USING_LINKER_SYSTEM "")
set(CMAKE_Swift_USING_LINKER_GOLD "-use-ld=gold")
set(CMAKE_Swift_USING_LINKER_LLD "-use-ld=lld")
@@ -1,3 +1,8 @@
set(CMAKE_Swift_IMPLIB_LINKER_FLAGS "-Xlinker -implib:<TARGET_IMPLIB>")
set(CMAKE_Swift_FLAGS_DEBUG_LINKER_FLAGS "-Xlinker -debug")
set(CMAKE_Swift_FLAGS_RELWITHDEBINFO_LINKER_FLAGS "-Xlinker -debug")
# Linker Selection
set(CMAKE_Swift_USING_LINKER_SYSTEM "-use-ld=link")
set(CMAKE_Swift_USING_LINKER_LLD "-use-ld=lld")
set(CMAKE_Swift_USING_LINKER_MSVC "-use-ld=link")