CMake/Tests/InterfaceLinkLibrariesDirect
Brad King 41a6b4a53b INTERFACE_LINK_LIBRARIES_DIRECT: Honor link dependencies through LINK_ONLY
In commit f3ad061858 (Add usage requirements to update direct link
dependencies, 2022-01-12, v3.23.0-rc1~44^2), we evaluated the transitive
closure of `INTERFACE_LINK_LIBRARIES` as a non-linking usage requirement.
That left out `INTERFACE_LINK_LIBRARIES_DIRECT` link dependencies that
appear behind private dependencies of a static library, guarded by the
`$<LINK_ONLY:...>` generator expression.  At the time, that decision was
intentional, in order to prevent arbitrary usage requirements from
leaking out of `PRIVATE` dependencies.

Since then, we've revised evaluation of `LINK_LIBRARIES` to distinguish
between collecting link dependencies and other usage requirements.  Use
that information when following `INTERFACE_LINK_LIBRARIES` to collect
the matching kind of requirements from `INTERFACE_LINK_LIBRARIES_DIRECT`.

Fixes: #22496
2022-03-22 11:57:48 -04:00
..
a_always.c
a_not_direct_from_A_for_exe.c
a_not_direct_from_A_optional.c
a_not_direct_from_A.c
a_poison_direct_from_A_for_exe.c
a_poison_direct_from_A_optional.c
a_poison_direct_from_A.c
CMakeLists.txt
direct_from_A_for_exe_poison.c
direct_from_A_for_exe.c
direct_from_A_optional_poison.c
direct_from_A_optional.c
direct_from_A_poison.c
direct_from_A.c
exe_use_static_A_private.c
exe_use_static_A_public_explicit.c
exe_use_static_A_public.c
ExePlugin.c
main.c
order_A.c
order_B_poison.c
order_B.c
order_C_poison.c
order_C.c
order_D_poison.c
order_D.c
order_E_poison.c
order_E.c
order_F_poison.c
order_F.c
order_G_poison.c
order_G.c
order_H_poison.c
order_H.c
order_I_poison.c
order_I.c
order_J_poison.c
order_J.c
order_main.c
static_A_private.c
static_A_public.c
testExePluginHelperObj.c
testExeWithPluginHelper.c
testExeWithPluginHelper.cmake
testSharedLibHelperObj.c
testSharedLibWithHelper.c
testSharedLibWithHelper.cmake
testStaticLibPlugin.c
testStaticLibPlugin.cmake
testStaticLibPluginExtra.c
testStaticLibWithPlugin1.c
testStaticLibWithPlugin2.c
testStaticLibWithPluginBad1.c
testStaticLibWithPluginBad2.c
UseSharedLibWithHelper.c