-
Notifications
You must be signed in to change notification settings - Fork 71
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: parse CMakePresets if CMakeUserPresets is found This commits enables parsing the Presets file even if a CMakeUserPreset file was found. That way it is possible to look up inherited presets from the CMakePresets file when a CMakeUserPresets file is found * perf: reduce amount of disk access * feat: support environment variables for build_dir * feat: class structure for presets * refac: make accessing build and configure presets more convenient * feat: resolve cache variables * feat: partial conditions support * refac: accumulate tables while inheriting * feat: reset configure preset if it got disabled * refac: only call cmake --target clean when cache is available This prevents a "cache not available" error * fix: only generate after BufWritePost This fixes an issue when the user has to select a configure preset while generating the config. If the generation is done at BufWritePre, the buffer is written while the popup is still shown, which moves the cursor back to the now written buffer. Selecting the popup to choose a preset is not possible anymore. Writing the Buffer first and then prompting the user to select a configure preset bypasses that issue * feat: try to find configure preset based on build preset When a previously unavailable configure preset referenced by the current build preset, we try to auto-select the configure preset and only ask the user if there is still no configure preset available for the current build preset * chore: update documentation * feat: config option to hide build presets with a disabled configure preset This is a pure personal take which is not default cmake beheviour. When working with a CMake[User]Preset.json which contains lots of configure and build presets, but only some of the configure presets are active, having a huge list of buid presets, whose configurePreset is disabled and can not be used, is a bit of a nuisance. To help with that, with the newly added option these build presets can be hidden from the selection list of available presets * fix: use breadth first search for environment and cache variables just like conditions, these have to be parsed layer by layer. Building these structures via recursion does not honor the inheritance order for multiple inherits on a single preset * feat: support penv macro expansion --------- Co-authored-by: Denzel <>
- Loading branch information
Showing
6 changed files
with
523 additions
and
257 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.