jordan_rose created this revision.
jordan_rose added reviewers: beanz, jkorous.
Herald added subscribers: cfe-commits, usaxena95, kadircet, arphaman,
dexonsmith, MaskRay, ilya-biryukov, mgorny.
Herald added a project: clang.
The output directories for CMake's Xcode project generator are specific to the
configuration, and so looking in `CMAKE_LIBRARY_OUTPUT_DIRECTORY` isn't going
to work. Fortunately, CMake already provides generator expressions to find the
output of a given target.
I call this the bare minimum because the //built// framework isn't going to
respect the configuration; that is, I can't have both Debug and RelWithDebInfo
variants of ClangdXPC.framework at the same time like I can with normal library
or executable targets. To do that we'd have to put the framework in a
configuration-specific output directory too…or use CMake's native support for
frameworks instead.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D68846
Files:
clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
Index: clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
===================================================================
--- clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
+++ clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
@@ -28,7 +28,7 @@
# Copy the framework binary.
COMMAND ${CMAKE_COMMAND} -E copy
- "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${target}.dylib"
+ "$<TARGET_FILE:${target}>"
"${CLANGD_FRAMEWORK_OUT_LOCATION}/${name}"
# Copy the XPC Service PLIST.
@@ -38,7 +38,7 @@
# Copy the Clangd binary.
COMMAND ${CMAKE_COMMAND} -E copy
- "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/clangd"
+ "$<TARGET_FILE:clangd>"
"${CLANGD_XPC_SERVICE_OUT_LOCATION}/MacOS/clangd"
COMMAND ${CMAKE_COMMAND} -E create_symlink "A"
Index: clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
===================================================================
--- clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
+++ clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
@@ -28,7 +28,7 @@
# Copy the framework binary.
COMMAND ${CMAKE_COMMAND} -E copy
- "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${target}.dylib"
+ "$<TARGET_FILE:${target}>"
"${CLANGD_FRAMEWORK_OUT_LOCATION}/${name}"
# Copy the XPC Service PLIST.
@@ -38,7 +38,7 @@
# Copy the Clangd binary.
COMMAND ${CMAKE_COMMAND} -E copy
- "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/clangd"
+ "$<TARGET_FILE:clangd>"
"${CLANGD_XPC_SERVICE_OUT_LOCATION}/MacOS/clangd"
COMMAND ${CMAKE_COMMAND} -E create_symlink "A"
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits