aboutsummaryrefslogtreecommitdiff
path: root/automoc/kde4automoc.cpp
AgeCommit message (Collapse)Author
2007-08-05ignore errors from the cmake echo processBernhard Loos
(fixes MS VC++ build) svn path=/trunk/KDE/kdelibs/; revision=696684
2007-07-23moved the waiting for moc processes to finish code back where it should be ↵Matthias Kretz
(after all moc invocations) svn path=/trunk/KDE/kdelibs/; revision=691429
2007-07-17thiago suggested to add an enum if the _automoc.cpp file is otherwise empty, ↵Matthias Kretz
so that the compiler cannot complain that the source file would be empty svn path=/trunk/KDE/kdelibs/; revision=689197
2007-07-17if the moc fails kde4automoc returns EXIT_FAILURE and deletes the moc fileMatthias Kretz
and doesn't touch the _automoc.cpp file. This should help with finding moc-related errors. svn path=/trunk/KDE/kdelibs/; revision=689073
2007-07-13SVN_SILENT: rename some variables for more consistencyMatthias Kretz
svn path=/trunk/KDE/kdelibs/; revision=687529
2007-07-13don't show an extra console on WindowsMatthias Kretz
svn path=/trunk/KDE/kdelibs/; revision=687517
2007-07-09As posted to kde-buildsystem:Matthias Kretz
I replaced kde4automoc.cmake with a C++/QtCore based program that can run more efficient. Instead of creating a <targetname>.automoc file that is added to the target I create a <targetname>_automoc.cpp file now that is compiled and linked into the target. This file #includes all moc files that are not included by other source files. This way the automoc can, at make-time, decide what mocs need to be compiled explicitly and linked into the target. E.g. the following is possible now: foo.h: class A : public QObject { Q_OBJECT ... }; foo.cpp does not #include "foo.moc" run make - everything compiles and links fine (without mentioning the header in KDE4_MOC_HEADERS either since the new automoc looks at all corresponding header files from the .cpp files by itself) now change foo.cpp to #include "foo.moc" running make now will just work, even with the /fast target. Next change I did was to create a <targetname>_automoc.cpp.files file to pass the moc includes and the source files that belong to the target to the automoc. I could have kept it on the command line but I got a report that the command line was already too long for Windows' cmd.exe. Implementation details: - The messages of the automoc are written using cmake -E cmake_echo_color, so the automoc correctly colorizes its messages now. - The moc QProcesses are started in parallel (up to 10). svn path=/trunk/KDE/kdelibs/; revision=685719