From 7e059d768edac3b3e3de8537ffcab6fc67d0da80 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Fri, 1 Sep 2023 10:07:06 -0700 Subject: [PATCH] build: adjust the build to wire up the library search path This is needed to support Swift macros on Windows. --- lldb/cmake/modules/AddLLDB.cmake | 11 ++++++++--- llvm/lib/Support/CMakeLists.txt | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake index 334de8bf5894d..fcd07cc1ec4ed 100644 --- a/lldb/cmake/modules/AddLLDB.cmake +++ b/lldb/cmake/modules/AddLLDB.cmake @@ -190,17 +190,22 @@ function(add_properties_for_swift_modules target reldir) # Workaround for a linker crash related to autolinking: rdar://77839981 set_property(TARGET ${target} APPEND_STRING PROPERTY LINK_FLAGS " -lobjc ") + + set_property(TARGET ${target} APPEND PROPERTY BUILD_RPATH "${SWIFT_BUILD_RPATH}") + set_property(TARGET ${target} APPEND PROPERTY INSTALL_RPATH "${SWIFT_INSTALL_RPATH}") elseif (CMAKE_SYSTEM_NAME MATCHES "Linux|Android|OpenBSD|FreeBSD") string(REGEX MATCH "^[^-]*" arch ${LLVM_TARGET_TRIPLE}) target_link_libraries(${target} PRIVATE swiftCore-linux-${arch}) string(TOLOWER ${CMAKE_SYSTEM_NAME} platform) set(SWIFT_BUILD_RPATH "${LLDB_SWIFT_LIBS}/${platform}") set(SWIFT_INSTALL_RPATH "$ORIGIN/${reldir}lib/swift/${platform}") + set_property(TARGET ${target} APPEND PROPERTY BUILD_RPATH "${SWIFT_BUILD_RPATH}") + set_property(TARGET ${target} APPEND PROPERTY INSTALL_RPATH "${SWIFT_INSTALL_RPATH}") + elseif(CMAKE_SYSTEM_NAME MATCHES Windows) + target_link_directories(${target} PRIVATE + ${SWIFT_PATH_TO_SWIFT_SDK}/usr/lib/swift/Windows/x86_64) endif() - set_property(TARGET ${target} APPEND PROPERTY BUILD_RPATH "${SWIFT_BUILD_RPATH}") - set_property(TARGET ${target} APPEND PROPERTY INSTALL_RPATH "${SWIFT_INSTALL_RPATH}") - if (SWIFT_SWIFT_PARSER) if (CMAKE_SYSTEM_NAME MATCHES "Darwin") set_property(TARGET ${target} diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt index d23938c8a7de9..cf4f6b04b7156 100644 --- a/llvm/lib/Support/CMakeLists.txt +++ b/llvm/lib/Support/CMakeLists.txt @@ -81,7 +81,7 @@ 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) + set (delayload_flags $<$>:delayimp -delayload:shell32.dll -delayload:ole32.dll>) endif() # Link Z3 if the user wants to build it.