Hi folks,
This year, some of us at Apple have been working on reviving WebKit's CMake
build for macOS, and extending it to our other platforms. We’ve been pursuing
this because of substantial build performance improvements we’ve been able to
achieve using CMake+Ninja.
As of this week, I've swapped the `mac-debug` EWS and post-commit queues to be
CMake-based. This means we now have an officially supported Mac CMake config.
The `mac-release` queue still uses Xcode, so we retain coverage of that build
config. While many of us are using CMake as our daily driver, we have no plans
to drop Xcode support.
If you build WebKit on a Mac regularly, please try the CMake build out! Pass
`--cmake` to build-webkit to switch build systems. This choice is saved in your
local build directory, so subsequent rebuilds and test/runner tools
automatically detect the active CMake config; pass `--xcode` to switch back.
You can also invoke CMake directly via one of the presets:
cmake --preset mac-dev-debug # run once
cmake --build --preset mac-dev-debug # run to (re)build
cmake --list-presets # show
available build configs
For Apple contributors, this means that we now need to maintain both Xcode and
CMake builds when making substantial changes to Cocoa code. For everyone else,
I suspect the impact will be minimal, since most cross-port CMake changes apply
to our port automatically.
I’ll be presenting on the plans for our CMake build and some the perf
optimizations we’ve found at the contributors meeting next week, so please come
by or tune in for more:
https://webkit.org/meeting/#:~:text=CMake%20builds%20for%20Apple%20platforms
- Elliott
_______________________________________________
webkit-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]