| 976 | } |
| 977 | |
| 978 | cmLinkImplementationLibraries const* |
| 979 | cmGeneratorTarget::GetLinkImplementationLibraries(std::string const& config, |
| 980 | UseTo usage) const |
| 981 | { |
| 982 | // There is no link implementation for targets that cannot compile sources. |
| 983 | if (!this->CanCompileSources()) { |
| 984 | return nullptr; |
| 985 | } |
| 986 | |
| 987 | // Populate the link implementation libraries for this configuration. |
| 988 | cmOptionalLinkImplementation& impl = |
| 989 | (usage == UseTo::Compile |
| 990 | ? this |
| 991 | ->LinkImplUsageRequirementsOnlyMap[cmSystemTools::UpperCase(config)] |
| 992 | : this->LinkImplMap[cmSystemTools::UpperCase(config)]); |
| 993 | MaybeEnableCheckLinkLibraries(impl); |
| 994 | if (!impl.LibrariesDone) { |
| 995 | impl.LibrariesDone = true; |
| 996 | this->ComputeLinkImplementationLibraries(config, impl, usage); |
| 997 | } |
| 998 | return &impl; |
| 999 | } |
| 1000 | |
| 1001 | namespace { |
| 1002 | class TransitiveLinkImpl |
no test coverage detected