Hello everyone, I've recently hit a strange issue that I'm having difficulty to debug.
I'm on Windows, using CMake 3.17.1 to generate the build system files for Ninja 1.10.0.
After a full successful build, if I rerun Ninja, it wants to rebuild part of the project.
I've used ninja -d explain
to understand what was happening and almost at the start I noticed:ninja explain: output <path to a header file> of phony edge with no inputs doesn't exist
Also later that same header file is marked as dirty and is the cause of all the rebuilds.
Now that header file is not generated, it's part of the source code that's being built.
I've checked in the CMake code first to find how that file could've been marked as an output but found nothing.
I also figured that if I did something in CMake that would've marked it as an output, it would've been marked as an output in the ninja files.
I couldn't find any trace of it though; I've also saved the output of ninja -t targets all to then process it to be able to pass each target to ninja -t query <target name>,
but even there I couldn't find it.
At this point I have no idea on how to debug this issue (would've been nice to be able to point ninja to the output file and be able to know which target is supposed to output it),
and I cannot share much information about this project because it's private.
Do you have any pointer on how I could go further debugging this issue?