mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-08 07:10:12 -05:00
Dependency providers: Add find_package and FetchContent support
Fixes: #22619
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user