On 10/07/2014 12:14 PM, Ruslan Baratov via CMake wrote:
> Yes, that's why second file always modified. So assume I have a script 
> that generates a lot of *.cpp files. I modify script so it only change 
> one file, one file modified - one file recompiled. So what I trying to 
> do is optimization that can be checked by rule: "if there is at least 
> one file from OUTPUT list that is newer then any file from DEPENDS list 
> - you don't need to rerun custom command".
> 
> So this optimization is not possible (?) custom command must modify all 
> the files from OUTPUT list?

Build systems will re-run a rule if any input is newer than any output.
One way to achieve what you want is to not list the .cpp files as outputs.
Instead just use some cpp-generated.stamp file as the output that you do
touch every time.  The .cpp files will be generated as side-effects, and
the rule will re-run only when the input changes regardless of whether
the generated .cpp files change.

FYI, there is an open issue for Ninja support of this case:

 http://www.cmake.org/Bug/view.php?id=14963

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to