diff options
-rw-r--r-- | lldb/docs/code-signing.txt | 11 | ||||
-rw-r--r-- | lldb/test/CMakeLists.txt | 17 |
2 files changed, 23 insertions, 5 deletions
diff --git a/lldb/docs/code-signing.txt b/lldb/docs/code-signing.txt index 5407fd4bb42..3da3a8085e6 100644 --- a/lldb/docs/code-signing.txt +++ b/lldb/docs/code-signing.txt @@ -1,6 +1,11 @@ -On MacOSX lldb needs to be code signed. The Debug, DebugClang and Release -builds are set to code sign using a code signing certificate named -"lldb_codesign". +To use the in-tree debug server on macOS, lldb needs to be code signed. The +Debug, DebugClang and Release builds are set to code sign using a code signing +certificate named "lldb_codesign". This document explains how to set up the +signing certificate. + +Note that it's possible to build and use lldb on macOS without setting up code +signing by using the system's debug server. To configure lldb in this way with +cmake, specify -DLLDB_CODESIGN_IDENTITY=''. If you have re-installed a new OS, please delete all old lldb_codesign items from your keychain. There will be a code signing certification and a public diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index 9826de38c3c..6fb8235907c 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -25,7 +25,9 @@ if(TARGET lldb-server) endif() if(TARGET debugserver) - list(APPEND LLDB_TEST_DEPS debugserver) + if(NOT CMAKE_HOST_APPLE OR LLDB_CODESIGN_IDENTITY) + list(APPEND LLDB_TEST_DEPS debugserver) + endif() endif() if(TARGET lldb-mi) @@ -95,7 +97,18 @@ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows|Darwin") endif() if(CMAKE_HOST_APPLE) - list(APPEND LLDB_TEST_COMMON_ARGS --server $<TARGET_FILE:debugserver>) + if(LLDB_CODESIGN_IDENTITY) + set(DEBUGSERVER_PATH $<TARGET_FILE:debugserver>) + else() + execute_process( + 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") + endif() + message(STATUS "Path to the lldb debugserver: ${DEBUGSERVER_PATH}") + list(APPEND LLDB_TEST_COMMON_ARGS --server ${DEBUGSERVER_PATH}) endif() set(LLDB_DOTEST_ARGS ${LLDB_TEST_COMMON_ARGS};${LLDB_TEST_USER_ARGS}) |