diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2021-03-10 19:59:14 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-03-22 19:04:54 (GMT) |
commit | 8bc5c8961e552a15091b7f4d2c205ce90b8f764f (patch) | |
tree | ac9fe9a92c01accd1fee2c4914347369546f85ff /Source/cmCMakePresetsFile.h | |
parent | ce6ea7c927b9f80f219a7783ce725bea4c24091f (diff) | |
download | CMake-8bc5c8961e552a15091b7f4d2c205ce90b8f764f.zip CMake-8bc5c8961e552a15091b7f4d2c205ce90b8f764f.tar.gz CMake-8bc5c8961e552a15091b7f4d2c205ce90b8f764f.tar.bz2 |
CMakePresets.json: Add the ability to conditionally disable presets
Diffstat (limited to 'Source/cmCMakePresetsFile.h')
-rw-r--r-- | Source/cmCMakePresetsFile.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmCMakePresetsFile.h b/Source/cmCMakePresetsFile.h index 02e6a32..0999d5a 100644 --- a/Source/cmCMakePresetsFile.h +++ b/Source/cmCMakePresetsFile.h @@ -2,8 +2,11 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #pragma once +#include "cmConfigure.h" // IWYU pragma: keep + #include <functional> #include <map> +#include <memory> #include <string> #include <utility> #include <vector> @@ -34,6 +37,8 @@ public: BUILD_TEST_PRESETS_UNSUPPORTED, INVALID_CONFIGURE_PRESET, INSTALL_PREFIX_UNSUPPORTED, + INVALID_CONDITION, + CONDITION_UNSUPPORTED, }; enum class ArchToolsetStrategy @@ -49,6 +54,8 @@ public: std::string Value; }; + class Condition; + class Preset { public: @@ -71,6 +78,9 @@ public: std::string DisplayName; std::string Description; + std::shared_ptr<Condition> ConditionEvaluator; + bool ConditionResult = true; + std::map<std::string, cm::optional<std::string>> Environment; virtual ReadFileResult VisitPresetInherit(const Preset& parent) = 0; |