| 199 | } |
| 200 | |
| 201 | bool cmGeneratorExpressionDAGChecker::EvaluatingLinkLibraries( |
| 202 | cmGeneratorTarget const* tgt, ForGenex genex) const |
| 203 | { |
| 204 | auto const* top = this->Top; |
| 205 | |
| 206 | cm::string_view prop(top->Property); |
| 207 | |
| 208 | if (tgt) { |
| 209 | return top->Target == tgt && prop == "LINK_LIBRARIES"_s; |
| 210 | } |
| 211 | |
| 212 | auto result = prop == "LINK_LIBRARIES"_s || |
| 213 | prop == "INTERFACE_LINK_LIBRARIES"_s || |
| 214 | prop == "INTERFACE_LINK_LIBRARIES_DIRECT"_s || |
| 215 | prop == "LINK_INTERFACE_LIBRARIES"_s || |
| 216 | prop == "IMPORTED_LINK_INTERFACE_LIBRARIES"_s || |
| 217 | cmHasLiteralPrefix(prop, "LINK_INTERFACE_LIBRARIES_") || |
| 218 | cmHasLiteralPrefix(prop, "IMPORTED_LINK_INTERFACE_LIBRARIES_"); |
| 219 | |
| 220 | return genex == ForGenex::LINK_LIBRARY || genex == ForGenex::LINK_GROUP |
| 221 | ? result |
| 222 | : (result || prop == "INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE"_s); |
| 223 | } |
| 224 | |
| 225 | cmGeneratorTarget const* cmGeneratorExpressionDAGChecker::TopTarget() const |
| 226 | { |