summaryrefslogtreecommitdiff
path: root/Source/cmComputeLinkInformation.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-01-04 13:31:01 +0100
committerBrad King <brad.king@kitware.com>2013-01-08 08:53:25 -0500
commit40cf3fb95bc391519c0db4be1dc03c49e040579f (patch)
tree5fde04aaf1737fcf0f60e709d5b01e2002608fa3 /Source/cmComputeLinkInformation.h
parent894f52f32d96ae92df0ba3dac2a70fe9c87e818d (diff)
downloadcmake-40cf3fb95bc391519c0db4be1dc03c49e040579f.tar.gz
Make linking APIs aware of 'head' target
The 'head' is the dependent target to be linked with the current target. It will be used to evaluate generator expressions with proper handling of mapped configurations and is used as the source target of properties. This requires that memoization is done with a key of a pair of target and config, instead of just config, because now the result also depends on the target. Removing the memoization entirely is not an option because it slows cmake down considerably.
Diffstat (limited to 'Source/cmComputeLinkInformation.h')
-rw-r--r--Source/cmComputeLinkInformation.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmComputeLinkInformation.h b/Source/cmComputeLinkInformation.h
index e0078af2a7..1a76922a55 100644
--- a/Source/cmComputeLinkInformation.h
+++ b/Source/cmComputeLinkInformation.h
@@ -29,7 +29,8 @@ class cmOrderDirectories;
class cmComputeLinkInformation
{
public:
- cmComputeLinkInformation(cmTarget* target, const char* config);
+ cmComputeLinkInformation(cmTarget* target, const char* config,
+ cmTarget* headTarget);
~cmComputeLinkInformation();
bool Compute();
@@ -74,6 +75,7 @@ private:
// Context information.
cmTarget* Target;
+ cmTarget* HeadTarget;
cmMakefile* Makefile;
cmLocalGenerator* LocalGenerator;
cmGlobalGenerator* GlobalGenerator;