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

Adam Strzelecki ono at java.pl
Wed Oct 8 09:55:16 EDT 2014


> 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:

Okay. But still I feel like this is just workaround rather than solution for the problem.

> 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.

Yes, it isn't about doing anything wrong, but to make projects building fine with Make build fine with Ninja too.  And you are right here, we have no means for provide proper transition to remove this implicit compatibility layer.  We lack OUTPUT for add_custom_target.

I can work on OUTPUT support for add_custom_target if you want?  Together with new POLICY it will make sense, unless you have other opinion on that.  But I guess it won't make it to 3.1?

> 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

Shouldn't it be called "Add explicit specification of custom TARGET side effect outputs"?

--Adam


More information about the cmake-developers mailing list