From b58aff90c5a3633ae7fa0d78731433d40a02d8bd Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 14 Jun 2013 15:58:04 +0200 Subject: [PATCH] Genex: Extend EvaluatingLinkLibraries to also check the top target name. This will allow testing whether we are evaluating the link libraries of a particular target. --- Source/cmGeneratorExpressionDAGChecker.cxx | 8 +++++++- Source/cmGeneratorExpressionDAGChecker.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Source/cmGeneratorExpressionDAGChecker.cxx b/Source/cmGeneratorExpressionDAGChecker.cxx index 3e03c099e..5b79e3531 100644 --- a/Source/cmGeneratorExpressionDAGChecker.cxx +++ b/Source/cmGeneratorExpressionDAGChecker.cxx @@ -139,7 +139,7 @@ cmGeneratorExpressionDAGChecker::checkGraph() const } //---------------------------------------------------------------------------- -bool cmGeneratorExpressionDAGChecker::EvaluatingLinkLibraries() +bool cmGeneratorExpressionDAGChecker::EvaluatingLinkLibraries(const char *tgt) { const cmGeneratorExpressionDAGChecker *top = this; const cmGeneratorExpressionDAGChecker *parent = this->Parent; @@ -150,6 +150,12 @@ bool cmGeneratorExpressionDAGChecker::EvaluatingLinkLibraries() } const char *prop = top->Property.c_str(); + + if (tgt) + { + return top->Target == tgt && strcmp(prop, "LINK_LIBRARIES") == 0; + } + return (strcmp(prop, "LINK_LIBRARIES") == 0 || strcmp(prop, "LINK_INTERFACE_LIBRARIES") == 0 || strcmp(prop, "IMPORTED_LINK_INTERFACE_LIBRARIES") == 0 diff --git a/Source/cmGeneratorExpressionDAGChecker.h b/Source/cmGeneratorExpressionDAGChecker.h index 85b13e50e..95d466ae3 100644 --- a/Source/cmGeneratorExpressionDAGChecker.h +++ b/Source/cmGeneratorExpressionDAGChecker.h @@ -47,7 +47,7 @@ struct cmGeneratorExpressionDAGChecker void reportError(cmGeneratorExpressionContext *context, const std::string &expr); - bool EvaluatingLinkLibraries(); + bool EvaluatingLinkLibraries(const char *tgt = 0); #define DECLARE_TRANSITIVE_PROPERTY_METHOD(METHOD) \ bool METHOD () const;