| 182 | } |
| 183 | |
| 184 | bool 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 | |
| 212 | void cmExportFileGenerator::AddImportPrefix(std::string& exportDirs) const |
| 213 | { |
no test coverage detected