On 10 Nov 2007, at 2:24, Chris wrote:

> As far as I can tell, Codeblocks does not use makefiles.  I am  
> using GCC but I think Codeblocks uses its own build method.

Oh, OK. As I said, I don't use CodeBlocks, but I was under the  
impression from discussions with others that it did generate  
Makefiles "in the background" and that was how it managed its builds.  
I am very likely wrong.

> I realize I could create my own makefile but I really don't want to  
> go through that headache.

Makefiles are pretty easy to write - there is a learning curve, but  
it's not *that* steep for the functionality you use most of the time  
(like dependency checking!) and the rest of the stuff you can just  
ignore  :-)

How many files are in your project, and what are their dependencies?

> My preferred method would be to pass a flag on the commandline to  
> fluid.exe to have it check timestamps between the .fl file and the  
> generated source and header files before deciding to update the  
> timestamps (which causes them to be recompiled when in actuality  
> nothing changed).  Maybe there is a command line option?

There is no such option in fluid. Indeed, I can't offhand think of  
any parser or compiler tool I know of that provides that functionality.
Basically, the tools expect that you will only ever call them when  
you need them to run - the assumption being that the IDE or Makefile  
will have correctly determined which files need to be rebuilt in any  
given run.

In general, you need a Makefile (or equivalent IDE) option that goes  
something like this -


.fl.h .fl.cxx:
        @echo Passing $< to fluid...
        $(FLUID) -c $<

That rule basically says:
If there is a .cxx or .h file that is needed, but it does not exist,  
and there is a .fl file of the same name
-OR-
there is a .cxx or .h file that does exist but is older than a .fl  
file of the same name
-THEN-
run the command "fluid -c filename.fl"


Which is basically the objective you are trying to attain, I think.

If the IDE you are using does not provide Makefiles, then it must,  
surely, provide some alternate means to handle dependencies. If it  
does not, then it is simply not fit for purpose and you should use  
something else.

> Maybe I should modify fluid myself to do this with the hope it can  
> get included in future versions.  Wouldn't this feature make sense  
> for IDE's that do not use makefiles?

Dependency checking is not the job of the parser/compiler. It is the  
job of the build system. In general, a parser can't tell whether it  
should run or not - really, all it can do is check the dates of its  
input and output files and that is not all that robust an indication  
of change. It can't, for example, know about changes to dependent  
files elsewhere in the build system that have an influence on the  
files the parser is working with, whereas a real build system would  
be aware of those changes and able to better decide which things need  
re-parsed at any given time. That sort of thing.

If you want to expend energy in writing dependency checking mods,  
you'd be better off making it work in Codeblocks (thereby fixing it  
for every parser tool, not just fluid) than in adding some non- 
standard extension to fluid.
But, as I say, I find it odd that Codeblocks does not already provide  
this ability. That, surely, can not be right?

-- 
Ian



_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to