-
Notifications
You must be signed in to change notification settings - Fork 762
use cmake presets instead of cmake settings #1219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
9cee3da to
b14edaa
Compare
|
@copilot Can you update the GitHub Actions to make use of the presets? |
|
@carsonRadtke I've opened a new pull request, #1223, to work on those changes. Once the pull request is ready, I'll request review from you. |
This change uses a cmake presets file in an effort allow for agentic AI to better switch between project settings. It replaces the old CMakeSettings.json for the more flexible CMakePresets.json.
* Initial plan * Update GitHub Actions to use CMake presets for compilers workflow Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
f67008e to
2214ecd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR modernizes the build configuration by migrating from the Visual Studio-specific CMakeSettings.json to the more standardized and flexible CMakePresets.json format. This change improves cross-platform and cross-IDE support, particularly for agentic AI tooling that can now more easily switch between different build configurations.
Key Changes
- Introduces comprehensive CMakePresets.json with 24 configure presets covering all combinations of compilers (MSVC, GCC, Clang), C++ standards (14, 17, 20, 23), and build types (Debug, Release)
- Updates GitHub Actions workflows to use CMake presets instead of manual parameter passing
- Simplifies the cmake composite action by consolidating parameters into a single preset identifier
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| CMakeSettings.json | Removed legacy Visual Studio CMake settings file |
| CMakePresets.json | Added comprehensive preset definitions for all supported compiler/standard/build type combinations with proper inheritance hierarchy |
| .github/workflows/copilot-setup-steps.yml | Updated to use clang presets for C++14 and C++20 builds |
| .github/workflows/compilers.yml | Simplified workflow by replacing multiple parameters with preset names for gcc, clang, xcode, and MSVC jobs |
| .github/workflows/cmake/action.yml | Streamlined action inputs to use single preset parameter instead of multiple build configuration parameters |
This change uses a cmake presets file in an effort allow for agentic AI to better switch between project settings. It replaces the old CMakeSettings.json for the more flexible CMakePresets.json.