Hello Tyler,<br>
<br>
I am not fully agree with your opinion.<br>
<br>
In my case, I can't change the command behaviour I call. So I must tune cmake scripts to make it works.<br>
In other words, the sentence :<br>
" If the DEPENDS are newer than the<br>
OUTPUT, then the OUTPUT *must* be out of date and should be regenerated."<br>
is a too strong assumption in my case.<br>
<br>
More comparison between last make execution time AND last modified dependency times must be enough to make cmake awares of<br>
custom command triggering in a general case (like for source files I guess). Mustn't it?<br>
<font color="#888888"><br></font>Anyway there is a workaround using temporary files, but it is not so beautifull...<br>
<br>
Thanks a lot for your support.<br>
<br>
Arnaud.<br><br><div class="gmail_quote">On Wed, Aug 19, 2009 at 5:13 PM, Tyler Roscoe <span dir="ltr"><<a href="mailto:tyler@cryptio.net">tyler@cryptio.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Putting this back on the list.<br>
<div class="im"><br>
On Wed, Aug 19, 2009 at 01:55:14PM +0200, Arnaud Devalkeneer wrote:<br>
> I just understood the cmake behaviour.<br>
> In fact cmake seems to compare last modified times for output and<br>
> dependencies.<br>
> If the dependencies are younger than the output, the command is triggered.<br>
> Right?<br>
><br>
> But if the custom command has its own state machine to decide if the output<br>
> should be re-generated according to dependencies change,<br>
> this mechanism does not work if the output is not regenerated. In this case,<br>
> the output always remains older than dependencies, and the command is always<br>
> called.<br>
><br>
> In my mind I thought that cmake behaviour is ONLY based on last make<br>
> executing time and last modified dependencies times. But it seems not !!<br>
> It seems that a comparaison between last modified times of output and<br>
> dependencies occurs which is I think an error in a general purpose.<br>
> Cmake should not make assumption about user command, and potential update of<br>
> the output. Are you agree with that?<br>
<br>
</div>Maybe I'm not understanding you, but are you saying that you don't want<br>
CMake to check whether the OUTPUT is out of date, just the DEPENDS are<br>
out of date? That doesn't make sense. If the DEPENDS are newer than the<br>
OUTPUT, then the OUTPUT *must* be out of date and should be regenerated.<br>
<font color="#888888"><br>
tyler<br>
</font></blockquote></div><br>