mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 13:51:33 -06:00
cmState: Split auxiliary classes into separate files
Port dependents to the new locations as needed. Leave behind a cmState.h include in cmListFileCache to reduce noise. It is removed in a following commit.
This commit is contained in:
135
Source/cmState.h
135
Source/cmState.h
@@ -8,7 +8,6 @@
|
||||
#include "cmAlgorithms.h"
|
||||
#include "cmDefinitions.h"
|
||||
#include "cmLinkedTree.h"
|
||||
#include "cmPolicies.h"
|
||||
#include "cmProperty.h"
|
||||
#include "cmPropertyDefinitionMap.h"
|
||||
#include "cmPropertyMap.h"
|
||||
@@ -186,138 +185,4 @@ private:
|
||||
bool MSYSShell;
|
||||
};
|
||||
|
||||
class cmStateSnapshot
|
||||
{
|
||||
public:
|
||||
cmStateSnapshot(cmState* state = CM_NULLPTR);
|
||||
cmStateSnapshot(cmState* state, cmStateDetail::PositionType position);
|
||||
|
||||
const char* GetDefinition(std::string const& name) const;
|
||||
bool IsInitialized(std::string const& name) const;
|
||||
void SetDefinition(std::string const& name, std::string const& value);
|
||||
void RemoveDefinition(std::string const& name);
|
||||
std::vector<std::string> UnusedKeys() const;
|
||||
std::vector<std::string> ClosureKeys() const;
|
||||
bool RaiseScope(std::string const& var, const char* varDef);
|
||||
|
||||
void SetListFile(std::string const& listfile);
|
||||
|
||||
std::string GetExecutionListFile() const;
|
||||
|
||||
std::vector<cmStateSnapshot> GetChildren();
|
||||
|
||||
bool IsValid() const;
|
||||
cmStateSnapshot GetBuildsystemDirectoryParent() const;
|
||||
cmStateSnapshot GetCallStackParent() const;
|
||||
cmStateSnapshot GetCallStackBottom() const;
|
||||
cmStateEnums::SnapshotType GetType() const;
|
||||
|
||||
void SetPolicy(cmPolicies::PolicyID id, cmPolicies::PolicyStatus status);
|
||||
cmPolicies::PolicyStatus GetPolicy(cmPolicies::PolicyID id) const;
|
||||
bool HasDefinedPolicyCMP0011();
|
||||
void PushPolicy(cmPolicies::PolicyMap entry, bool weak);
|
||||
bool PopPolicy();
|
||||
bool CanPopPolicyScope();
|
||||
|
||||
cmState* GetState() const;
|
||||
|
||||
cmStateDirectory GetDirectory() const;
|
||||
|
||||
void SetProjectName(std::string const& name);
|
||||
std::string GetProjectName() const;
|
||||
|
||||
void InitializeFromParent_ForSubdirsCommand();
|
||||
|
||||
struct StrictWeakOrder
|
||||
{
|
||||
bool operator()(const cmStateSnapshot& lhs,
|
||||
const cmStateSnapshot& rhs) const;
|
||||
};
|
||||
|
||||
void SetDirectoryDefinitions();
|
||||
void SetDefaultDefinitions();
|
||||
|
||||
private:
|
||||
friend bool operator==(const cmStateSnapshot& lhs,
|
||||
const cmStateSnapshot& rhs);
|
||||
friend bool operator!=(const cmStateSnapshot& lhs,
|
||||
const cmStateSnapshot& rhs);
|
||||
friend class cmState;
|
||||
friend class cmStateDirectory;
|
||||
friend struct StrictWeakOrder;
|
||||
|
||||
void InitializeFromParent();
|
||||
|
||||
cmState* State;
|
||||
cmStateDetail::PositionType Position;
|
||||
};
|
||||
|
||||
class cmStateDirectory
|
||||
{
|
||||
cmStateDirectory(
|
||||
cmLinkedTree<cmStateDetail::BuildsystemDirectoryStateType>::iterator iter,
|
||||
cmStateSnapshot const& snapshot);
|
||||
|
||||
public:
|
||||
const char* GetCurrentSource() const;
|
||||
void SetCurrentSource(std::string const& dir);
|
||||
const char* GetCurrentBinary() const;
|
||||
void SetCurrentBinary(std::string const& dir);
|
||||
|
||||
const char* GetRelativePathTopSource() const;
|
||||
const char* GetRelativePathTopBinary() const;
|
||||
void SetRelativePathTopSource(const char* dir);
|
||||
void SetRelativePathTopBinary(const char* dir);
|
||||
|
||||
cmStringRange GetIncludeDirectoriesEntries() const;
|
||||
cmBacktraceRange GetIncludeDirectoriesEntryBacktraces() const;
|
||||
void AppendIncludeDirectoriesEntry(std::string const& vec,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
void PrependIncludeDirectoriesEntry(std::string const& vec,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
void SetIncludeDirectories(std::string const& vec,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
void ClearIncludeDirectories();
|
||||
|
||||
cmStringRange GetCompileDefinitionsEntries() const;
|
||||
cmBacktraceRange GetCompileDefinitionsEntryBacktraces() const;
|
||||
void AppendCompileDefinitionsEntry(std::string const& vec,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
void SetCompileDefinitions(std::string const& vec,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
void ClearCompileDefinitions();
|
||||
|
||||
cmStringRange GetCompileOptionsEntries() const;
|
||||
cmBacktraceRange GetCompileOptionsEntryBacktraces() const;
|
||||
void AppendCompileOptionsEntry(std::string const& vec,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
void SetCompileOptions(std::string const& vec,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
void ClearCompileOptions();
|
||||
|
||||
void SetProperty(const std::string& prop, const char* value,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
void AppendProperty(const std::string& prop, const char* value,
|
||||
bool asString, cmListFileBacktrace const& lfbt);
|
||||
const char* GetProperty(const std::string& prop) const;
|
||||
const char* GetProperty(const std::string& prop, bool chain) const;
|
||||
bool GetPropertyAsBool(const std::string& prop) const;
|
||||
std::vector<std::string> GetPropertyKeys() const;
|
||||
|
||||
void AddNormalTargetName(std::string const& name);
|
||||
|
||||
private:
|
||||
void ComputeRelativePathTopSource();
|
||||
void ComputeRelativePathTopBinary();
|
||||
|
||||
private:
|
||||
cmLinkedTree<cmStateDetail::BuildsystemDirectoryStateType>::iterator
|
||||
DirectoryState;
|
||||
cmStateSnapshot Snapshot_;
|
||||
friend class cmStateSnapshot;
|
||||
};
|
||||
|
||||
bool operator==(const cmStateSnapshot& lhs, const cmStateSnapshot& rhs);
|
||||
bool operator!=(const cmStateSnapshot& lhs, const cmStateSnapshot& rhs);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user