diff --git a/cmake/modules/SwiftSupport.cmake b/cmake/modules/SwiftSupport.cmake index 031627c9c..ead1958b8 100644 --- a/cmake/modules/SwiftSupport.cmake +++ b/cmake/modules/SwiftSupport.cmake @@ -9,7 +9,7 @@ function(add_swift_target target) cmake_parse_arguments(AST "${options}" "${single_value_options}" "${multiple_value_options}" ${ARGN}) set(compile_flags ${CMAKE_SWIFT_FLAGS}) - set(link_flags) + set(link_flags ${CMAKE_SWIFT_LINK_FLAGS}) if(AST_TARGET) list(APPEND compile_flags -target;${AST_TARGET}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c2fa8fa64..38b69fd73 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -116,9 +116,17 @@ if(ENABLE_SWIFT) POSITION_INDEPENDENT_CODE YES) if(USE_LLD_LINKER) - set(use_ld_flag -use-ld=lld) + if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) + set(use_ld_flag -use-ld=lld.exe) + else() + set(use_ld_flag -use-ld=lld) + endif() elseif(USE_GOLD_LINKER) - set(use_ld_flag -use-ld=gold) + if(CMAKE_HOST_SYSTEM_NAME STREQUAL Windows) + set(use_ld_flag -use-ld=gold.exe) + else() + set(use_ld_flag -use-ld=gold) + endif() endif() add_swift_library(swiftDispatch