[CMake] Run clean before automatically re-running cmake?
Bill Hoffman
bill.hoffman at kitware.com
Fri Feb 14 11:55:22 EST 2014
On 2/14/2014 11:00 AM, Abe Bachrach wrote:
> I'd only want to do a full build if one of the CMakeLists.txt has
> changed (cmake needs to get re-run). Otherwise, I'd like to do a normal
> build.
That seems a bit over kill to me. I would rather have a few extra files
than having a complete clean done each time a new file is added or a
flag is changed in a CMake file. Here is what you should do....
1. create a list of all the targets in your project
2. use configure file to save the list, but be tricky so that it saves
the last version of the file as well.
3. add a custom command that all your targets depend on. The custom
command should depend on the file that is configured. It will get run
only when the file changes if you use copy on different. When the
custom command runs it should diff the two files and figure out what
target went away, and then remove it.
Basically, you should be able to do this all from the CMake language
with custom commands and a CMake script.
-Bill
More information about the CMake
mailing list