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
This commit is contained in:
Saleem Abdulrasool
2019-05-24 09:32:05 -07:00
parent 4ec2b99941
commit abea06efdf

View File

@@ -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.