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

Method PopulateInterfaceLinkLibrariesProperty

Source/cmExportFileGenerator.cxx:184–210  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

182}
183
184bool cmExportFileGenerator::PopulateInterfaceLinkLibrariesProperty(
185 cmGeneratorTarget const* target,
186 cmGeneratorExpression::PreprocessContext preprocessRule,
187 ImportPropertyMap& properties)
188{
189 if (!target->IsLinkable()) {
190 return false;
191 }
192 static std::array<std::string, 3> const linkIfaceProps = {
193 { "INTERFACE_LINK_LIBRARIES", "INTERFACE_LINK_LIBRARIES_DIRECT",
194 "INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE" }
195 };
196 bool hadINTERFACE_LINK_LIBRARIES = false;
197 for (std::string const& linkIfaceProp : linkIfaceProps) {
198 if (cmValue input = target->GetProperty(linkIfaceProp)) {
199 std::string prepro =
200 cmGeneratorExpression::Preprocess(*input, preprocessRule);
201 if (!prepro.empty()) {
202 this->ResolveTargetsInGeneratorExpressions(prepro, target,
203 ReplaceFreeTargets);
204 properties[linkIfaceProp] = prepro;
205 hadINTERFACE_LINK_LIBRARIES = true;
206 }
207 }
208 }
209 return hadINTERFACE_LINK_LIBRARIES;
210}
211
212void cmExportFileGenerator::AddImportPrefix(std::string& exportDirs) const
213{

Callers 9

GenerateMainFileMethod · 0.80
GenerateMainFileMethod · 0.80
GenerateMainFileMethod · 0.80
GenerateMainFileMethod · 0.80
GenerateMainFileMethod · 0.80
GenerateMainFileMethod · 0.80
GenerateMainFileMethod · 0.80
GenerateMainFileMethod · 0.80

Calls 4

IsLinkableMethod · 0.80
GetPropertyMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected