On 3/2/2012 10:28 AM, Matthew Schuchard wrote:
That person also had an issue with one Fortran 90 file using a module built by 
another Fortran 90
file in the same target and directory, and had the same error message from 
gnumake as I did.
His solution was to manually add a dependency since in his case it appeared 
CMake missed it?

That was in a case involving circular dependencies among multiple static
libraries.  Dependencies are ill-defined in such cases so manual help
is needed.  The add_dependencies command only works across targets and
not within a single target so I do not think his trouble was within a
single target.

Something that confuses me is:

    1 INCLUDE_DIRECTORIES(${Library_MODDIR})

    7 IF(CMAKE_Fortran_MODDIR_FLAG)
    8   SET_TARGET_PROPERTIES(subdir_mods PROPERTIES
    9     Fortran_MODULE_DIRECTORY modules
   10     )
   11 ENDIF(CMAKE_Fortran_MODDIR_FLAG)

If a hardcoded directory "modules" is being specified as the output directory 
for modules built from
a.f90 and b.f90 when the compiler supports a module output flag, why isn't 
"modules" in the include
directories so that a.f90 can find B.mod?

One tells that specific target where to generate modules it provides.
The other says where to look for modules that it requires.  The two
sets may be disjoint so the interfaces for the two cases must be
orthogonal.

> Or is "${Library_MODDIR}" an intrinsic CMake function which
is assigned the local target's module output directory?

That variable is part of the test's own code.

But this is not working for me.  I still have the error:

*** No rule to make target `dir/CMakeFiles/target.a.dir/foo2.mod.stamp',
needed by `dir/foo.tmp.f'.  Stop.

I can give you no additional help without a sample tarball that breaks.
Otherwise I cannot reproduce the problem.  The feature is implemented
and tested and works on every project I've ever seen.  If you cannot
post the real code then strip it down to a sanitized example and post
that instead.

-Brad
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to