summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-09-07 14:11:43 (GMT)
committerBrad King <brad.king@kitware.com>2009-09-07 14:11:43 (GMT)
commit4224513ccee04d540e89db5cf1ca531b6ef8e0e5 (patch)
tree61b2291b69681886b16ad99fc29fc481f73dafb1 /Source/cmTarget.h
parent355511ade9fd1be71835359a9b085586446e50c2 (diff)
downloadCMake-4224513ccee04d540e89db5cf1ca531b6ef8e0e5.zip
CMake-4224513ccee04d540e89db5cf1ca531b6ef8e0e5.tar.gz
CMake-4224513ccee04d540e89db5cf1ca531b6ef8e0e5.tar.bz2
Save source dependencies from custom command trace
In each target we trace dependencies among custom commands to pull in all source files and build rules necessary to complete the target. This commit teaches cmTarget to save the inter-source dependencies found during its analysis. Later this can be used by generators that need to topologically order custom command rules.
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 5054f2d..66cfab0 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -48,6 +48,7 @@ public:
~cmTargetInternalPointer();
cmTargetInternalPointer& operator=(cmTargetInternalPointer const& r);
cmTargetInternals* operator->() const { return this->Pointer; }
+ cmTargetInternals* Get() const { return this->Pointer; }
private:
cmTargetInternals* Pointer;
};
@@ -122,6 +123,9 @@ public:
std::vector<cmSourceFile*> const& GetSourceFiles();
void AddSourceFile(cmSourceFile* sf);
+ /** Get sources that must be built before the given source. */
+ std::vector<cmSourceFile*> const* GetSourceDepends(cmSourceFile* sf);
+
/**
* Flags for a given source file as used in this target. Typically assigned
* via SET_TARGET_PROPERTIES when the property is a list of source files.
@@ -530,7 +534,6 @@ private:
std::vector<cmCustomCommand> PostBuildCommands;
TargetType TargetTypeValue;
std::vector<cmSourceFile*> SourceFiles;
- std::set<cmSourceFile*> SourceFileSet;
LinkLibraryVectorType LinkLibraries;
LinkLibraryVectorType PrevLinkedLibraries;
bool LinkLibrariesAnalyzed;