Restore support for explicitly referenced CMakeLists.txt sources
Since !1392 (merged) we do not add CMakeLists.txt
to target sources but instead generate references to them directly. This broke projects that explicitly specify their CMakeLists.txt
file as a source file because the explicit entry is no longer consolidated with the generated one.
Teach the relevant generators to avoid duplicating CMakeLists.txt
source references and add test cases.
Fixes: #17828 (closed)