]> granicus.if.org Git - llvm/commit
Support codesigning bundles and forcing
authorChris Bieneman <chris.bieneman@me.com>
Thu, 30 May 2019 22:25:48 +0000 (22:25 +0000)
committerChris Bieneman <chris.bieneman@me.com>
Thu, 30 May 2019 22:25:48 +0000 (22:25 +0000)
commit3688cb5f72ad2884ba22889c8aad188dad6e96e2
treeaf8cca54d113268e6b6752bdbce7fff708b8453f
parent10201f254a050bd52926666bec2f84ef9663228c
Support codesigning bundles and forcing

Summary:
Clangd's framework is assembled by copying binaries from the lib and bin directories into a bundle shape. This results in an invalid bundle code signature because the signature only applies to the binaries not the resources.

This patch adds two new options to `llvm_codesign` to enable re-signing the library and XPC service as bundles.

The `BUNDLE_PATH` option allow specifying an explicit path to codesign, which enables signing bundles which aren't generated using CMake's `FRAMEWORK` or `BUNDLE` target properties.

The `FORCE` option allows re-signing binaries that have already been signed. This is required for how clangd exposes the clangd library and tools as both XPC and non-XPC services using the same binary.

Reviewers: jkorous, bogner

Reviewed By: bogner

Subscribers: mgorny, ilya-biryukov, dexonsmith, arphaman, kadircet, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D62693

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362169 91177308-0d34-0410-b5e6-96231b3b80d8
cmake/modules/AddLLVM.cmake