summaryrefslogtreecommitdiffstats
path: root/Source/cmExperimental.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmExperimental.h')
-rw-r--r--Source/cmExperimental.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/Source/cmExperimental.h b/Source/cmExperimental.h
index 26e0d17..e4c1448 100644
--- a/Source/cmExperimental.h
+++ b/Source/cmExperimental.h
@@ -5,6 +5,9 @@
#include "cmConfigure.h" // IWYU pragma: keep
+#include <string>
+#include <vector>
+
class cmMakefile;
class cmExperimental
@@ -12,10 +15,29 @@ class cmExperimental
public:
enum class Feature
{
- CxxModuleCMakeApi,
+ WindowsKernelModeDriver,
Sentinel,
};
+ enum class TryCompileCondition
+ {
+ Always,
+ SkipCompilerChecks,
+ Never,
+ };
+
+ struct FeatureData
+ {
+ std::string const Name;
+ std::string const Uuid;
+ std::string const Variable;
+ std::string const Description;
+ std::vector<std::string> const TryCompileVariables;
+ TryCompileCondition const ForwardThroughTryCompile;
+ bool Warned;
+ };
+
+ static const FeatureData& DataForFeature(Feature f);
static bool HasSupportEnabled(cmMakefile const& mf, Feature f);
};