[CMake] How to *not* delete generated files on 'make clean'

Hendrik Sattler post at hendrik-sattler.de
Wed Jan 20 09:25:11 EST 2010


Zitat von Christian Ehrlicher <Ch.Ehrlicher at gmx.de>:
> I'm using QT4_CREATE_TRANSLATION() to automatically update my   
> ts-files for translations. Now my problem is that cmake is to smart   
> and deletes my generated ts-files during 'make clean'. Is there a   
> way to work around this? In general it's fine that cmake deletes the  
>  output of an add_custom_command() but in this case ... :)

It is the same as with .po files: there is no sense in automatically  
updating them on a build (except that it takes time to do so).
There are two cases:
- The translations are already up-to-date -> no changes.
- The translations are not up-to-date -> after the automatic update,  
they still don't have any additional translations.

So it is usually better to seperate the process of translation from  
the build process. It is better to be understood as source editing.

So:
Add an additional add_custom_command(), that uses cmake's  
copy-if-different to copy them back to the source tree. Exclude that  
from all.

HS




More information about the CMake mailing list