[CMake] Obtaining improved GNU make performance on Makefiles generated by cmake
Bill Hoffman
bill.hoffman at kitware.com
Mon Mar 24 10:33:53 EDT 2008
OK, I talked with Brad, and found out the difference from 2.4.8 and CVS.
When make runs in a CMake project, the first thing it does is run
cmake to check the depend information. It looks for missing header
files, and other checks to see if CMake should re-run or not. In 2.4.8,
CMake would do this globally for the whole project. These made a delay
as CMake checked all the depends for the whole project. CMake now
checks each targets header files separately. This means two things.
First, if you are only building one target, then it should be much
faster as all the headers for the entire project are not checked.
Second, the initial delay for the project is much less, but over all
time may increase some as the check is now done for each target and
shared headers maybe double checked.
That said, I have checked in a change to get PHONY targets into CMake,
as it should not break other makes. This should help some, and it
should fix the make test problem when you had a directory called test.
-Bill
More information about the CMake
mailing list