On Thursday, July 05, 2012 06:20:56 PM Alexander Neundorf wrote: > On Thursday, 5. July 2012 17:37:21 Clinton Stimpson wrote: > > On Friday, June 15, 2012 09:56:51 PM Alexander Neundorf wrote: > > > Hi, > > > > > > attached is a small patch which sets the OBJECT_DEPENDS property of > > > a > > > moced file to the generated moc file. > > > This has the effect that before the cpp file is built, moc has been > > > run > > > on it. We have that in KDE's version of qt4_generate_moc() this way > > > since 2006 and it works for us. > > > In cmake's version, it was removed January 11th 2008, the removed > > > call to MACRO_ADD_FILE_DEPENDENCIES(): > > > http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=510f578f8b53858fb > > > b541c 4e7 e4731de9bfbd483 > > > > > > Now since we are trying to get rid of our custom stuff in KDE, we > > > hit > > > that issue when trying to build parts of KDE with FindQt4.cmake from > > > cmake. > > > > > > Do you remember why this line was removed ? > > > What do you think about adding it again, as the attached patch does > > > ? > > > > > > Alex > > > > It was probably removed because I thought add_custom_command() already > > added the needed dependency information. > > > > It should already have this: > > mocable.h -> moc_mocable.cpp -> moc_mocable.o > > This works if the generated moc file is listed as source file for a target. > In several places we did not do this, and relied instead on the > OBJECT_DEPENDS. > Ahh, this was in places where the moc file is generated from a cpp file, > which includes the moc file. > In those cases the OBJECT_DEPENDS makes it work. > > We fixed this in the meantime by adding the generated moc file to the source > list (which is not too bad, since the developer explicitely names the moc > file, so it is ok). > > So, I would like to have that dependency, but I'm unsure whether it might > have any unwanted side effects. >
Ah, so for the case mocable.h -> mocable.moc -> mocable.cpp (includes mocable.moc) the mocable.moc is not listed in the sources of the target. I can't think of any possible unwanted side effects. I agree that we need to have this patch. -- Clinton Stimpson Elemental Technologies, Inc Computational Simulation Software, LLC www.csimsoft.com -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers