summaryrefslogtreecommitdiffstats
path: root/Source/cmState.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-05-31 17:37:08 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-07-05 23:37:15 (GMT)
commit6361f680568c81e0391fa56cf9a7f4637bd745dc (patch)
tree24e8c14c2bf179a931ea9d1baa44f5ead864b419 /Source/cmState.h
parent94704d759cc8939f3573122d36d52c4598fd04ba (diff)
downloadCMake-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.h32
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;