Files
clang-p2996/lldb/source/Core/CMakeLists.txt
Jonas Devlieghere b852fb1ec5 [lldb] Move ValueObject into its own library (NFC) (#113393)
ValueObject is part of lldbCore for historical reasons, but conceptually
it deserves to be its own library. This does introduce a (link-time) circular
dependency between lldbCore and lldbValueObject, which is unfortunate
but probably unavoidable because so many things in LLDB rely on
ValueObject. We already have cycles and these libraries are never built
as dylibs so while this doesn't improve the situation, it also doesn't
make things worse.

The header includes were updated with the following command:

```
find . -type f -exec sed -i.bak "s%include \"lldb/Core/ValueObject%include \"lldb/ValueObject/ValueObject%" '{}' \;
```
2024-10-24 20:20:48 -07:00

96 lines
2.0 KiB
CMake

lldb_tablegen(CoreProperties.inc -gen-lldb-property-defs
SOURCE CoreProperties.td
TARGET LLDBCorePropertiesGen)
lldb_tablegen(CorePropertiesEnum.inc -gen-lldb-property-enum-defs
SOURCE CoreProperties.td
TARGET LLDBCorePropertiesEnumGen)
set(LLDB_CURSES_LIBS)
set(LLDB_LIBEDIT_LIBS)
if (LLDB_ENABLE_CURSES)
list(APPEND LLDB_CURSES_LIBS ${PANEL_LIBRARIES} ${CURSES_LIBRARIES})
if (LLVM_BUILD_STATIC)
list(APPEND LLDB_CURSES_LIBS gpm)
endif()
endif()
# TODO: Add property `NO_PLUGIN_DEPENDENCIES` to lldbCore
add_lldb_library(lldbCore
Address.cpp
AddressRange.cpp
AddressRangeListImpl.cpp
AddressResolver.cpp
AddressResolverFileLine.cpp
Communication.cpp
DataFileCache.cpp
Debugger.cpp
DebuggerEvents.cpp
Declaration.cpp
Disassembler.cpp
DumpDataExtractor.cpp
DumpRegisterValue.cpp
DumpRegisterInfo.cpp
DynamicLoader.cpp
EmulateInstruction.cpp
FileLineResolver.cpp
FormatEntity.cpp
Highlighter.cpp
IOHandler.cpp
IOHandlerCursesGUI.cpp
Mangled.cpp
Module.cpp
ModuleChild.cpp
ModuleList.cpp
Opcode.cpp
PluginManager.cpp
Progress.cpp
RichManglingContext.cpp
SearchFilter.cpp
Section.cpp
SourceLocationSpec.cpp
SourceManager.cpp
StreamAsynchronousIO.cpp
ThreadedCommunication.cpp
UserSettingsController.cpp
Value.cpp
DEPENDS
clang-tablegen-targets
LINK_LIBS
lldbBreakpoint
lldbDataFormatters
lldbExpression
lldbHost
lldbInterpreter
lldbSymbol
lldbTarget
lldbUtility
lldbValueObject
lldbPluginCPlusPlusLanguage
lldbPluginObjCLanguage
${LLDB_CURSES_LIBS}
CLANG_LIBS
clangDriver
LINK_COMPONENTS
Support
Demangle
TargetParser
)
add_dependencies(lldbCore
LLDBCorePropertiesGen
LLDBCorePropertiesEnumGen)
# Needed to properly resolve references in a debug build.
# TODO: Remove once we have better layering
set_target_properties(lldbCore PROPERTIES LINK_INTERFACE_MULTIPLICITY 5)
if (LLDB_ENABLE_CURSES)
target_include_directories(lldbCore PRIVATE ${CURSES_INCLUDE_DIRS})
endif()