[CMake] Effort to create a new generator (tup)

Michael Wild themiwi at gmail.com
Thu May 6 11:32:28 EDT 2010


On 6. May, 2010, at 16:55 , Jed Brown wrote:

> On Thu, 6 May 2010 16:42:13 +0200, Michael Wild <themiwi at gmail.com> wrote:
>> Looks like the Fortran 90 issue can be solved with "order-only" inputs:
>> 
>> a.f90 |> gfortran -c -o %o %f |> %f.o
> 
> This line also produces a.mod.

Ugh, yes. So this should be (does tup accept absolute source file paths?)

/path/to/a.f90 |> gfortran -c -o %o %f |> %B.o %B.mod

> 
>> b.f90 | a.f90 |> gfortran -c -o %o %f |> %f.o
> 
> Maybe you meant
> 
>  b.f90 | a.mod |> gfortran -c -o %o %f |> %f.o

Obviously...

> 
> Note that the dependency analysis also needs to be rerun when files
> change because, e.g. editing a.f90 to include "use b" should create a
> loop.  Yet another reason not to use fortran...
> 
> Jed


Yes, currently circular dependencies are generated. But I consider this to be an error on the user side... Otherwise the dependency scanner doesn't need to rerun, since the file that was modified to use another module needs to be recompiled anyways, triggering a recompile for all the downstream files.

Michael


More information about the CMake mailing list