Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 479e978939737cbcac5d4c7df0609569a0e50909
      
https://github.com/WebKit/WebKit/commit/479e978939737cbcac5d4c7df0609569a0e50909
  Author: Basuke Suzuki <[email protected]>
  Date:   2026-06-11 (Thu, 11 Jun 2026)

  Changed paths:
    M Tools/Scripts/webkitdirs.pm

  Log Message:
  -----------
  [CMake] DEVELOPER_MODE should be enabled for Apple CMake builds to match 
Xcode -Werror behavior
https://bugs.webkit.org/show_bug.cgi?id=316922
rdar://179383908

Reviewed by Elliott Williams.

Tools/Scripts/build-webkit --cmake on Apple ports does not pass 
-DDEVELOPER_MODE=ON,
so -Werror is never enabled in the CMake build. Warnings that the Xcode build 
flags
as errors (e.g. -Wmismatched-tags from a struct/class forward-declaration 
mismatch in
a generated IPC header) slip through silently in a local CMake build and only 
surface
on the Xcode-based EWS builders. The CMake build should match the Xcode build's
strictness so the same class of mistakes is caught at the same place during 
local
development.

Root cause: the conditional in webkitdirs.pm dates back to bug 238556 (2022) 
when
Apple ports had no CMake path. Now that Mac port can use CMake for local 
development,
"unless isAppleWebKit()" is stale: Apple CMake builds get configured with
DEVELOPER_MODE off and DEVELOPER_MODE_CXX_FLAGS ends up empty, so
Source/cmake/WebKitMacros.cmake never adds -Werror to the per-target compile 
options.

Switch the conditional to gate on isCMakeBuild(), which returns true 
unconditionally
for non-Apple ports and only when --cmake was passed for Apple ports. Behavior:
  - Non-Apple ports: unchanged (still get DEVELOPER_MODE=ON).
  - Apple Xcode build: unchanged (still no DEVELOPER_MODE; xcconfig manages its 
own
    warning-as-error policy).
  - Apple CMake build: gains DEVELOPER_MODE=ON, which enables -Werror via
    WebKitCompilerFlags.cmake, Swift -Werror flags via WebKitMacros.cmake,
    CMAKE_EXPORT_COMPILE_COMMANDS=ON for IDE integration, and
    -fno-omit-frame-pointer for JSC backtraces.

* Tools/Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):

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



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

Reply via email to