1set(LLDB_PLUGINS)
2
3if(CMAKE_SYSTEM_NAME MATCHES "Linux|Android")
4  list(APPEND LLDB_PLUGINS lldbPluginProcessLinux)
5endif()
6
7if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
8  list(APPEND LLDB_PLUGINS lldbPluginProcessNetBSD)
9endif()
10
11if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
12  list(APPEND LLDB_PLUGINS lldbPluginProcessOpenBSD)
13endif()
14
15if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
16  list(APPEND LLDB_PLUGINS lldbPluginObjectFileMachO)
17elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
18  list(APPEND LLDB_PLUGINS lldbPluginObjectFilePECOFF)
19else()
20  list(APPEND LLDB_PLUGINS lldbPluginObjectFileELF)
21endif()
22
23if(IOS)
24  if(LLDB_CODESIGN_IDENTITY)
25    # Use explicit LLDB identity
26    set(LLVM_CODESIGNING_IDENTITY ${LLDB_CODESIGN_IDENTITY})
27  else()
28    # Use explicit LLVM identity or default to lldb_codesign if empty
29    if(NOT LLVM_CODESIGNING_IDENTITY)
30      set(LLVM_CODESIGNING_IDENTITY lldb_codesign)
31    endif()
32  endif()
33endif()
34
35add_lldb_tool(lldb-server
36    Acceptor.cpp
37    lldb-gdbserver.cpp
38    lldb-platform.cpp
39    lldb-server.cpp
40    LLDBServerUtilities.cpp
41    SystemInitializerLLGS.cpp
42
43    LINK_LIBS
44      lldbBase
45      lldbHost
46      lldbInitialization
47      ${LLDB_PLUGINS}
48      lldbPluginInstructionARM
49      lldbPluginInstructionMIPS
50      lldbPluginInstructionMIPS64
51      ${LLDB_SYSTEM_LIBS}
52
53    LINK_COMPONENTS
54      Support
55)
56
57target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source")
58target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS})
59