| 5097 | int NumExpectedParameters() const override { return 1; } |
| 5098 | |
| 5099 | std::string Evaluate( |
| 5100 | std::vector<std::string> const& parameters, cm::GenEx::Evaluation* eval, |
| 5101 | GeneratorExpressionContent const* content, |
| 5102 | cmGeneratorExpressionDAGChecker* dagChecker) const override |
| 5103 | { |
| 5104 | cmGeneratorTarget* target = |
| 5105 | this->GetTarget(parameters, eval, content, dagChecker); |
| 5106 | if (!target) { |
| 5107 | return std::string(); |
| 5108 | } |
| 5109 | // Not a dependent target if we are querying for ArtifactDirTag, |
| 5110 | // ArtifactNameTag, ArtifactBundleDirTag, ArtifactBundleDirNameTag, |
| 5111 | // and ArtifactBundleContentDirTag |
| 5112 | TargetFilesystemArtifactDependency<ArtifactT, ComponentT>::AddDependency( |
| 5113 | target, eval); |
| 5114 | |
| 5115 | std::string result = |
| 5116 | TargetFilesystemArtifactResultCreator<ArtifactT>::Create(target, eval, |
| 5117 | content); |
| 5118 | if (eval->HadError) { |
| 5119 | return std::string(); |
| 5120 | } |
| 5121 | return TargetFilesystemArtifactResultGetter<ComponentT>::Get(result); |
| 5122 | } |
| 5123 | }; |
| 5124 | |
| 5125 | template <typename ArtifactT> |