forked from OSchip/llvm-project
[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
This commit is contained in:
parent
53b3855b2b
commit
3c3345be1b
lldb
|
@ -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
|
||||
|
|
|
@ -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})
|
||||
|
|
Loading…
Reference in New Issue