INTERFACE_SOURCES: Fix per-config link libs on multi-config generators
In multi-config generators we memoize the computed set of source files
for a target to avoid repeating the computation when the set does not
depend on the configuration. We already track whether generator
expressions in SOURCES
or INTERFACE_SOURCES
reference the
configuration ($<CONFIG:...>
). However, we previously forgot to track
whether the set of libraries whose INTERFACE_SOURCES
are considered
depends on the configuration. This caused multi-config generators to
use the first configuration's set of sources for all configurations
in cases such as
target_link_libraries(tgt PRIVATE "$<$<CONFIG:Debug>:iface_debug>")
where the iface_debug
target has INTERFACE_SOURCES
.
Fix this by also tracking config-dependence of the list of libraries for evaluation of the list of source files.
Fixes: #20683 (closed)