By default the cmake build doesn't build LLDB.framework, but thanks for raising 
the point, we can avoid the copy when that build setting is in place.

vedant

> On Feb 13, 2018, at 3:11 PM, Greg Clayton <clayb...@gmail.com> wrote:
> 
> If "debugserver" isn't put into the LLDB.framework, then it falls back to 
> using the one in the currently selected Xcode. We don't really need to copy 
> it if we just want to use the active system version?
> 
>> On Feb 13, 2018, at 3:08 PM, Vedant Kumar via lldb-commits 
>> <lldb-commits@lists.llvm.org> wrote:
>> 
>> @Davide I think you ran into this issue yesterday, let me know if this 
>> resolves it for you.
>> 
>> vedant
>> 
>>> On Feb 13, 2018, at 3:05 PM, Vedant Kumar via lldb-commits 
>>> <lldb-commits@lists.llvm.org> wrote:
>>> 
>>> Author: vedantk
>>> Date: Tue Feb 13 15:05:46 2018
>>> New Revision: 325068
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=325068&view=rev
>>> Log:
>>> [cmake] Darwin: Copy in the system debugserver if needed
>>> 
>>> This makes the built debugger functional on Darwin when compiling
>>> without code signing (as documented in docs/code-signing.txt).
>>> 
>>> Modified:
>>>  lldb/trunk/CMakeLists.txt
>>>  lldb/trunk/test/CMakeLists.txt
>>>  lldb/trunk/tools/debugserver/source/CMakeLists.txt
>>>  lldb/trunk/unittests/tools/lldb-server/CMakeLists.txt
>>> 
>>> Modified: lldb/trunk/CMakeLists.txt
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/CMakeLists.txt?rev=325068&r1=325067&r2=325068&view=diff
>>> ==============================================================================
>>> --- lldb/trunk/CMakeLists.txt (original)
>>> +++ lldb/trunk/CMakeLists.txt Tue Feb 13 15:05:46 2018
>>> @@ -56,6 +56,22 @@ if (NOT LLDB_DISABLE_PYTHON)
>>> 
>>> add_subdirectory(scripts)
>>> endif ()
>>> +
>>> +if(CMAKE_HOST_APPLE)
>>> +  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")
>>> +    set(SKIP_DEBUGSERVER True)
>>> +  endif()
>>> +  message(STATUS "Path to the lldb debugserver: ${DEBUGSERVER_PATH}")
>>> +endif()
>>> +
>>> add_subdirectory(source)
>>> add_subdirectory(tools)
>>> 
>>> 
>>> Modified: lldb/trunk/test/CMakeLists.txt
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/test/CMakeLists.txt?rev=325068&r1=325067&r2=325068&view=diff
>>> ==============================================================================
>>> --- lldb/trunk/test/CMakeLists.txt (original)
>>> +++ lldb/trunk/test/CMakeLists.txt Tue Feb 13 15:05:46 2018
>>> @@ -110,17 +110,6 @@ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Wi
>>> endif()
>>> 
>>> if(CMAKE_HOST_APPLE)
>>> -  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()
>>> 
>>> 
>>> Modified: lldb/trunk/tools/debugserver/source/CMakeLists.txt
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/CMakeLists.txt?rev=325068&r1=325067&r2=325068&view=diff
>>> ==============================================================================
>>> --- lldb/trunk/tools/debugserver/source/CMakeLists.txt (original)
>>> +++ lldb/trunk/tools/debugserver/source/CMakeLists.txt Tue Feb 13 15:05:46 
>>> 2018
>>> @@ -195,7 +195,15 @@ if("${LLDB_CODESIGN_IDENTITY}" STREQUAL
>>> endif()
>>> option(LLDB_USE_ENTITLEMENTS "Use entitlements when codesigning (Defaults 
>>> Off when using lldb_codesign identity, otherwise On)" 
>>> ${LLDB_USE_ENTITLEMENTS_Default})
>>> 
>>> -if (NOT ("${LLDB_CODESIGN_IDENTITY}" STREQUAL ""))
>>> +if ("${LLDB_CODESIGN_IDENTITY}" STREQUAL "")
>>> +  if (CMAKE_HOST_APPLE)
>>> +    # If we haven't built a signed debugserver, copy the one from the 
>>> system.
>>> +    add_custom_target(debugserver
>>> +      COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DEBUGSERVER_PATH} 
>>> ${CMAKE_BINARY_DIR}/bin
>>> +      VERBATIM
>>> +      COMMENT "Copying the system debugserver to LLDB's binaries 
>>> directory.")
>>> +  endif()
>>> +else()
>>> if(LLDB_USE_ENTITLEMENTS)
>>>   set(entitlements_flags --entitlements ${entitlements_xml})
>>> endif()
>>> 
>>> Modified: lldb/trunk/unittests/tools/lldb-server/CMakeLists.txt
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/tools/lldb-server/CMakeLists.txt?rev=325068&r1=325067&r2=325068&view=diff
>>> ==============================================================================
>>> --- lldb/trunk/unittests/tools/lldb-server/CMakeLists.txt (original)
>>> +++ lldb/trunk/unittests/tools/lldb-server/CMakeLists.txt Tue Feb 13 
>>> 15:05:46 2018
>>> @@ -13,7 +13,7 @@ add_lldb_test_executable(thread_inferior
>>> add_lldb_test_executable(environment_check inferior/environment_check.cpp)
>>> 
>>> if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
>>> -  add_definitions(-DLLDB_SERVER="$<TARGET_FILE:debugserver>" 
>>> -DLLDB_SERVER_IS_DEBUGSERVER=1)
>>> +  add_definitions(-DLLDB_SERVER="${DEBUGSERVER_PATH}" 
>>> -DLLDB_SERVER_IS_DEBUGSERVER=1)
>>> else()
>>> add_definitions(-DLLDB_SERVER="$<TARGET_FILE:lldb-server>" 
>>> -DLLDB_SERVER_IS_DEBUGSERVER=0)
>>> endif()
>>> 
>>> 
>>> _______________________________________________
>>> lldb-commits mailing list
>>> lldb-commits@lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>> 
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits@lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
> 

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to