diff options
author | Vedant Kumar <vsk@apple.com> | 2018-01-18 01:16:30 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2018-01-18 01:16:30 +0000 |
commit | 3c3345be1bf4c706bc7f44e4fa91342bdc91f4b1 (patch) | |
tree | 6509a1b849b15e81642bfcb8865423b97d99c43c /lldb | |
parent | 53b3855b2ba2a35f9006c75ccc1f7601cb15f079 (diff) | |
download | bcm5719-llvm-3c3345be1bf4c706bc7f44e4fa91342bdc91f4b1.tar.gz bcm5719-llvm-3c3345be1bf4c706bc7f44e4fa91342bdc91f4b1.zip |
[CMake] Make check-lldb work with LLDB_CODESIGN_IDENTITY=''
On Darwin, if a test machine isn't set up for code-signing (see
docs/code-signing.txt), running check-lldb should use the system
debugserver instead of the unsigned one built in-tree. This makes it
possible to run lldb's test suite without having code-signing set up,
which is really convenient.
Differential Revision: https://reviews.llvm.org/D42215
llvm-svn: 322803
Diffstat (limited to 'lldb')
-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}) |