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