Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR refactors some of our CI build scripts and CMake tooling files to support using the
Ninja
generator on Linux instead of Make, which allows us to automatically invoke parallel builds everywhere including our CI runners.As a result, the CI build should be able to take advantage of all vCores provided to the execution environment, leading to a hopeful build time improvement.
I've also fixed the
clang-format
CI failures by upgrading the runner to a version that provides a newerclang-format
binary - we were stuck on v11 for CI while developers are on significantly newer versions (my system has v16) and the config files are not backwards compatible or well-versioned at all.For compatibility with VSCode, I've bumped the
CMakePresets.json
version number to v3 - this requires CMake 21 or newer. Older CMake versions will still be able to use the "manual" build workflow on Linux, though CMake is starting to warn about dropping support for the minimum CMake version specified in a lot of our actualCMakeLists.txt
files so we should re-evaluate those at some point.