| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmStateDirectory_h
- #define cmStateDirectory_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include <string>
- #include <vector>
- #include "cmAlgorithms.h"
- #include "cmLinkedTree.h"
- #include "cmListFileCache.h"
- #include "cmStatePrivate.h"
- #include "cmStateSnapshot.h"
- class cmStateDirectory
- {
- cmStateDirectory(
- cmLinkedTree<cmStateDetail::BuildsystemDirectoryStateType>::iterator iter,
- cmStateSnapshot const& snapshot);
- public:
- std::string const& GetCurrentSource() const;
- void SetCurrentSource(std::string const& dir);
- std::string const& GetCurrentBinary() const;
- void SetCurrentBinary(std::string const& dir);
- std::string const& GetRelativePathTopSource() const;
- std::string const& 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();
- cmStringRange GetLinkOptionsEntries() const;
- cmBacktraceRange GetLinkOptionsEntryBacktraces() const;
- void AppendLinkOptionsEntry(std::string const& vec,
- cmListFileBacktrace const& lfbt);
- void SetLinkOptions(std::string const& vec, cmListFileBacktrace const& lfbt);
- void ClearLinkOptions();
- 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;
- };
- #endif
|