[clang-tools-extra] r374494 - Get ClangdXPC.framework building (barely) with CMake's Xcode generator

Jordan Rose via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 10 18:23:56 PDT 2019


Author: jrose
Date: Thu Oct 10 18:23:56 2019
New Revision: 374494

URL: http://llvm.org/viewvc/llvm-project?rev=374494&view=rev
Log:
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

Modified:
    clang-tools-extra/trunk/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake

Modified: clang-tools-extra/trunk/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake?rev=374494&r1=374493&r2=374494&view=diff
==============================================================================
--- clang-tools-extra/trunk/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake (original)
+++ clang-tools-extra/trunk/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake Thu Oct 10 18:23:56 2019
@@ -28,7 +28,7 @@ macro(create_clangd_xpc_framework target
 
     # 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 @@ macro(create_clangd_xpc_framework target
 
     # 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"




More information about the cfe-commits mailing list