[cmake-developers] Severe regression caused by #14972 fixes

Adam Strzelecki ono at java.pl
Tue Oct 7 10:56:40 EDT 2014


> As a result of this, it's no longer possible to use the new CMake to compile ReactOS, which makes us see this as a severe regression, considering that CMake is the build system we use to compile the project.
> Adam, Brad and co, can you please help ?

If I understand correctly the change introduced by a33cf6d08853ea4c79324bdd36c04f311a23f20a (Ninja: Consider only custom commands deps as side-effects (#14972)) caused that regression?

Can you please point to me any test case I can run in order to see it failing on CMake 3.x and running fine on CMake 2.8.

If this is a bug I am willing to fix it ASAP. However please note that if these files are produced by some custom commands that not specify them as an output and then these are inputs (dependencies) to some regular build command, then it is expected behavior.

Indeed it working was working previously in 2.8 just by coincidence, because CMake was generating suboptimal build graph simply adding all custom commands regardless of anything as implicit dependencies, even it was not necessary or expressed anywhere, causing severe clutter in Ninja build graph.

So,

(1) Are these .spec, .inf or .idl generated by some custom commands?
(2) If yes, are these files specified as an output of these subcommand commands? If no, why?

--Adam



More information about the cmake-developers mailing list