You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* 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 <>
Copy file name to clipboardExpand all lines: docs/cmake_presets.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,5 +11,5 @@ Read more about CMake presets from [CMake docs](https://cmake.org/cmake/help/lat
11
11
1.[Test Preset](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html#test-preset) is not supported.
12
12
2.[Package Preset](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html#package-preset) is not supported.
13
13
3.[Workflow Preset](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html#workflow-preset) is not supported.
14
-
4.[Condition](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html#condition)is not supported.
15
-
5. Some macros not supported yet: `$env{<variable-name>}`, `$penv{<variable-name>}`, `$vendor{<macro-name>}`
14
+
4.[Condition](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html#condition)mostly supported. Types `matches` and `notMatches` currently not supported due to lua's differences in regex capabilities
15
+
5. Some macros not supported yet: `$vendor{<macro-name>}`
0 commit comments