Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 78c1083fa2ebfcc408c017378e463c981e36615b
      
https://github.com/WebKit/WebKit/commit/78c1083fa2ebfcc408c017378e463c981e36615b
  Author: Simon Fraser <[email protected]>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/WebCore/CMakeLists.txt
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/PlatformCocoa.cmake
    M Source/WebKitLegacy/PlatformCocoa.cmake
    M Source/cmake/WebKitFS.cmake

  Log Message:
  -----------
  cmake build is broken with ENABLE_AX_CUSTOM_COLOR_MODE=1
https://bugs.webkit.org/show_bug.cgi?id=324740
rdar://188018475

Reviewed by Elliott Williams.

Fix three WebKitAdditions integration gaps in the CMake build.

1. WebPreferencesAdditions.yaml was never passed to the preferences generators.
The Xcode build picks it up out of WEBKITADDITIONS_HEADER_SEARCH_PATHS and
feeds it to GeneratePreferences.rb / GenerateSettings.rb alongside
UnifiedWebPreferences.yaml; CMake only ever passed the unified file, so
preferences defined in WebKitAdditions had no getters or setters on
WebPreferences or Settings. Add WEB_PREFERENCES_ADDITIONS, pointing at the copy
staged by WebKitAdditions_CopyHeaders, and thread it (plus the corresponding
target dependency) through all four generators.

2. The API_WEBKIT_ADDITIONS_REPLACEMENT splice only ran for public framework
headers. Private headers were copied verbatim, so the additions imports in
WKWebViewPrivate.h and WKPreferencesPrivate.h stayed inside their `#if 0`
blocks. Turn the loop into a function and run it over the private headers as
well. The replacement script reads the staged WebKitAdditions headers, so the
generated headers now also depend on WebKitAdditions_CopyHeaders, which was a
latent race for the public headers.

3. With USE_HEADER_MAPS enabled, the framework header map mapped
<WebKit/WKWebViewPrivate.h> to the source tree, so consumers read the
unprocessed header no matter what was staged into the framework. Substitute the
processed copy's path into the header lists that back the header map, and add a
WebKit_ReplaceWebKitAdditionsIncludes target to WebKit_DEPENDENCIES and
WebKit_INTERFACE_DEPENDENCIES to order consumers behind the replacement (with
header maps on, WebKit_CopyPrivateHeaders is deliberately not an interface
dependency).

* Source/JavaScriptCore/CMakeLists.txt:
* Source/WebCore/CMakeLists.txt:
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/PlatformCocoa.cmake:
* Source/WebKitLegacy/PlatformCocoa.cmake:
* Source/cmake/WebKitFS.cmake:

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



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

Reply via email to