1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00
Files
CMake/Tests/ConfigSources/main.cpp
Brad King 6c5d4522bc 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
2020-05-12 12:44:32 -04:00

10 lines
212 B
C++

#if !defined(CFG_DEBUG) && !defined(CFG_OTHER)
# error "Neither CFG_DEBUG or CFG_OTHER is defined."
#endif
#ifdef CFG_DEBUG
# include "main_debug.cpp"
#endif
#ifdef CFG_OTHER
# include "main_other.cpp"
#endif