diff options
author | Matthias Kretz <kretz@kde.org> | 2007-09-24 12:15:38 +0000 |
---|---|---|
committer | Matthias Kretz <kretz@kde.org> | 2007-09-24 12:15:38 +0000 |
commit | 783cde1f0c62d68d25c6e6627f7e53108da1c6f9 (patch) | |
tree | af783c850e9940ef567a5bf2ff17c1d42bc9bed4 /automoc/kde4automoc.cpp | |
parent | e470ff64e894fbe7c8ce1c0ce3333eb0d92d1b80 (diff) | |
download | extra-cmake-modules-783cde1f0c62d68d25c6e6627f7e53108da1c6f9.tar.gz extra-cmake-modules-783cde1f0c62d68d25c6e6627f7e53108da1c6f9.tar.bz2 |
also create moc files for _p.h files that contain a Q_OBJECT macro
svn path=/trunk/KDE/kdelibs/; revision=716270
Diffstat (limited to 'automoc/kde4automoc.cpp')
-rw-r--r-- | automoc/kde4automoc.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/automoc/kde4automoc.cpp b/automoc/kde4automoc.cpp index b5368b1a..bb356037 100644 --- a/automoc/kde4automoc.cpp +++ b/automoc/kde4automoc.cpp @@ -168,6 +168,18 @@ bool AutoMoc::run() notIncludedMocs.insert(headername, currentMoc); } } + const QString privateHeaderName = absPath + basename + "_p.h"; + if (QFile::exists(privateHeaderName) && !includedMocs.contains(privateHeaderName) && + !notIncludedMocs.contains(privateHeaderName)) { + const QString currentMoc = "moc_" + basename + "_p.cpp"; + QFile header(privateHeaderName); + header.open(QIODevice::ReadOnly); + const QByteArray contents = header.readAll(); + if (qObjectRegExp.indexIn(QString::fromUtf8(contents)) >= 0) { + //qDebug() << "header contains Q_OBJECT macro"; + notIncludedMocs.insert(privateHeaderName, currentMoc); + } + } } else { do { // call this for every moc include in the file const QString currentMoc = mocIncludeRegExp.cap(1); |