summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2012-11-05 13:48:42 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-01-08 19:38:16 (GMT)
commitbf5ece51c3827dc05018128fefe8270da88cfefb (patch)
tree1e12a12d0348c68446748e72fa5c49274b53cf9c /Source/cmTarget.h
parenta9f1bf438054227e989ad1706b785b978e18455c (diff)
downloadCMake-bf5ece51c3827dc05018128fefe8270da88cfefb.zip
CMake-bf5ece51c3827dc05018128fefe8270da88cfefb.tar.gz
CMake-bf5ece51c3827dc05018128fefe8270da88cfefb.tar.bz2
Keep track of properties used to determine linker libraries.
Those properties can't later be implicitly defined by the interface of those link libraries.
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index d4069fa..5ce7d53 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -487,6 +487,13 @@ public:
std::vector<std::string> GetIncludeDirectories(const char *config);
void InsertInclude(const cmMakefileIncludeDirectoriesEntry &entry,
bool before = false);
+
+ void GetLinkDependentTargetsForProperty(const std::string &p,
+ std::set<std::string> &targets);
+ bool IsNullImpliedByLinkLibraries(const std::string &p);
+
+ void AddLinkDependentTargetsForProperties(
+ const std::map<cmStdString, cmStdString> &map);
private:
/**
* A list of direct dependencies. Use in conjunction with DependencyMap.
@@ -596,6 +603,9 @@ private:
bool DLLPlatform;
bool IsApple;
bool IsImportedTarget;
+ mutable std::map<cmStdString, std::set<std::string> >
+ LinkDependentProperties;
+ mutable std::set<std::string> LinkImplicitNullProperties;
// Cache target output paths for each configuration.
struct OutputInfo;