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

Brad King brad.king at kitware.com
Wed Oct 8 09:16:05 EDT 2014


On 10/08/2014 03:45 AM, Amine Khaldi wrote:
> Reverting this change makes more sense

This is the simplest solution for the upcoming 3.1 release because
it just restores behavior to what 3.0 does.  I've done it here:

 Ninja: Limit custom command side-effects to build folder
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=de8e534b

> simply to solve a problem that is, if some projects do *not*
> properly use CMake (GENERATED property, adding dependencies
> properly on commands/target that generate the said input
> files...etc) we need to do this to keep them working.

This is not about supporting projects that do it wrong.  Ninja
wants to know not just that a file is generated, but also *which*
custom command generates it.  We have no interface for specifying
side-effect outputs whose timestamps do not need to be newer than
the inputs.  That is what this issue is about:

 Add explicit specification of custom command side effect outputs
 http://www.cmake.org/Bug/view.php?id=14963

The reason is that CMake was designed long before Ninja existed, and
all the other build systems not only do not need this information,
but have no place to put it even if we did have it.

See also my reply to Adam's sibling message to yours.

-Brad




More information about the cmake-developers mailing list