MCPcopy Create free account
hub / github.com/Kitware/CMake / ExpandCustomCommandOutputGenex

Method ExpandCustomCommandOutputGenex

Source/cmLocalGenerator.cxx:5299–5318  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5297}
5298
5299std::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
5320void cmLocalGenerator::AddTargetByproducts(
5321 cmTarget* target, std::vector<std::string> const& byproducts,

Callers 4

AddTargetByproductsMethod · 0.95
AddSourceOutputsMethod · 0.95

Calls 11

GetCMakeInstanceMethod · 0.95
moveFunction · 0.85
cmRemoveDuplicatesFunction · 0.85
GetGeneratorConfigsMethod · 0.80
reserveMethod · 0.80
eraseMethod · 0.80
ParseMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected