automoc4

Alexander Neundorf neundorf at kde.org
Thu May 8 00:12:57 CEST 2008


On Tuesday 06 May 2008, Matthias Kretz wrote:
> On Friday 02 May 2008, Matthias Kretz wrote:
> > On Wednesday 30 April 2008, Alexander Neundorf wrote:
> > > Von: Matthias Kretz <kretz at kde.org>
> > >
> > > > On Tuesday 29 April 2008, Alexander Neundorf wrote:
> > > > > Is there an easy way to enforce rerunning automoc ? Would it be
> > > > > possible to
> > > > > add a command line switch which does that ? Like e.g. deleting all
> > > > > generated moc files or something like that ?
> > > >
> > > > Alternatives:
> > > > 1. add a new target (I'd like to avoid that because it would add a
> > > > lot of I/O on a cmake run)
> > > > 2. make it easy to run automoc4 manually
> > >
> > > Yes, something like "automoc4 --clean" or something like this which
> > > does that for the current dir and maybe all subdirs would be nice to
> > > have.
> >
> > How about the following:
> > - automoc, when done, writes an empty file <target>_automoc.notclean
> > - SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
> > <target>_automoc.notclean)
> > - automoc will recreate all moc files if the <target>_automoc.notclean
> > file is not present (else it will work as it does now)
> >
> > =>
> > after a make clean, running make which executes automoc will recreate all
> > moc files.
> >
> > This would again need automoc to be called unconditionally (which I still
> > believe would be good to do - and the touch can be done by automoc
> > itself, which would be portable).
>
> Patch attached (automoc.patch): I'm all for committing this.

If you consider it ok, feel free to commit.

> I'm using this with the other patch against kdelibs/cmake - which makes the
> rest of KDE use the automoc from kdesupport.

I want to have a look at that in the next day. 
Actually we must not remove anything from FindKDE4Internal.cmake (as e.g. 
KDE4_AUTOMOC), since this breaks source compatiblity.
I'm not sure about the KDE4_SET/GET_TARGET_PROPERTY(), I don't think anybody 
else uses them.
But anyway, I want to see if I can make it so that automoc4 is optional for a 
few weeks and if it's not found the one from kdelibs is used. This way 
developers will have more time to update.
So please don't commit this one yet.

Alex


More information about the Kde-buildsystem mailing list