summaryrefslogtreecommitdiff
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-02-13 20:52:21 +0100
committerStephen Kelly <steveire@gmail.com>2014-04-02 23:14:02 +0200
commit3676fb49634efd01755aa5c12d58e2f2bf20d09f (patch)
tree9fa46bbd284083457ce0133ff27d03fd710e9c76 /Source/cmTarget.h
parente6971df6ab647031ba9689c9afbbde78cc62e35f (diff)
downloadcmake-3676fb49634efd01755aa5c12d58e2f2bf20d09f.tar.gz
cmTarget: Allow transitive evaluation of SOURCES property.
Extend the cmGeneratorExpressionDAGChecker with an interface returning the name of the top target. Use that to determine when there is a DAG violation, as required by the RunCMake.Languages tests.
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 042b441d70..15c49ea024 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -136,9 +136,11 @@ public:
* Get the list of the source files used by this target
*/
void GetSourceFiles(std::vector<std::string> &files,
- const std::string& config) const;
+ const std::string& config,
+ cmTarget const* head = 0) const;
void GetSourceFiles(std::vector<cmSourceFile*> &files,
- const std::string& config) const;
+ const std::string& config,
+ cmTarget const* head = 0) const;
bool GetConfigCommonSourceFiles(std::vector<cmSourceFile*>& files) const;
/**
@@ -469,7 +471,8 @@ public:
// information to forward these property changes to the targets
// until we have per-target object file properties.
void GetLanguages(std::set<std::string>& languages,
- const std::string& config) const;
+ std::string const& config,
+ cmTarget const* head = 0) const;
/** Return whether this target is an executable with symbol exports
enabled. */
@@ -743,7 +746,8 @@ private:
LinkImplementation& impl,
cmTarget const* head) const;
void ComputeLinkImplementationLanguages(const std::string& config,
- LinkImplementation& impl) const;
+ LinkImplementation& impl,
+ cmTarget const* head) const;
void ComputeLinkClosure(const std::string& config, LinkClosure& lc,
cmTarget const* head) const;