diff options
author | Alex Langford <alangford@apple.com> | 2023-03-21 11:20:31 -0700 |
---|---|---|
committer | Alex Langford <alangford@apple.com> | 2023-03-21 16:24:36 -0700 |
commit | 5499b026d218f694a8c9f148466da3259f6cc1fd (patch) | |
tree | a8d516924aedc86ba21acb3d1e0949b832161da3 /lldb/cmake | |
parent | 13e9afd16d8aac49caf3abaa35bc97b5430331d3 (diff) | |
download | llvm-5499b026d218f694a8c9f148466da3259f6cc1fd.tar.gz |
[lldb][CMake] Enforce not linking against plugin libs in core libs
Non-plugin lldb libraries should generally not be linking against lldb
plugin libraries. Enforce this in CMake.
Differential Revision: https://reviews.llvm.org/D146553
Diffstat (limited to 'lldb/cmake')
-rw-r--r-- | lldb/cmake/modules/AddLLDB.cmake | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake index e8fa70a5a684..f2d96dfd68e0 100644 --- a/lldb/cmake/modules/AddLLDB.cmake +++ b/lldb/cmake/modules/AddLLDB.cmake @@ -37,7 +37,7 @@ function(add_lldb_library name) # 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}) @@ -54,6 +54,16 @@ function(add_lldb_library name) 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() |