From 51bc20527beeee414f2ce55fa2671e7ac8eee466 Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Fri, 16 Mar 2018 03:31:16 +0000 Subject: [PATCH] [cmake] Copy system debugserver from the right place when only CommandLineTools are installed Instead of building debugserver when building lldb, I'd rather pass LLDB_CODESIGN_IDENTITY="" to cmake and use the one already on my system. However, on one of my machines I only have the CommandLineTools installed, and so the hardcoded path to the system debugserver does not work for me. Additionally, we should verify the LLDB framework exists on the machine before trying to set the path to debugserver. This allows us to warn the user at configure time that a system debugserver can't be found if they choose not to build it themselves. Patch by Alex Langford! Differential Revision: https://reviews.llvm.org/D44507 llvm-svn: 327691 --- lldb/tools/debugserver/source/CMakeLists.txt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lldb/tools/debugserver/source/CMakeLists.txt b/lldb/tools/debugserver/source/CMakeLists.txt index 63d3dc974dc4..68c790ee6543 100644 --- a/lldb/tools/debugserver/source/CMakeLists.txt +++ b/lldb/tools/debugserver/source/CMakeLists.txt @@ -106,8 +106,15 @@ else() COMMAND xcode-select -p OUTPUT_VARIABLE XCODE_DEV_DIR) string(STRIP ${XCODE_DEV_DIR} XCODE_DEV_DIR) - set(DEBUGSERVER_PATH - "${XCODE_DEV_DIR}/../SharedFrameworks/LLDB.framework/Resources/debugserver" CACHE PATH "Path to debugserver.") + if(EXISTS "${XCODE_DEV_DIR}/../SharedFrameworks/LLDB.framework/") + set(DEBUGSERVER_PATH + "${XCODE_DEV_DIR}/../SharedFrameworks/LLDB.framework/Resources/debugserver" CACHE PATH "Path to debugserver.") + elseif(EXISTS "${XCODE_DEV_DIR}/Library/PrivateFrameworks/LLDB.framework/") + set(DEBUGSERVER_PATH + "${XCODE_DEV_DIR}/Library/PrivateFrameworks/LLDB.framework/Resources/debugserver" CACHE PATH "Path to debugserver.") + else() + message(SEND_ERROR "Cannot find debugserver on system.") + endif() set(SKIP_DEBUGSERVER ON CACHE BOOL "Skip building the in-tree debug server") endif() message(STATUS "Path to the lldb debugserver: ${DEBUGSERVER_PATH}")