| 52 | } |
| 53 | |
| 54 | bool cmLinkLineDeviceComputer::ComputeRequiresDeviceLinking( |
| 55 | cmComputeLinkInformation& cli) |
| 56 | { |
| 57 | // Determine if this item might requires device linking. |
| 58 | // For this we only consider targets |
| 59 | using ItemVector = cmComputeLinkInformation::ItemVector; |
| 60 | ItemVector const& items = cli.GetItems(); |
| 61 | return std::any_of( |
| 62 | items.begin(), items.end(), |
| 63 | [](cmComputeLinkInformation::Item const& item) -> bool { |
| 64 | return item.Target && |
| 65 | item.Target->GetType() == cmStateEnums::STATIC_LIBRARY && |
| 66 | // this dependency requires us to device link it |
| 67 | !item.Target->GetPropertyAsBool("CUDA_RESOLVE_DEVICE_SYMBOLS") && |
| 68 | item.Target->GetPropertyAsBool("CUDA_SEPARABLE_COMPILATION"); |
| 69 | }); |
| 70 | } |
| 71 | |
| 72 | bool cmLinkLineDeviceComputer::ComputeRequiresDeviceLinkingIPOFlag( |
| 73 | cmComputeLinkInformation& cli) |
no test coverage detected