| 5297 | } |
| 5298 | |
| 5299 | std::vector<std::string> cmLocalGenerator::ExpandCustomCommandOutputGenex( |
| 5300 | std::string const& o, cmListFileBacktrace const& bt) |
| 5301 | { |
| 5302 | std::vector<std::string> allConfigOutputs; |
| 5303 | cmGeneratorExpression ge(*this->GetCMakeInstance(), bt); |
| 5304 | std::unique_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(o); |
| 5305 | std::vector<std::string> configs = |
| 5306 | this->Makefile->GetGeneratorConfigs(cmMakefile::IncludeEmptyConfig); |
| 5307 | for (std::string const& config : configs) { |
| 5308 | std::vector<std::string> configOutputs = |
| 5309 | this->ExpandCustomCommandOutputPaths(*cge, config); |
| 5310 | allConfigOutputs.reserve(allConfigOutputs.size() + configOutputs.size()); |
| 5311 | std::move(configOutputs.begin(), configOutputs.end(), |
| 5312 | std::back_inserter(allConfigOutputs)); |
| 5313 | } |
| 5314 | auto endUnique = |
| 5315 | cmRemoveDuplicates(allConfigOutputs.begin(), allConfigOutputs.end()); |
| 5316 | allConfigOutputs.erase(endUnique, allConfigOutputs.end()); |
| 5317 | return allConfigOutputs; |
| 5318 | } |
| 5319 | |
| 5320 | void cmLocalGenerator::AddTargetByproducts( |
| 5321 | cmTarget* target, std::vector<std::string> const& byproducts, |
no test coverage detected