From abea06efdfebbf5becfde40cb8ecc8427054edf1 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Fri, 24 May 2019 09:32:05 -0700 Subject: Modules: setup `CMAKE_Swift_LINKER_PREFERENCE` Swift's driver will invoke the C++ driver (`clang++`) to invoke the linker. Additionally, it will configure the command line to deal with the linkage runtime support object (`swiftrt.o` or `swiftrt.obj`) to be added at the right time (similar to C/C++). Since it indirects through `clang++` it will properly setup the linker invocation for C++ and C as well. This should permit the correct linker driver to be invoked in multi-language projects. Closes #19299 --- Modules/CMakeSwiftInformation.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Modules/CMakeSwiftInformation.cmake b/Modules/CMakeSwiftInformation.cmake index 2bba178..6bc4bbe 100644 --- a/Modules/CMakeSwiftInformation.cmake +++ b/Modules/CMakeSwiftInformation.cmake @@ -23,6 +23,9 @@ set(CMAKE_Swift_COMPILE_OPTIONS_TARGET "-target ") set(CMAKE_Swift_COMPILER_ARG1 -frontend) set(CMAKE_Swift_FRAMEWORK_SEARCH_FLAG "-F ") +set(CMAKE_Swift_LINKER_PREFERENCE 50) +set(CMAKE_Swift_LINKER_PREFERENCE_PROPAGATES 1) + # NOTE(compnerd) use the short form for convenience and ease of search. They # are treated equivalent to their long form names as well as custom Swift # specific names. -- cgit v0.12