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

Method ResolveTargetsInGeneratorExpressions

Source/cmExportFileGenerator.cxx:386–412  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

384}
385
386void cmExportFileGenerator::ResolveTargetsInGeneratorExpressions(
387 std::string& input, cmGeneratorTarget const* target,
388 FreeTargetsReplace replace)
389{
390 cmLocalGenerator const* lg = target->GetLocalGenerator();
391 if (replace == NoReplaceFreeTargets) {
392 this->ResolveTargetsInGeneratorExpression(input, target, lg);
393 return;
394 }
395 std::vector<std::string> parts;
396 cmGeneratorExpression::Split(input, parts);
397
398 std::string sep;
399 input.clear();
400 for (std::string& li : parts) {
401 if (target->IsLinkLookupScope(li, lg)) {
402 continue;
403 }
404 if (cmGeneratorExpression::Find(li) == std::string::npos) {
405 this->AddTargetNamespace(li, target, lg);
406 } else {
407 this->ResolveTargetsInGeneratorExpression(li, target, lg);
408 }
409 input += sep + li;
410 sep = ";";
411 }
412}
413
414void cmExportFileGenerator::ResolveTargetsInGeneratorExpression(
415 std::string& input, cmGeneratorTarget const* target,

Calls 5

AddTargetNamespaceMethod · 0.95
IsLinkLookupScopeMethod · 0.80
GetLocalGeneratorMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected