# 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"
+ "MODULE;SHARED;STATIC;OBJECT;PLUGIN;FRAMEWORK;NO_INTERNAL_DEPENDENCIES"
"INSTALL_PREFIX;ENTITLEMENTS"
"EXTRA_CXXFLAGS;DEPENDS;LINK_LIBS;LINK_COMPONENTS;CLANG_LIBS"
${ARGN})
llvm_process_sources(srcs ${PARAM_UNPARSED_ARGUMENTS})
list(APPEND LLVM_LINK_COMPONENTS ${PARAM_LINK_COMPONENTS})
+ if(PARAM_NO_INTERNAL_DEPENDENCIES)
+ foreach(link_lib ${PARAM_LINK_LIBS})
+ if (link_lib MATCHES "^lldb")
+ message(FATAL_ERROR
+ "Library ${name} cannot depend on any other lldb libs "
+ "(Found ${link_lib} in LINK_LIBS)")
+ endif()
+ endforeach()
+ endif()
+
if(PARAM_PLUGIN)
set_property(GLOBAL APPEND PROPERTY LLDB_PLUGINS ${name})
endif()