summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/cmake/modules/AddLLDB.cmake18
-rw-r--r--lldb/cmake/modules/LLDBConfig.cmake5
2 files changed, 13 insertions, 10 deletions
diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake
index 1adbe8c5d3e..c0a89e46f08 100644
--- a/lldb/cmake/modules/AddLLDB.cmake
+++ b/lldb/cmake/modules/AddLLDB.cmake
@@ -175,23 +175,25 @@ endfunction()
# added as an extra RPATH below.
#
function(lldb_setup_framework_rpaths_in_tool name)
- # In the build-tree, we know the exact path to the binary in the framework.
- set(rpath_build_tree "$<TARGET_FILE:liblldb>")
-
# The installed framework is relocatable and can be in different locations.
- set(rpaths_install_tree "@loader_path/../../../SharedFrameworks")
- list(APPEND rpaths_install_tree "@loader_path/../../System/Library/PrivateFrameworks")
- list(APPEND rpaths_install_tree "@loader_path/../../Library/PrivateFrameworks")
+ set(rpaths_install_tree)
if(LLDB_FRAMEWORK_INSTALL_DIR)
- set(rpaths_install_tree "@loader_path/../${LLDB_FRAMEWORK_INSTALL_DIR}")
+ list(APPEND rpaths_install_tree "@loader_path/../${LLDB_FRAMEWORK_INSTALL_DIR}")
endif()
+ list(APPEND rpaths_install_tree "@loader_path/../../../SharedFrameworks")
+ list(APPEND rpaths_install_tree "@loader_path/../../System/Library/PrivateFrameworks")
+ list(APPEND rpaths_install_tree "@loader_path/../../Library/PrivateFrameworks")
+
+ # In the build-tree, we know the exact path to the framework directory.
+ get_target_property(framework_target_dir liblldb LIBRARY_OUTPUT_DIRECTORY)
+
# If LLDB_NO_INSTALL_DEFAULT_RPATH was NOT enabled (default), this overwrites
# the default settings from llvm_setup_rpath().
set_target_properties(${name} PROPERTIES
BUILD_WITH_INSTALL_RPATH OFF
- BUILD_RPATH "${rpath_build_tree}"
+ BUILD_RPATH "${framework_target_dir}"
INSTALL_RPATH "${rpaths_install_tree}"
)
diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
index eeddc589443..03e944e507c 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -55,8 +55,9 @@ if(LLDB_BUILD_FRAMEWORK)
message(FATAL_ERROR "LLDB.framework can only be generated when targeting Apple platforms")
endif()
# CMake 3.6 did not correctly emit POST_BUILD commands for Apple Framework targets
- if(CMAKE_VERSION VERSION_LESS 3.7)
- message(FATAL_ERROR "LLDB_BUILD_FRAMEWORK is not supported on CMake < 3.7")
+ # CMake < 3.8 did not have the BUILD_RPATH target property
+ if(CMAKE_VERSION VERSION_LESS 3.8)
+ message(FATAL_ERROR "LLDB_BUILD_FRAMEWORK is not supported on CMake < 3.8")
endif()
set(LLDB_FRAMEWORK_VERSION A CACHE STRING "LLDB.framework version (default is A)")
OpenPOWER on IntegriCloud