mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 20:23:39 +08:00
[lldb][CMake] Enforce not letting lldbUtility link against any other lldb libs
lldbUtility is not supposed to depend on anything else in lldb. Let's enforce that constraint in CMake rather than hoping something doesn't slip in under the radar. Differential Revision: https://reviews.llvm.org/D146473
This commit is contained in:
@@ -37,13 +37,23 @@ 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"
|
||||
"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()
|
||||
|
||||
@@ -23,7 +23,7 @@ if (NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB )
|
||||
list(APPEND LLDB_SYSTEM_LIBS atomic)
|
||||
endif()
|
||||
|
||||
add_lldb_library(lldbUtility
|
||||
add_lldb_library(lldbUtility NO_INTERNAL_DEPENDENCIES
|
||||
ArchSpec.cpp
|
||||
Args.cpp
|
||||
Baton.cpp
|
||||
|
||||
Reference in New Issue
Block a user