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]

Reply via email to