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