diff options
| author | Chris Bieneman <beanz@apple.com> | 2016-10-31 22:31:07 +0000 |
|---|---|---|
| committer | Chris Bieneman <beanz@apple.com> | 2016-10-31 22:31:07 +0000 |
| commit | b9fc4727cce8085d134b647eae1539fc3092f07e (patch) | |
| tree | c8a0338453c6e93395c635d53af0114eafb39356 /lldb/source/API/CMakeLists.txt | |
| parent | f75430963df0c86adad1145e334105a20bcca77c (diff) | |
| download | bcm5719-llvm-b9fc4727cce8085d134b647eae1539fc3092f07e.tar.gz bcm5719-llvm-b9fc4727cce8085d134b647eae1539fc3092f07e.zip | |
[CMake] Populate the build directory's framework
This ensures that the Resources and clang headers are properly symlinked in LLDB's framework. This should fix the modules-related tests when building on Darwin with CMake if you are building a framework.
I have another fix coming which gets them working on Darwin if you're building liblldb instead of a framework.
llvm-svn: 285651
Diffstat (limited to 'lldb/source/API/CMakeLists.txt')
| -rw-r--r-- | lldb/source/API/CMakeLists.txt | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt index 8b47495e898..b9e4fe92bc3 100644 --- a/lldb/source/API/CMakeLists.txt +++ b/lldb/source/API/CMakeLists.txt @@ -140,16 +140,22 @@ if(LLDB_BUILD_FRAMEWORK) LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${LLDB_FRAMEWORK_INSTALL_DIR} PUBLIC_HEADER "${public_headers}") + set(symlink_commands + COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:liblldb> + COMMAND ${CMAKE_COMMAND} -E create_symlink ${LLDB_SOURCE_DIR}/include/lldb/API $<TARGET_FILE_DIR:liblldb>/Headers + COMMAND ${CMAKE_COMMAND} -E create_symlink Versions/Current/Headers ${CMAKE_BINARY_DIR}/${LLDB_FRAMEWORK_INSTALL_DIR}/LLDB.framework/Headers + COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/clang/${LLDB_VERSION} $<TARGET_FILE_DIR:liblldb>/Resources/Clang + ) + # This works around a CMake bug where POST_BUILD steps are not applied to # framework targets. This fix is merged into the CMake release branch and # should be available with CMake 3.7 rc2: # https://gitlab.kitware.com/cmake/cmake/issues/16363 if(CMAKE_VERSION VERSION_GREATER 3.6.99) - add_custom_command(TARGET liblldb POST_BUILD - COMMAND ${CMAKE_COMMAND} -E create_symlink ${LLDB_SOURCE_DIR}/include/lldb/API $<TARGET_FILE_DIR:liblldb>/Headers) + add_custom_command(TARGET liblldb POST_BUILD ${symlink_commands}) else() add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LLDB_FRAMEWORK_INSTALL_DIR}/LLDB.framework/Versions/${LLDB_FRAMEWORK_VERSION}/Headers - COMMAND ${CMAKE_COMMAND} -E create_symlink ${LLDB_SOURCE_DIR}/include/lldb/API $<TARGET_FILE_DIR:liblldb>/Headers) + ${symlink_commands}) add_custom_target(lldb_header_symlink DEPENDS ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LLDB_FRAMEWORK_INSTALL_DIR}/LLDB.framework/Versions/${LLDB_FRAMEWORK_VERSION}/Headers) endif() |

