summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-10-21 13:48:04 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2013-10-21 13:48:04 (GMT)
commitbf02e750796c6b42b0e9d39ba322cd5191489a0e (patch)
tree53a4ff8a20cfa3603d8b1da3acfa4a14b6e4a969 /Source/cmTarget.cxx
parent6d1444feacb1c2d621b776ac61412f92ff0a1c34 (diff)
parentb04f3b9a2a116b1956d5342637cda1348a5ee07b (diff)
downloadCMake-bf02e750796c6b42b0e9d39ba322cd5191489a0e.zip
CMake-bf02e750796c6b42b0e9d39ba322cd5191489a0e.tar.gz
CMake-bf02e750796c6b42b0e9d39ba322cd5191489a0e.tar.bz2
Merge topic 'INTERFACE_LIBRARY-build-targets'
b04f3b9 Create make rules for INTERFACE_LIBRARY targets. dba4962 Makefile: Always create clean target command
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx23
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index cab7e7c..6e5e0ff 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -1112,6 +1112,29 @@ void cmTarget::GetDirectLinkLibraries(const char *config,
}
//----------------------------------------------------------------------------
+void cmTarget::GetInterfaceLinkLibraries(const char *config,
+ std::vector<std::string> &libs, cmTarget *head)
+{
+ const char *prop = this->GetProperty("INTERFACE_LINK_LIBRARIES");
+ if (prop)
+ {
+ cmListFileBacktrace lfbt;
+ cmGeneratorExpression ge(lfbt);
+ const cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(prop);
+
+ cmGeneratorExpressionDAGChecker dagChecker(lfbt,
+ this->GetName(),
+ "INTERFACE_LINK_LIBRARIES", 0, 0);
+ cmSystemTools::ExpandListArgument(cge->Evaluate(this->Makefile,
+ config,
+ false,
+ head,
+ &dagChecker),
+ libs);
+ }
+}
+
+//----------------------------------------------------------------------------
std::string cmTarget::GetDebugGeneratorExpressions(const std::string &value,
cmTarget::LinkLibraryType llt)
{