diff --git a/lldb/CMakeLists.txt b/lldb/CMakeLists.txt index 1778f9a1bca67..3d8f5187bb3a0 100644 --- a/lldb/CMakeLists.txt +++ b/lldb/CMakeLists.txt @@ -42,6 +42,12 @@ elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../swift) "${CMAKE_CURRENT_SOURCE_DIR}/../swift/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/../swift/cmake/modules") endif() + +# When we have the early SwiftSyntax build, we can include its parser. +if(SWIFT_PATH_TO_EARLYSWIFTSYNTAX_BUILD_DIR) + set(SWIFT_SWIFT_PARSER TRUE) + include(${SWIFT_PATH_TO_EARLYSWIFTSYNTAX_BUILD_DIR}/cmake/SwiftSyntaxTargets.cmake) +endif() # END - Swift Mods # Define the LLDB_CONFIGURATION_xxx matching the build type. diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake index b4fa0d24f7441..c817097cbaa7b 100644 --- a/lldb/cmake/modules/AddLLDB.cmake +++ b/lldb/cmake/modules/AddLLDB.cmake @@ -155,18 +155,26 @@ endfunction(add_lldb_library) # BEGIN Swift Mods function(add_properties_for_swift_modules target) - if (BOOTSTRAPPING_MODE) + if (NOT BOOTSTRAPPING_MODE) + if (SWIFT_SWIFT_PARSER) + set(APSM_BOOTSTRAPPING_MODE "HOSTTOOLS") + endif() + else() + set(APSM_BOOTSTRAPPING_MODE "${BOOTSTRAPPING_MODE}") + endif() + + if (APSM_BOOTSTRAPPING_MODE) if (CMAKE_SYSTEM_NAME MATCHES "Darwin") - if(BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|.*HOSTLIBS") + if(APSM_BOOTSTRAPPING_MODE MATCHES "HOSTTOOLS|.*HOSTLIBS") target_link_directories(${target} PRIVATE "${CMAKE_OSX_SYSROOT}/usr/lib/swift" "${LLDB_SWIFT_LIBS}/macosx") set(SWIFT_RPATH "/usr/lib/swift") - elseif(BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING") + elseif(APSM_BOOTSTRAPPING_MODE STREQUAL "BOOTSTRAPPING") target_link_directories(${target} PRIVATE "${LLDB_SWIFT_LIBS}/macosx") set(SWIFT_RPATH "${LLDB_SWIFT_LIBS}/macosx") else() - message(FATAL_ERROR "Unknown BOOTSTRAPPING_MODE '${BOOTSTRAPPING_MODE}'") + message(FATAL_ERROR "Unknown APSM_BOOTSTRAPPING_MODE '${APSM_BOOTSTRAPPING_MODE}'") endif() # Workaround for a linker crash related to autolinking: rdar://77839981 diff --git a/lldb/tools/lldb-server/CMakeLists.txt b/lldb/tools/lldb-server/CMakeLists.txt index 3fb22b0a61098..be66a31afd0fa 100644 --- a/lldb/tools/lldb-server/CMakeLists.txt +++ b/lldb/tools/lldb-server/CMakeLists.txt @@ -66,3 +66,9 @@ add_dependencies(lldb-server ) target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source") target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS}) + +# BEGIN Swift Mods +if(SWIFT_SWIFT_PARSER) + add_properties_for_swift_modules(lldb-server) +endif() +# END Swift Mods diff --git a/lldb/unittests/CMakeLists.txt b/lldb/unittests/CMakeLists.txt index 79afbbf1f8f54..03452fb11edd6 100644 --- a/lldb/unittests/CMakeLists.txt +++ b/lldb/unittests/CMakeLists.txt @@ -55,6 +55,12 @@ function(add_lldb_unittest test_name) COMMAND "${CMAKE_COMMAND}" -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/Inputs) target_link_libraries(${test_name} PRIVATE ${ARG_LINK_LIBS}) + + # BEGIN Swift Mods + if(SWIFT_SWIFT_PARSER) + add_properties_for_swift_modules(${test_name}) + endif() +# END Swift Mods endfunction() function(add_unittest_inputs test_name inputs)