summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/cmake/modules/AddLLDB.cmake10
-rw-r--r--lldb/source/API/CMakeLists.txt2
2 files changed, 10 insertions, 2 deletions
diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake
index 6f05be38490..e094092498a 100644
--- a/lldb/cmake/modules/AddLLDB.cmake
+++ b/lldb/cmake/modules/AddLLDB.cmake
@@ -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)
diff --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt
index f06ed1fcdd0..488dae3cae3 100644
--- a/lldb/source/API/CMakeLists.txt
+++ b/lldb/source/API/CMakeLists.txt
@@ -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
OpenPOWER on IntegriCloud