Add usage requirements to update direct link dependencies
Link line construction starts with LINK_LIBRARIES
and appends
dependencies from the transitive closure of INTERFACE_LINK_LIBRARIES
.
Only the entries of LINK_LIBRARIES
are considered direct link
dependencies. In some advanced use cases, particularly involving static
libraries and static plugins, usage requirements need to update the list
of direct link dependencies. This may mean adding new items, removing
existing items, or both.
Add target properties to encode these usage requirements:
INTERFACE_LINK_LIBRARIES_DIRECT
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
Fixes: #22496 (closed)
Issue: #18090
Edited by Brad King