1add_subdirectory(ABI)
2add_subdirectory(Architecture)
3add_subdirectory(Disassembler)
4add_subdirectory(DynamicLoader)
5add_subdirectory(ExpressionParser)
6add_subdirectory(Instruction)
7add_subdirectory(InstrumentationRuntime)
8add_subdirectory(JITLoader)
9add_subdirectory(Language)
10add_subdirectory(LanguageRuntime)
11add_subdirectory(MemoryHistory)
12add_subdirectory(ObjectContainer)
13add_subdirectory(ObjectFile)
14add_subdirectory(OperatingSystem)
15add_subdirectory(Platform)
16add_subdirectory(Process)
17add_subdirectory(ScriptInterpreter)
18add_subdirectory(StructuredData)
19add_subdirectory(SymbolFile)
20add_subdirectory(SystemRuntime)
21add_subdirectory(SymbolVendor)
22add_subdirectory(Trace)
23add_subdirectory(TypeSystem)
24add_subdirectory(UnwindAssembly)
25
26set(LLDB_STRIPPED_PLUGINS)
27get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS)
28
29set(LLDB_ENUM_PLUGINS "")
30
31# FIXME: ProcessWindowsCommon needs to be initialized after all other process
32# plugins but before ProcessGDBRemote.
33set(LLDB_PROCESS_WINDOWS_PLUGIN "")
34set(LLDB_PROCESS_GDB_PLUGIN "")
35
36foreach(p ${LLDB_ALL_PLUGINS})
37  # Strip lldbPlugin form the plugin name.
38  string(SUBSTRING ${p} 10 -1 pStripped)
39  if(${pStripped} MATCHES "^ScriptInterpreter*")
40    set(LLDB_ENUM_PLUGINS "${LLDB_ENUM_PLUGINS}LLDB_SCRIPT_PLUGIN(${pStripped})\n")
41  elseif(${pStripped} STREQUAL "ProcessWindowsCommon")
42    set(LLDB_PROCESS_WINDOWS_PLUGIN "LLDB_PLUGIN(${pStripped})\n")
43  elseif(${pStripped} STREQUAL "ProcessGDBRemote")
44    set(LLDB_PROCESS_GDB_PLUGIN "LLDB_PLUGIN(${pStripped})\n")
45  else()
46    set(LLDB_ENUM_PLUGINS "${LLDB_ENUM_PLUGINS}LLDB_PLUGIN(${pStripped})\n")
47  endif()
48endforeach(p)
49
50configure_file(
51  ${CMAKE_CURRENT_SOURCE_DIR}/Plugins.def.in
52  ${CMAKE_CURRENT_BINARY_DIR}/Plugins.def
53  )
54
55set_property(GLOBAL PROPERTY LLDB_PLUGINS_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR})
56