Get ClangdXPC.framework building (barely) with CMake's Xcode generator

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 "barely" building 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 or use
CMake's native support for frameworks instead.

https://reviews.llvm.org/D68846

llvm-svn: 374494
This commit is contained in:
Jordan Rose 2019-10-11 01:23:56 +00:00
parent adb203feda
commit 7b5c879243
1 changed files with 2 additions and 2 deletions

View File

@ -28,7 +28,7 @@ macro(create_clangd_xpc_framework target name)
# Copy the framework binary. # Copy the framework binary.
COMMAND ${CMAKE_COMMAND} -E copy COMMAND ${CMAKE_COMMAND} -E copy
"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${target}.dylib" "$<TARGET_FILE:${target}>"
"${CLANGD_FRAMEWORK_OUT_LOCATION}/${name}" "${CLANGD_FRAMEWORK_OUT_LOCATION}/${name}"
# Copy the XPC Service PLIST. # Copy the XPC Service PLIST.
@ -38,7 +38,7 @@ macro(create_clangd_xpc_framework target name)
# Copy the Clangd binary. # Copy the Clangd binary.
COMMAND ${CMAKE_COMMAND} -E copy COMMAND ${CMAKE_COMMAND} -E copy
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/clangd" "$<TARGET_FILE:clangd>"
"${CLANGD_XPC_SERVICE_OUT_LOCATION}/MacOS/clangd" "${CLANGD_XPC_SERVICE_OUT_LOCATION}/MacOS/clangd"
COMMAND ${CMAKE_COMMAND} -E create_symlink "A" COMMAND ${CMAKE_COMMAND} -E create_symlink "A"