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

Function addInterfaceEntry

Source/cmEvaluatedTargetProperty.cxx:52–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50
51namespace {
52void addInterfaceEntry(cmGeneratorTarget const* headTarget,
53 std::string const& prop,
54 cm::GenEx::Context const& context,
55 cmGeneratorExpressionDAGChecker* dagChecker,
56 EvaluatedTargetPropertyEntries& entries,
57 cmGeneratorTarget::UseTo usage,
58 std::vector<cmLinkItem> const& libraries)
59{
60 for (cmLinkItem const& lib : libraries) {
61 if (lib.Target) {
62 EvaluatedTargetPropertyEntry ee(lib, lib.Backtrace);
63 // Pretend $<TARGET_PROPERTY:lib.Target,prop> appeared in our
64 // caller's property and hand-evaluate it as if it were compiled.
65 // Create a context as cmCompiledGeneratorExpression::Evaluate does.
66 cm::GenEx::Evaluation eval(context, false, headTarget, headTarget, true,
67 lib.Backtrace);
68 cmExpandList(
69 lib.Target->EvaluateInterfaceProperty(prop, &eval, dagChecker, usage),
70 ee.Values);
71 ee.ContextDependent = eval.HadContextSensitiveCondition;
72 entries.Entries.emplace_back(std::move(ee));
73 }
74 }
75}
76}
77
78void AddInterfaceEntries(cmGeneratorTarget const* headTarget,

Callers 1

AddInterfaceEntriesFunction · 0.85

Calls 4

cmExpandListFunction · 0.85
moveFunction · 0.85
emplace_backMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…