summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/source/API/CMakeLists.txt12
-rw-r--r--lldb/test/CMakeLists.txt5
2 files changed, 14 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()
diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt
index 142df66a2d8..49044043edf 100644
--- a/lldb/test/CMakeLists.txt
+++ b/lldb/test/CMakeLists.txt
@@ -27,6 +27,11 @@ if(TARGET lldb-mi)
list(APPEND LLDB_TEST_DEPS lldb-mi)
endif()
+# This target will only exist if the user is using a CMake older than 3.7
+if(TARGET lldb_header_symlink)
+ list(APPEND LLDB_TEST_DEPS lldb_header_symlink)
+endif()
+
if ("${LLDB_TEST_COMPILER}" STREQUAL "")
string(REGEX REPLACE ".*ccache\ +" "" LLDB_TEST_COMPILER ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1})
endif()
OpenPOWER on IntegriCloud