forked from OSchip/llvm-project
[LLDB] Fix/silence CMake developer warning for LLDB framework.
This fixes the following warning for developers: Target 'liblldb' was changed to a FRAMEWORK sometime after install(). This may result in the wrong install DESTINATION. Set the FRAMEWORK property earlier. The solution is to pass the FRAMEWORK flag to add_lldb_library and set the target property before install(). For now liblldb is the only customer.
This commit is contained in:
parent
4ae74cc99f
commit
a247bd1f27
|
@ -35,7 +35,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"
|
||||
"MODULE;SHARED;STATIC;OBJECT;PLUGIN;FRAMEWORK"
|
||||
"INSTALL_PREFIX;ENTITLEMENTS"
|
||||
"EXTRA_CXXFLAGS;DEPENDS;LINK_LIBS;LINK_COMPONENTS;CLANG_LIBS"
|
||||
${ARGN})
|
||||
|
@ -99,6 +99,14 @@ function(add_lldb_library name)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# A target cannot be changed to a FRAMEWORK after calling install() because
|
||||
# this may result in the wrong install DESTINATION. The FRAMEWORK property
|
||||
# must be set earlier.
|
||||
if(PARAM_FRAMEWORK)
|
||||
message(WARNING "{name} is now a FRAMEWORK")
|
||||
set_target_properties(liblldb PROPERTIES FRAMEWORK ON)
|
||||
endif()
|
||||
|
||||
if(PARAM_SHARED)
|
||||
set(install_dest lib${LLVM_LIBDIR_SUFFIX})
|
||||
if(PARAM_INSTALL_PREFIX)
|
||||
|
|
|
@ -13,7 +13,7 @@ if(LLDB_BUILD_FRAMEWORK)
|
|||
set(option_install_prefix INSTALL_PREFIX ${LLDB_FRAMEWORK_INSTALL_DIR})
|
||||
endif()
|
||||
|
||||
add_lldb_library(liblldb SHARED
|
||||
add_lldb_library(liblldb SHARED FRAMEWORK
|
||||
SBAddress.cpp
|
||||
SBAttachInfo.cpp
|
||||
SBBlock.cpp
|
||||
|
|
Loading…
Reference in New Issue