[CMake] Fortran 90 modules not rebuilt
K. Noel Belcourt
kbelco at sandia.gov
Wed Nov 17 11:32:07 EST 2010
Hi Brad,
On Nov 16, 2010, at 3:49 PM, Brad King wrote:
> On 11/16/2010 04:52 PM, Belcourt, K. Noel wrote:
>>
>> On Nov 16, 2010, at 2:50 PM, Brad King wrote:
>>
>>> On 11/16/2010 04:24 PM, Belcourt, K. Noel wrote:
>>>> which is the same list of libraries in these SUBDIRS commands in
>>>> the
>>>> top-level CMakeLists.txt file (in reverse order). There's a single
>>>> library in each of these subdirs of the same lower-cased name.
>>>>
>>>> ...
>>>> SUBDIRS(Modules)
>>>> SUBDIRS(MP)
>>>> SUBDIRS(Rn1)
>>>> SUBDIRS(RN2)
>>>> SUBDIRS(SPR)
>>>> SUBDIRS(TP)
>>>> SUBDIRS(Util)
>>>>
>>>> So it looks like the subdirs command plays a role in this behavior.
>>>
>>> Is this built on a case-insensitive filesystem by any chance?
>>
>> I get the same behavior on HFS+ Journaled on my Mac and my RHEL5
>> Linux
>> blade.
>
> Run "make -d" to get debugging output. It is *very* verbose but can
> tell you why make chooses to run certain rules.
It's definitely related to the presence of the SUBDIRS. Make never
considers any of the SUBDIRS that precede Modules, but considers all
the SUBDIRS that follows modules.
I've found a workaround but I get the sense that there's still a bug
lurking in there somewhere. If I just move the SUBDIRS(Modules) last
in the list of SUBDIRS, I'm able to run 'make modules ; make' and it
works okay.
SUBDIRS(BONUS)
SUBDIRS(Bur)
SUBDIRS(CAV)
SUBDIRS(CF-TF)
SUBDIRS(cor)
SUBDIRS(CVH)
SUBDIRS(DCH)
SUBDIRS(EDF)
SUBDIRS(Eos)
SUBDIRS(ESF)
SUBDIRS(exec)
SUBDIRS(FDI)
SUBDIRS(FP)
SUBDIRS(H2C)
SUBDIRS(HS)
SUBDIRS(licensing)
SUBDIRS(MP)
SUBDIRS(Prog)
SUBDIRS(Rn1)
SUBDIRS(RN2)
SUBDIRS(solver)
SUBDIRS(SPR)
SUBDIRS(TP)
SUBDIRS(Util)
SUBDIRS(Modules)
This works, but moving SUBDIRS(Modules) into it's lexical ordering
fails with the reported error.
Of course as soon as I couple in the next component's modules, I'll
have the problem again (make modules ; make coupled_modules ; make)
where the F90 modules in the modules library are completely
independent of the F90 modules in the coupled_modules library. So in
a few weeks I'll be broken again as only one of the F90 module
libraries can be last in the SUBDIRS list.
Does this seem like a bug to you? Anything else I can do to help
with this?
-- Noel
More information about the CMake
mailing list