Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 41115cd8a3fd26adecce6678fe4dd6eed2f990df
      
https://github.com/WebKit/WebKit/commit/41115cd8a3fd26adecce6678fe4dd6eed2f990df
  Author: Elliott Williams <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/JavaScriptCore/PlatformIOS.cmake
    M Source/WebCore/PlatformCocoa.cmake
    M Source/WebKit/PlatformCocoa.cmake
    M Source/WebKitLegacy/PlatformIOS.cmake
    M Source/cmake/OptionsCocoa.cmake
    M Source/cmake/WebKitMacros.cmake
    M Source/cmake/WebKitXcodeSDK.cmake
    M Tools/DumpRenderTree/PlatformMac.cmake
    M Tools/MiniBrowser/mac/CMakeLists.txt
    M Tools/WebKitTestRunner/PlatformMac.cmake

  Log Message:
  -----------
  [CMake] Centralize code signing and add missing entitlements
https://bugs.webkit.org/show_bug.cgi?id=319641

Reviewed by Keith Miller.

Replace some one-off implementations of code signing with centralized
logic. When building for Apple platforms, dylib and executable targets
get a codesign task added automatically, which uses a
globally-controlled signing identity. They can set a
${_target}_CODE_SIGN_ENTITLEMENTS variable to pass an entitlements plist
to the codesign invocation.

The signing logic itself handles a few ancillary details: it filters
output from `codesign` to keep the build log clean when successful; on
internal builds, it injests some logic from WebKitAdditions to ensure
the "Safari Engineering" keychain is unlocked, and it works around a
longstanding bug where a codesign leaves behind *.cstemp files in the
build dir when it is interrupted, breaking subsequent builds.

For framework bundle directories, signing needs to happen once after all
the bundle's contents are in place. For WebKit.framework in particular,
which build daemons and services that must link against WebKit, extra
dependency edges need to be added to prevent signing from happening too
early. WebKit sets a ${_target}_CODE_SIGN_INPUTS variable to indicate
these extra dependencies.

For targets which have hard-coded entitlements (e.g. WKTR), set them
now. JavaScriptCore has an existing wrapper for it's Xcode-based
process-entitlements.sh script, which is retrofitted, although the
wrapper is incomplete and doesn't set all the build settings needed to
fully evaluate. WebKit's entitlement processing is much more complex and
includes content from WebKitAdditions. It will be configured in a
follow-up change.

* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/PlatformIOS.cmake:
* Source/WebCore/PlatformCocoa.cmake:
* Source/WebKit/PlatformCocoa.cmake:
* Source/WebKitLegacy/PlatformIOS.cmake:
* Source/cmake/OptionsCocoa.cmake:
* Source/cmake/WebKitMacros.cmake:
* Source/cmake/WebKitXcodeSDK.cmake:
* Tools/DumpRenderTree/PlatformMac.cmake:
* Tools/MiniBrowser/mac/CMakeLists.txt:
* Tools/WebKitTestRunner/PlatformMac.cmake:

Canonical link: https://commits.webkit.org/317671@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to