| 5336 | } |
| 5337 | |
| 5338 | void cmLocalGenerator::AddSourceOutputs( |
| 5339 | cmSourceFile* source, std::vector<std::string> const& outputs, |
| 5340 | OutputRole role, cmListFileBacktrace const& bt, cmCommandOrigin origin) |
| 5341 | { |
| 5342 | for (std::string const& o : outputs) { |
| 5343 | if (cmGeneratorExpression::Find(o) == std::string::npos) { |
| 5344 | this->UpdateOutputToSourceMap(o, source, role, bt, origin); |
| 5345 | continue; |
| 5346 | } |
| 5347 | |
| 5348 | // This output path has a generator expression. Evaluate it to |
| 5349 | // register the outputs for all configurations. |
| 5350 | for (std::string const& out : |
| 5351 | this->ExpandCustomCommandOutputGenex(o, bt)) { |
| 5352 | this->UpdateOutputToSourceMap(out, source, role, bt, |
| 5353 | cmCommandOrigin::Generator); |
| 5354 | } |
| 5355 | } |
| 5356 | } |
| 5357 | |
| 5358 | void cmLocalGenerator::UpdateOutputToSourceMap(std::string const& byproduct, |
| 5359 | cmTarget* target, |
no test coverage detected