diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-04-11 16:38:16 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-04-28 05:57:01 (GMT) |
commit | 3a041c59495df26c2b7b0ee58069d27a03bd18ff (patch) | |
tree | d4611c6883b5b05dbc2fd9b0739497ddb30e4b98 /Source/cmState.h | |
parent | ae6c8a9d68120229a2960a83b51241fdb926700a (diff) | |
download | CMake-3a041c59495df26c2b7b0ee58069d27a03bd18ff.zip CMake-3a041c59495df26c2b7b0ee58069d27a03bd18ff.tar.gz CMake-3a041c59495df26c2b7b0ee58069d27a03bd18ff.tar.bz2 |
Introduce cmState::Snapshot.
Create snapshots for buildsystem directories during configure time.
This class will be extended in follow up commits to snapshot
all values in the cmState.
Diffstat (limited to 'Source/cmState.h')
-rw-r--r-- | Source/cmState.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmState.h b/Source/cmState.h index afacc36..f35cbd6 100644 --- a/Source/cmState.h +++ b/Source/cmState.h @@ -21,10 +21,24 @@ class cmCommand; class cmState { + typedef std::vector<std::string>::size_type PositionType; + friend class Snapshot; public: cmState(cmake* cm); ~cmState(); + class Snapshot { + public: + Snapshot(cmState* state = 0, PositionType position = 0); + + private: + friend class cmState; + cmState* State; + cmState::PositionType Position; + }; + + Snapshot CreateSnapshot(Snapshot originSnapshot); + enum CacheEntryType{ BOOL=0, PATH, FILEPATH, STRING, INTERNAL,STATIC, UNINITIALIZED }; static CacheEntryType StringToCacheEntryType(const char*); @@ -106,6 +120,7 @@ private: std::map<std::string, cmCommand*> Commands; cmPropertyMap GlobalProperties; cmake* CMakeInstance; + std::vector<PositionType> ParentPositions; std::string SourceDirectory; std::string BinaryDirectory; bool IsInTryCompile; |