Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8b4585e896d1c3bce263df829026204e88f35325
https://github.com/WebKit/WebKit/commit/8b4585e896d1c3bce263df829026204e88f35325
Author: Adrian Taylor <[email protected]>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M Source/WebKit/CMakeLists.txt
Log Message:
-----------
Do not rebuild unnecessary C++ from messages changes [take two]
https://bugs.webkit.org/show_bug.cgi?id=316386
rdar://178795221
Reviewed by Geoffrey Garen.
Previously in the cmake build, any change to any messages.in or
serialization.in file would cause all the output C++ files and headers to be
regenerated, which would make all downstream C++ build steps re-run. With this
change, files are only made dirty if they actually change, so a change to any
individual .in file should not cause more incremental rebuilding than strictly
necessary.
The pattern used is:
- The generator's output is put into a temporary staging directory
- copy_if_different is used to copy only changed files back to the main
location,
without touching timestamps on other unchanged files
- cmake's ninja generator uses 'restat' so is able to cause a rerun of the
generator when inputs change, even if the outputs hadn't changed
This is a reland - the first failed because we need to work on some older
versions of cmake which lack the copy_directory_if_different command.
Canonical link: https://commits.webkit.org/314910@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications