Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 215cc7fbd22ed97361033f07f7a4bfa16b1e90dc
https://github.com/WebKit/WebKit/commit/215cc7fbd22ed97361033f07f7a4bfa16b1e90dc
Author: Jean-Yves Avenard <[email protected]>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M Source/WebKit/PlatformCocoa.cmake
M Tools/SwiftBrowser/CMakeLists.txt
Log Message:
-----------
[cmake] SwiftBrowser doesn't compile on OpenSource build
https://bugs.webkit.org/show_bug.cgi?id=324982
rdar://188188426
Reviewed by Zak Ridouh.
SwiftBrowser was compiled against the SDK's _WebKit_SwiftUI instead of the one
just built
The _WebKit_SwiftUI swiftmodule was copied into
_WebKit_SwiftUI.framework/Modules/ by a
POST_BUILD step. Nothing listed the copied files as build outputs, so ninja
never restored them
once they were missing, and nothing ordered SwiftBrowser's Swift compile after
the copy. When
SwiftBrowser compiled without the staged module, swiftc built _WebKit_SwiftUI
from the SDK's
public .swiftinterface, the @_spi imports were dropped, and
webViewScrollEdgeEffectStyle was not
found.
The copy is now an add_custom_command whose outputs are the staged module
files, owned by a new
_WebKit_SwiftUI_StageSwiftModule target, for both the macOS and iOS builds.
SwiftBrowser depends
on that target, so its compile waits for the staged module and ninja restores
it if it is missing.
The staged files are also code-sign inputs of _WebKit_SwiftUI, so the framework
is signed after
they are in place and re-signed when they change.
* Source/WebKit/PlatformCocoa.cmake:
Replace the POST_BUILD copy of the _WebKit_SwiftUI swiftmodule with a tracked
custom command and
add the _WebKit_SwiftUI_StageSwiftModule target, for both the macOS and iOS
builds.
* Tools/SwiftBrowser/CMakeLists.txt:
Depend on _WebKit_SwiftUI_StageSwiftModule.
Canonical link: https://commits.webkit.org/321750@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications