summaryrefslogtreecommitdiffstats
path: root/Source/cmState.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmState.h')
-rw-r--r--Source/cmState.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/cmState.h b/Source/cmState.h
index ee133fc..2d0c521 100644
--- a/Source/cmState.h
+++ b/Source/cmState.h
@@ -8,11 +8,16 @@
#include <memory>
#include <set>
#include <string>
+#include <type_traits>
#include <unordered_map>
#include <unordered_set>
+#include <utility>
#include <vector>
+#include <cm/optional>
+
#include "cmDefinitions.h"
+#include "cmDependencyProvider.h"
#include "cmLinkedTree.h"
#include "cmPolicies.h"
#include "cmProperty.h"
@@ -227,6 +232,24 @@ public:
ProjectKind GetProjectKind() const;
+ void ClearDependencyProvider() { this->DependencyProvider.reset(); }
+ void SetDependencyProvider(cmDependencyProvider provider)
+ {
+ this->DependencyProvider = std::move(provider);
+ }
+ cm::optional<cmDependencyProvider> const& GetDependencyProvider() const
+ {
+ return this->DependencyProvider;
+ }
+ Command GetDependencyProviderCommand(
+ cmDependencyProvider::Method method) const;
+
+ void SetInTopLevelIncludes(bool inTopLevelIncludes)
+ {
+ this->ProcessingTopLevelIncludes = inTopLevelIncludes;
+ }
+ bool InTopLevelIncludes() const { return this->ProcessingTopLevelIncludes; }
+
private:
friend class cmake;
void AddCacheEntry(const std::string& key, const char* value,
@@ -288,4 +311,6 @@ private:
bool NinjaMulti = false;
Mode StateMode = Unknown;
ProjectKind StateProjectKind = ProjectKind::Normal;
+ cm::optional<cmDependencyProvider> DependencyProvider;
+ bool ProcessingTopLevelIncludes = false;
};