diff options
author | Brad King <brad.king@kitware.com> | 2017-04-18 14:05:04 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-04-18 14:29:36 (GMT) |
commit | ac0cf7ff4f5a846381593cf28ebbc9cfaf107149 (patch) | |
tree | c87e38b9518483b9f7d7fbab681a38d6927a7998 /Source/cmGeneratorExpressionNode.cxx | |
parent | 8577978c580d09abc56fa39f387a3991c91c31ba (diff) | |
download | CMake-ac0cf7ff4f5a846381593cf28ebbc9cfaf107149.zip CMake-ac0cf7ff4f5a846381593cf28ebbc9cfaf107149.tar.gz CMake-ac0cf7ff4f5a846381593cf28ebbc9cfaf107149.tar.bz2 |
Genex: Reject TARGET_OBJECTS on non-object libraries earlier
Move the diagnostic that rejects the TARGET_OBJECTS generator expression
in non-buildsystem context until after the check for whether the named
target is an object library. This order will makes more sense than the
previous order once TARGET_OBJECTS is allowed in non-buildsystem
context.
Diffstat (limited to 'Source/cmGeneratorExpressionNode.cxx')
-rw-r--r-- | Source/cmGeneratorExpressionNode.cxx | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/Source/cmGeneratorExpressionNode.cxx b/Source/cmGeneratorExpressionNode.cxx index 29ad5d1..65949a3 100644 --- a/Source/cmGeneratorExpressionNode.cxx +++ b/Source/cmGeneratorExpressionNode.cxx @@ -1226,15 +1226,6 @@ static const struct TargetObjectsNode : public cmGeneratorExpressionNode cmGeneratorExpressionDAGChecker* /*dagChecker*/) const CM_OVERRIDE { - if (!context->EvaluateForBuildsystem) { - std::ostringstream e; - e << "The evaluation of the TARGET_OBJECTS generator expression " - "is only suitable for consumption by CMake. It is not suitable " - "for writing out elsewhere."; - reportError(context, content->GetOriginalExpression(), e.str()); - return std::string(); - } - std::string tgtName = parameters.front(); cmGeneratorTarget* gt = context->LG->FindGeneratorTargetToUse(tgtName); if (!gt) { @@ -1251,6 +1242,14 @@ static const struct TargetObjectsNode : public cmGeneratorExpressionNode reportError(context, content->GetOriginalExpression(), e.str()); return std::string(); } + if (!context->EvaluateForBuildsystem) { + std::ostringstream e; + e << "The evaluation of the TARGET_OBJECTS generator expression " + "is only suitable for consumption by CMake. It is not suitable " + "for writing out elsewhere."; + reportError(context, content->GetOriginalExpression(), e.str()); + return std::string(); + } std::vector<std::string> objects; gt->GetTargetObjectNames(context->Config, objects); |