diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt index 87fe7bebf688d..54baf159a8687 100644 --- a/llvm/lib/Support/CMakeLists.txt +++ b/llvm/lib/Support/CMakeLists.txt @@ -79,7 +79,11 @@ endif( MSVC OR MINGW ) # Delay load shell32.dll if possible to speed up process startup. set (delayload_flags) if (MSVC) - set (delayload_flags delayimp -delayload:shell32.dll -delayload:ole32.dll) + # When linking with Swift, `swiftc.exe` is used as the linker drive rather + # than invoking `link.exe` directly. In such a case, the flags should be + # marked as `-Xlinker` to pass them directly to the linker. As a temporary + # workaround simply elide the delay loading. + set (delayload_flags $<$>:delayimp -delayload:shell32.dll -delayload:ole32.dll>) endif() # Link Z3 if the user wants to build it.