# only supported parameters to this macro are the optional
# MODULE;SHARED;STATIC library type and source files
cmake_parse_arguments(PARAM
- "MODULE;SHARED;STATIC;OBJECT;PLUGIN;FRAMEWORK;NO_INTERNAL_DEPENDENCIES"
+ "MODULE;SHARED;STATIC;OBJECT;PLUGIN;FRAMEWORK;NO_INTERNAL_DEPENDENCIES;NO_PLUGIN_DEPENDENCIES"
"INSTALL_PREFIX;ENTITLEMENTS"
"EXTRA_CXXFLAGS;DEPENDS;LINK_LIBS;LINK_COMPONENTS;CLANG_LIBS"
${ARGN})
endforeach()
endif()
+ if(PARAM_NO_PLUGIN_DEPENDENCIES)
+ foreach(link_lib ${PARAM_LINK_LIBS})
+ if (link_lib MATCHES "^lldbPlugin")
+ message(FATAL_ERROR
+ "Library ${name} cannot depend on a plugin (Found ${link_lib} in "
+ "LINK_LIBS)")
+ endif()
+ endforeach()
+ endif()
+
if(PARAM_PLUGIN)
set_property(GLOBAL APPEND PROPERTY LLDB_PLUGINS ${name})
endif()
-add_lldb_library(lldbBreakpoint
+add_lldb_library(lldbBreakpoint NO_PLUGIN_DEPENDENCIES
Breakpoint.cpp
BreakpointID.cpp
BreakpointIDList.cpp
SOURCE Options.td
TARGET LLDBOptionsGen)
-add_lldb_library(lldbCommands
+add_lldb_library(lldbCommands NO_PLUGIN_DEPENDENCIES
CommandCompletions.cpp
CommandObjectApropos.cpp
CommandObjectBreakpoint.cpp
endif()
endif()
+# TODO: Add property `NO_PLUGIN_DEPENDENCIES` to lldbCore
add_lldb_library(lldbCore
Address.cpp
AddressRange.cpp
-add_lldb_library(lldbDataFormatters
+add_lldb_library(lldbDataFormatters NO_PLUGIN_DEPENDENCIES
CXXFunctionPointer.cpp
DataVisualization.cpp
DumpValueObjectOptions.cpp
+# TODO: Add property `NO_PLUGIN_DEPENDENCIES` to lldbExpression
add_lldb_library(lldbExpression
DiagnosticManager.cpp
DWARFExpression.cpp
endif()
endif()
-add_lldb_library(lldbHost
+add_lldb_library(lldbHost NO_PLUGIN_DEPENDENCIES
${HOST_SOURCES}
LINK_LIBS
remove_module_flags()
include_directories(..)
-add_lldb_library(lldbHostMacOSXObjCXX
+add_lldb_library(lldbHostMacOSXObjCXX NO_PLUGIN_DEPENDENCIES
Host.mm
HostInfoMacOSX.mm
HostThreadMacOSX.mm
SOURCE InterpreterProperties.td
TARGET LLDBInterpreterPropertiesEnumGen)
-add_lldb_library(lldbInterpreter
+add_lldb_library(lldbInterpreter NO_PLUGIN_DEPENDENCIES
CommandAlias.cpp
CommandHistory.cpp
CommandInterpreter.cpp
)
endif()
-add_lldb_library(lldbSymbol
+add_lldb_library(lldbSymbol NO_PLUGIN_DEPENDENCIES
ArmUnwindInfo.cpp
Block.cpp
CompactUnwindInfo.cpp
SOURCE TargetProperties.td
TARGET LLDBTargetPropertiesEnumGen)
-add_lldb_library(lldbTarget
+add_lldb_library(lldbTarget NO_PLUGIN_DEPENDENCIES
ABI.cpp
AssertFrameRecognizer.cpp
DynamicRegisterInfo.cpp
include_directories(${CMAKE_CURRENT_BINARY_DIR})
-add_lldb_library(lldbVersion
+add_lldb_library(lldbVersion NO_PLUGIN_DEPENDENCIES
Version.cpp
${vcs_version_inc}
${version_inc})