1set(LLVM_TARGET_DEFINITIONS LLGSOptions.td)
2tablegen(LLVM LLGSOptions.inc -gen-opt-parser-defs)
3add_public_tablegen_target(LLGSOptionsTableGen)
4set_target_properties(LLGSOptionsTableGen PROPERTIES FOLDER "lldb misc")
5
6set(LLDB_PLUGINS)
7
8if(CMAKE_SYSTEM_NAME MATCHES "Linux|Android")
9  list(APPEND LLDB_PLUGINS lldbPluginProcessLinux)
10endif()
11
12if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
13  list(APPEND LLDB_PLUGINS lldbPluginProcessFreeBSD)
14endif()
15
16if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
17  list(APPEND LLDB_PLUGINS lldbPluginProcessNetBSD)
18endif()
19
20if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
21  list(APPEND LLDB_PLUGINS lldbPluginProcessOpenBSD)
22endif()
23
24if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
25  list(APPEND LLDB_PLUGINS lldbPluginObjectFileMachO)
26elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
27  list(APPEND LLDB_PLUGINS lldbPluginObjectFilePECOFF)
28else()
29  list(APPEND LLDB_PLUGINS lldbPluginObjectFileELF)
30endif()
31
32if(APPLE_EMBEDDED)
33  if(LLDB_CODESIGN_IDENTITY)
34    # Use explicit LLDB identity
35    set(LLVM_CODESIGNING_IDENTITY ${LLDB_CODESIGN_IDENTITY})
36  else()
37    # Use explicit LLVM identity or default to lldb_codesign if empty
38    if(NOT LLVM_CODESIGNING_IDENTITY)
39      set(LLVM_CODESIGNING_IDENTITY lldb_codesign)
40    endif()
41  endif()
42endif()
43
44add_lldb_tool(lldb-server
45    Acceptor.cpp
46    lldb-gdbserver.cpp
47    lldb-platform.cpp
48    lldb-server.cpp
49    LLDBServerUtilities.cpp
50    SystemInitializerLLGS.cpp
51
52    LINK_LIBS
53      lldbBase
54      lldbHost
55      lldbInitialization
56      ${LLDB_PLUGINS}
57      lldbPluginInstructionARM
58      lldbPluginInstructionMIPS
59      lldbPluginInstructionMIPS64
60      ${LLDB_SYSTEM_LIBS}
61
62    LINK_COMPONENTS
63      Option
64      Support
65)
66
67add_dependencies(lldb-server
68  LLGSOptionsTableGen
69  ${tablegen_deps}
70)
71target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source")
72target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS})
73