summaryrefslogtreecommitdiffstats
path: root/lldb/cmake/modules
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2019-10-30 10:33:05 -0700
committerHaibo Huang <hhb@google.com>2019-11-06 14:05:35 -0800
commit77a60f0df673074a2c9276498f95a9eaadeece56 (patch)
treedd0ffd1a33f89e2feb08f8652699615eaca1e931 /lldb/cmake/modules
parent9bfa5ab3d1982a7cef60ee00b935f4ddc89fc98e (diff)
downloadbcm5719-llvm-77a60f0df673074a2c9276498f95a9eaadeece56.tar.gz
bcm5719-llvm-77a60f0df673074a2c9276498f95a9eaadeece56.zip
[lldb] Record framework build path and use it everywhere
This avoids config time dependencies on liblldb. And enables other refactoring.
Diffstat (limited to 'lldb/cmake/modules')
-rw-r--r--lldb/cmake/modules/AddLLDB.cmake3
-rw-r--r--lldb/cmake/modules/LLDBConfig.cmake3
-rw-r--r--lldb/cmake/modules/LLDBFramework.cmake16
3 files changed, 9 insertions, 13 deletions
diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake
index b58a62ca777..6f05be38490 100644
--- a/lldb/cmake/modules/AddLLDB.cmake
+++ b/lldb/cmake/modules/AddLLDB.cmake
@@ -227,8 +227,7 @@ endfunction()
function(lldb_add_to_buildtree_lldb_framework name subdir)
# Destination for the copy in the build-tree. While the framework target may
# not exist yet, it will exist when the generator expression gets expanded.
- get_target_property(framework_build_dir liblldb LIBRARY_OUTPUT_DIRECTORY)
- set(copy_dest "${framework_build_dir}/${subdir}/$<TARGET_FILE_NAME:${name}>")
+ set(copy_dest "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/${subdir}/$<TARGET_FILE_NAME:${name}>")
# Copy into the given subdirectory for testing.
add_custom_command(TARGET ${name} POST_BUILD
diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
index c042cbf1b22..e9ed2229d6b 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -68,6 +68,9 @@ if(LLDB_BUILD_FRAMEWORK)
set(LLDB_FRAMEWORK_BUILD_DIR bin CACHE STRING "Output directory for LLDB.framework")
set(LLDB_FRAMEWORK_INSTALL_DIR Library/Frameworks CACHE STRING "Install directory for LLDB.framework")
+ get_filename_component(LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR ${LLDB_FRAMEWORK_BUILD_DIR} ABSOLUTE
+ BASE_DIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR})
+
# Essentially, emit the framework's dSYM outside of the framework directory.
set(LLDB_DEBUGINFO_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin CACHE STRING
"Directory to emit dSYM files stripped from executables and libraries (Darwin Only)")
diff --git a/lldb/cmake/modules/LLDBFramework.cmake b/lldb/cmake/modules/LLDBFramework.cmake
index 249fea30a87..b6488936806 100644
--- a/lldb/cmake/modules/LLDBFramework.cmake
+++ b/lldb/cmake/modules/LLDBFramework.cmake
@@ -1,10 +1,4 @@
-# Path relative to the root binary directory
-get_filename_component(
- framework_target_dir ${LLDB_FRAMEWORK_BUILD_DIR} ABSOLUTE
- BASE_DIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}
-)
-
-message(STATUS "LLDB.framework: build path is '${framework_target_dir}'")
+message(STATUS "LLDB.framework: build path is '${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}'")
message(STATUS "LLDB.framework: install path is '${LLDB_FRAMEWORK_INSTALL_DIR}'")
message(STATUS "LLDB.framework: resources subdirectory is 'Versions/${LLDB_FRAMEWORK_VERSION}/Resources'")
@@ -15,7 +9,7 @@ set_target_properties(liblldb PROPERTIES
OUTPUT_NAME LLDB
VERSION ${LLDB_VERSION}
- LIBRARY_OUTPUT_DIRECTORY ${framework_target_dir}
+ LIBRARY_OUTPUT_DIRECTORY ${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}
# Compatibility version
SOVERSION "1.0.0"
@@ -29,8 +23,8 @@ set_target_properties(liblldb PROPERTIES
# Used in llvm_add_library() to set default output directories for multi-config
# generators. Overwrite to account for special framework output directory.
set_output_directory(liblldb
- BINARY_DIR ${framework_target_dir}
- LIBRARY_DIR ${framework_target_dir}
+ BINARY_DIR ${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}
+ LIBRARY_DIR ${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}
)
lldb_add_post_install_steps_darwin(liblldb ${LLDB_FRAMEWORK_INSTALL_DIR})
@@ -51,7 +45,7 @@ set(CMAKE_XCODE_ATTRIBUTE_CLANG_WARN_DOCUMENTATION_COMMENTS "YES")
add_custom_command(TARGET liblldb POST_BUILD
COMMAND ${CMAKE_COMMAND} -E create_symlink
Versions/Current/Headers
- ${framework_target_dir}/LLDB.framework/Headers
+ ${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/LLDB.framework/Headers
COMMENT "LLDB.framework: create Headers symlink"
)
OpenPOWER on IntegriCloud