diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-06-05 11:43:54 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2013-07-07 22:00:18 (GMT) |
commit | ddde61c0b2b46a452366acae690aca0095c0a49c (patch) | |
tree | c7b7e9acd24c0f5ba4cca44a12b120cf6720caf9 /Source/cmGeneratorExpressionEvaluator.cxx | |
parent | 5aa9731c9fa06ca51df1e8bdd5f8625d0ce3776d (diff) | |
download | CMake-ddde61c0b2b46a452366acae690aca0095c0a49c.zip CMake-ddde61c0b2b46a452366acae690aca0095c0a49c.tar.gz CMake-ddde61c0b2b46a452366acae690aca0095c0a49c.tar.bz2 |
Introduce the LINK_ONLY generator expression.
This is an internal expression for use by target_link_libraries
for static libraries.
Diffstat (limited to 'Source/cmGeneratorExpressionEvaluator.cxx')
-rw-r--r-- | Source/cmGeneratorExpressionEvaluator.cxx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index e2af131..08d9d03 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -492,6 +492,24 @@ static const struct VersionEqualNode : public cmGeneratorExpressionNode } versionEqualNode; //---------------------------------------------------------------------------- +static const struct LinkOnlyNode : public cmGeneratorExpressionNode +{ + LinkOnlyNode() {} + + std::string Evaluate(const std::vector<std::string> ¶meters, + cmGeneratorExpressionContext *, + const GeneratorExpressionContent *, + cmGeneratorExpressionDAGChecker *dagChecker) const + { + if(!dagChecker->GetTransitivePropertiesOnly()) + { + return parameters.front(); + } + return ""; + } +} linkOnlyNode; + +//---------------------------------------------------------------------------- static const struct ConfigurationNode : public cmGeneratorExpressionNode { ConfigurationNode() {} @@ -1396,6 +1414,8 @@ cmGeneratorExpressionNode* GetNode(const std::string &identifier) return &installPrefixNode; else if (identifier == "JOIN") return &joinNode; + else if (identifier == "LINK_ONLY") + return &linkOnlyNode; return 0; } |