mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-06 23:29:31 -06:00
Autogen contains code to forward dependencies from an origin target to its associated <origin>_autogen target. This code also contains a check to skip forwarding a dependency if it does not appear in the dependency graph for all configured build types. This is done by counting the number of times a dependency appears in the graph for each configured build type. Unfortunately the code did not account for the case when a dependency appears more than once in the link graph for a single build type. This means that for a single-config build, if the same dependency is linked twice, the dependency will be skipped altogether. This can lead to build errors in a project where a hypothetical App target depends on a Lib target, and thus expects App_autogen to depend on Lib_autogen and any of its dependencies, but the latter is skipped. Fix this by incrementing the count of a target in the dependency graph only once per build type. Fixes: #26700