nightly and continuous build setups

David Faure faure at kde.org
Fri Mar 24 14:02:07 CET 2006


On Friday 24 March 2006 13:52, William A. Hoffman wrote:
> At 04:02 AM 3/24/2006, David Faure wrote:
> >\
> >> In cmake, it would be better to just make it a cmake option that you specify
> >> in at compile time.  Is there a reason you do not want to do that?
> >
> >Am I right that setting this option will trigger a full recompilation of kdelibs?
> 
> No, you are not right.   Unless the option changes a compile flag that is passed
> to the rest of kdelibs or a configured header file, nothing should recompile but
> the new stuff.

OK, so it's not the same as editing the toplevel CMakeLists.txt, I see.

> >It seems strange to me that we would need N kdelibs-global options for the
> >N optional programs in it...
> >
> >A related request: when working on foo.cpp and foo.h, I like very much that with
> >automake or unsermake or hand-written Makefiles I can type "make foo.o" in order
> >to recompile only foo.cpp, and not all the files that depend on foo.h. Sure those files
> >will need to be compiled later as well, but in order to spot compile problems in
> >the code I'm writing, it's foo.cpp that I want to recompile first, after each edit.
> >Can this be done with cmake? I guess that with the Makefile backend it's only a matter
> >of figuring out which Makefile and which target to call, but at a first look it wasn't
> >obvious :)
> 
> You can do that.  You can do that.  Just cd to the directory of the target that
> contains foo.o and type make help, it should give you a list of things you can
> build.  One of them should be foo.o.

make help looks great, but make foo.o doesn't work:

$ make help
makeobj[0]: Entering directory `/mnt/devel/kde/build/trunk/KDE/kdelibs/kdewidgets'
The following are some of the valid targets for this Makefile:
... all (the default if no target is provided)
... clean
... depend
... install
... rebuild_cache
... kdewidgets
... makekdewidgets
... classpreviews.o
... makekdewidgets.o
... qrc_kdewidgets.o
makeobj[0]: Leaving directory `/mnt/devel/kde/build/trunk/KDE/kdelibs/kdewidgets'

$ make makekdewigets.o
makeobj[0]: Entering directory `/mnt/devel/kde/build/trunk/KDE/kdelibs/kdewidgets'
make: *** No rule to make target `makekdewigets.o'.  Stop.
makeobj[0]: Leaving directory `/mnt/devel/kde/build/trunk/KDE/kdelibs/kdewidgets'

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).



More information about the Kde-buildsystem mailing list