Help: Be clearer about which header files are considered for AUTOMOC

The old documentation stated that "all header files" were considered,
which was not true for any sensible definition of "all header files".
Only header files with certain names are considered.

Document the filename patterns matched for parsing.
This commit is contained in:
Alex Merry 2014-02-04 13:38:47 +01:00 committed by Stephen Kelly
parent 5414b0e919
commit 635e96dde2

View File

@ -12,8 +12,11 @@ statement like ``#include "moc_foo.cpp"`` is found, the ``Q_OBJECT`` class
declaration is expected in the header, and ``moc`` is run on the header
file. If an ``#include`` statement like ``#include "foo.moc"`` is found, then
a ``Q_OBJECT`` is expected in the current source file and ``moc`` is run on
the file itself. Additionally, all header files are parsed for
``Q_OBJECT`` macros, and if found, ``moc`` is also executed on those files.
the file itself. Additionally, header files with the same base name (like
``foo.h``) or ``_p`` appended to the base name (like ``foo_p.h``) are parsed
for ``Q_OBJECT`` macros, and if found, ``moc`` is also executed on those files.
``AUTOMOC`` checks multiple header alternative extensions, such as
``hpp``, ``hxx`` etc when searching for headers.
The resulting moc files, which are not included as shown above in any
of the source files are included in a generated
``<targetname>_automoc.cpp`` file, which is compiled as part of the