Usage requirement propagation through same-name imported targets fails
Imported targets are scoped in the directory that created them. We can have to distinct subdirectories that each create an imported target with the same name. This is by design.
If the two same-name imported targets each specify distinct transitive dependencies and usage requirements, CMake fails to honor both of them. This is because some of our internal dependency de-duplication logic is based on target name rather than target instance.