diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-05-31 17:37:08 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-07-05 23:37:15 (GMT) |
commit | 6361f680568c81e0391fa56cf9a7f4637bd745dc (patch) | |
tree | 24e8c14c2bf179a931ea9d1baa44f5ead864b419 /Source/cmState.h | |
parent | 94704d759cc8939f3573122d36d52c4598fd04ba (diff) | |
download | CMake-6361f680568c81e0391fa56cf9a7f4637bd745dc.zip CMake-6361f680568c81e0391fa56cf9a7f4637bd745dc.tar.gz CMake-6361f680568c81e0391fa56cf9a7f4637bd745dc.tar.bz2 |
cmState: Store execution context.
Extend snapshot creation API to store the file being executed and the
entry point to get to that context.
Diffstat (limited to 'Source/cmState.h')
-rw-r--r-- | Source/cmState.h | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/Source/cmState.h b/Source/cmState.h index e35b843..473a194 100644 --- a/Source/cmState.h +++ b/Source/cmState.h @@ -47,6 +47,8 @@ public: const char* GetCurrentBinaryDirectory() const; void SetCurrentBinaryDirectory(std::string const& dir); + void SetListFile(std::string const& listfile); + std::vector<std::string> const& GetCurrentSourceDirectoryComponents() const; std::vector<std::string> const& @@ -57,6 +59,10 @@ public: void SetRelativePathTopSource(const char* dir); void SetRelativePathTopBinary(const char* dir); + std::string GetExecutionListFile() const; + std::string GetEntryPointCommand() const; + long GetEntryPointLine() const; + bool IsValid() const; Snapshot GetBuildsystemDirectoryParent() const; Snapshot GetCallStackParent() const; @@ -75,11 +81,25 @@ public: Snapshot CreateBaseSnapshot(); Snapshot - CreateBuildsystemDirectorySnapshot(Snapshot originSnapshot); - Snapshot CreateFunctionCallSnapshot(Snapshot originSnapshot); - Snapshot CreateMacroCallSnapshot(Snapshot originSnapshot); - Snapshot CreateCallStackSnapshot(Snapshot originSnapshot); - Snapshot CreateInlineListFileSnapshot(Snapshot originSnapshot); + CreateBuildsystemDirectorySnapshot(Snapshot originSnapshot, + std::string const& entryPointCommand, + long entryPointLine); + Snapshot CreateFunctionCallSnapshot(Snapshot originSnapshot, + std::string const& entryPointCommand, + long entryPointLine, + std::string const& fileName); + Snapshot CreateMacroCallSnapshot(Snapshot originSnapshot, + std::string const& entryPointCommand, + long entryPointLine, + std::string const& fileName); + Snapshot CreateCallStackSnapshot(Snapshot originSnapshot, + std::string const& entryPointCommand, + long entryPointLine, + std::string const& fileName); + Snapshot CreateInlineListFileSnapshot(Snapshot originSnapshot, + const std::string& entryPointCommand, + long entryPointLine, + std::string const& fileName); Snapshot Pop(Snapshot originSnapshot); enum CacheEntryType{ BOOL=0, PATH, FILEPATH, STRING, INTERNAL,STATIC, @@ -186,6 +206,8 @@ private: struct BuildsystemDirectoryStateType; cmLinkedTree<BuildsystemDirectoryStateType> BuildsystemDirectory; + cmLinkedTree<std::string> ExecutionListFiles; + cmLinkedTree<SnapshotDataType> SnapshotData; std::vector<std::string> SourceDirectoryComponents; |