[Lldb-commits] [PATCH] D95185: lldb: repair the standalone build for Windows
Saleem Abdulrasool via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Jan 21 16:30:44 PST 2021
compnerd created this revision.
compnerd added a reviewer: JDevlieghere.
compnerd added a project: LLDB.
Herald added a subscriber: mgorny.
compnerd requested review of this revision.
Herald added a subscriber: lldb-commits.
The previous code path only happened to work incidentally. The
`file(MAKE_DIRECTORY)` is executed early, without the generator
expression being evaluated. The result is that the literal value is
being treated as a path. However, on Windows `:` is not a valid
character for a file name. This would cause the operation to fail. The
subsequent commands are delayed until runtime, and the operations will
expand the value at generation time yielding the correct result.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D95185
Files:
lldb/source/API/CMakeLists.txt
Index: lldb/source/API/CMakeLists.txt
===================================================================
--- lldb/source/API/CMakeLists.txt
+++ lldb/source/API/CMakeLists.txt
@@ -207,13 +207,12 @@
# When building the LLDB framework, this isn't necessary as there we copy everything we need into
# the framework (including the Clang resourece directory).
if(NOT LLDB_BUILD_FRAMEWORK)
- set(LLDB_CLANG_RESOURCE_DIR_PARENT "$<TARGET_FILE_DIR:liblldb>/clang")
- file(MAKE_DIRECTORY "${LLDB_CLANG_RESOURCE_DIR_PARENT}")
+ get_target_property(liblldb_TARGET_FILE_DIR liblldb TARGET_FILE_DIR)
+ file(MAKE_DIRECTORY "${liblldb_TARGET_FILE_DIR}/clang")
add_custom_command(TARGET liblldb POST_BUILD
- COMMENT "Linking Clang resource dir into LLDB build directory: ${LLDB_CLANG_RESOURCE_DIR_PARENT}"
- COMMAND ${CMAKE_COMMAND} -E make_directory "${LLDB_CLANG_RESOURCE_DIR_PARENT}"
- COMMAND ${CMAKE_COMMAND} -E create_symlink "${LLDB_EXTERNAL_CLANG_RESOURCE_DIR}"
- "${LLDB_CLANG_RESOURCE_DIR_PARENT}/${LLDB_CLANG_RESOURCE_DIR_NAME}"
+ COMMENT "Linking Clang resource dir into LLDB build directory: ${liblldb_TARGET_FILE_DIR}/clang"
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${liblldb_TARGET_FILE_DIR}/clang"
+ COMMAND ${CMAKE_COMMAND} -E create_symlink "${LLDB_EXTERNAL_CLANG_RESOURCE_DIR}" "${liblldb_TARGET_FILE_DIR}/clang/${LLDB_CLANG_RESOURCE_DIR_NAME}"
)
endif()
endif()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95185.318351.patch
Type: text/x-patch
Size: 1449 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210122/2bdb8de8/attachment.bin>
More information about the lldb-commits
mailing list