From 635e96dde29e7f76e66870dbebfc332360e1ddca Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Tue, 4 Feb 2014 13:38:47 +0100 Subject: [PATCH] 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. --- Help/prop_tgt/AUTOMOC.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Help/prop_tgt/AUTOMOC.rst b/Help/prop_tgt/AUTOMOC.rst index 16094c781..5e0706333 100644 --- a/Help/prop_tgt/AUTOMOC.rst +++ b/Help/prop_tgt/AUTOMOC.rst @@ -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 ``_automoc.cpp`` file, which is compiled as part of the