Author: vedantk Date: Wed Jan 17 17:16:30 2018 New Revision: 322803 URL: http://llvm.org/viewvc/llvm-project?rev=322803&view=rev Log: [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 Modified: lldb/trunk/docs/code-signing.txt lldb/trunk/test/CMakeLists.txt Modified: lldb/trunk/docs/code-signing.txt URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/docs/code-signing.txt?rev=322803&r1=322802&r2=322803&view=diff ============================================================================== --- lldb/trunk/docs/code-signing.txt (original) +++ lldb/trunk/docs/code-signing.txt Wed Jan 17 17:16:30 2018 @@ -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 Modified: lldb/trunk/test/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/CMakeLists.txt?rev=322803&r1=322802&r2=322803&view=diff ============================================================================== --- lldb/trunk/test/CMakeLists.txt (original) +++ lldb/trunk/test/CMakeLists.txt Wed Jan 17 17:16:30 2018 @@ -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 "Wi 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}) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits