On Thursday 20 November 2008, Matthias Kretz wrote: > On Thursday 20 November 2008 10:27:11 Matthias Kretz wrote: > > Now, for some reason qt4_generate_moc stopped working for me. I don't see > > how that could be related, if it is and you have an idea please take a > > look. > > It seems I found the problem: > the OBJECT_DEPENDS I added in Automoc4Config overwrites the OBJECT_DEPENDS > from qt4_generate_moc. I changed automoc to also use > macro_add_file_dependency now and kdelibs compiles again. > > New atuomoc patch attached. I'd like to commit this, please review.
Ok, some comments. The macro macro_add_file_dependencies() is only available in kdelibs/ and projects using kdelibs/, i.e. it shouldn't be used in automoc. The macro is in kdelibs/cmake/modules/MacroAddFileDependencies.cmake, you can just copy it. But, why is this dependency required now ? Currently the source files don't depend on the automoc-generated file and it works ? About the add_custom_target(automoc4_init): this is done now unconditionally. I.e. if you do find_package(Automoc4) twice, it will be executed twice, cmake will then complain about the target being added twice. So you should test wether the target has already been added. With CMake >= 2.6.2 you can do if(NOT TARGET automoc4_init) ... With version before that you can do get_target_property(AUTOMOC4_INIT_TYPE automoc4_init TYPE) if the target has already been created, you will get "UTILITY" as result (which is TRUE if tested in an if()), and "AUTOMOC4_INIT_TYPE-NOTFOUND" if it hasn't been created yet (which is false if tested with if()). Is it still necessary to have different versions for Windows and non-Windows ? Instead of putting all files into automoc4_init.files on every cmake run, could you do it similar to as you did it before ? I.e. instead if touching the file in the add_custom_command(), add that filename to automoc4_init.files, so in the next make, the automoc4_init target will just touch these files and not all ? This could be done by adding that to the automoc4 executable or by executing an additional command in the same add_custom_command (echo should work) Alex _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
