[CMake] incremental build slow because of F90 (cmake_copy_f90_mod)

Verweij, Arjen VerweijA at tass-safe.com
Mon Jul 12 13:23:05 EDT 2010


Hi Brad,

>Actually the copy-f90-mod step is a *feature* to make incremental
>rebuilds faster.  It is an optimization for the case that the .f90
>source file that provides a module gets recompiled but the *interface*
>to the module does not change.  Many compilers update the timestamp
>on the .mod file anyway.  In this case we do not want all the sources
>that use the module to recompile needlessly.  The copy-f90-mod step
>copies the .mod file to a module timestamp file in a way that does
>not modify the timestamp unless the module really changed.

Cmake_copy_f90_mod gets called every time I type make for (as far as I can tell) every F90 file that provides a module. So for instance I change a comment in my main.f, the compile and linktime for the executable (4000 ish files) NOT including the time spent in the F90 portion of the tree is <5 seconds, but the F90 part takes a minute.

I don't see any recompiling going on for the F90 part. Does cmake_copy_f90_mod get called even if you don't have to compile any F90 files?

Thanks,
Arjen


More information about the CMake mailing list