diff options
| author | Haibo Huang <hhb@google.com> | 2019-10-30 10:33:05 -0700 |
|---|---|---|
| committer | Haibo Huang <hhb@google.com> | 2019-11-06 14:05:35 -0800 |
| commit | 77a60f0df673074a2c9276498f95a9eaadeece56 (patch) | |
| tree | dd0ffd1a33f89e2feb08f8652699615eaca1e931 /lldb/cmake/modules | |
| parent | 9bfa5ab3d1982a7cef60ee00b935f4ddc89fc98e (diff) | |
| download | bcm5719-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.cmake | 3 | ||||
| -rw-r--r-- | lldb/cmake/modules/LLDBConfig.cmake | 3 | ||||
| -rw-r--r-- | lldb/cmake/modules/LLDBFramework.cmake | 16 |
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" ) |

