[clang-tools-extra] [clangd] Make sure ninja can clean "ClangdXPC.framework" (PR #75669)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 15 15:14:53 PST 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clangd
Author: Jan Svoboda (jansvoboda11)
<details>
<summary>Changes</summary>
After building the ClangdXPC target, `ninja clean` fails with the following error:
```
ninja: error: remove(lib/ClangdXPC.framework): Directory not empty
ninja: error: remove(<build>/lib/ClangdXPC.framework): Directory not empty
```
I did not find better way to make this work. I guess we could list all generated files (and directories) in `OUTPUT` of the custom command, but that seems fairly tedious/fragile.
---
Full diff: https://github.com/llvm/llvm-project/pull/75669.diff
1 Files Affected:
- (modified) clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake (+6)
``````````diff
diff --git a/clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake b/clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
index 46738a204ace14..d5ba44962dd528 100644
--- a/clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
+++ b/clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
@@ -71,6 +71,12 @@ macro(create_clangd_xpc_framework target name)
${CLANGD_FRAMEWORK_LOCATION}
)
+ set_property(
+ TARGET ClangdXPC
+ APPEND
+ PROPERTY ADDITIONAL_CLEAN_FILES ${CLANGD_FRAMEWORK_LOCATION}
+ )
+
# clangd is already signed as a standalone executable, so it must be forced.
llvm_codesign(ClangdXPC BUNDLE_PATH "${CLANGD_FRAMEWORK_OUT_LOCATION}/XPCServices/${CLANGD_XPC_SERVICE_NAME}.xpc/" FORCE)
# ClangdXPC library is already signed as a standalone library, so it must be forced.
``````````
</details>
https://github.com/llvm/llvm-project/pull/75669
More information about the cfe-commits
mailing list