When encountering an `#include "<PATH>ui_<BASE>.h"` statement,
search for `<BASE>.ui` in
- <SOURCE_DIR>/<BASE>.ui
- <SOURCE_DIR>/<PATH><BASE>.ui
- <AUTOUIC_SEARCH_PATH>/<BASE>.ui
- <AUTOUIC_SEARCH_PATH>/<PATH><BASE>.ui
In CMake 3.8.2 the lookup list was
- <SOURCE_DIR>/<BASE>.ui
In CMake 3.9.[01] the lookup list was
- <SOURCE_DIR>/<PATH><BASE.ui>
- <AUTOUIC_SEARCH_PATH>/<PATH><BASE>.ui
Closes#17168
The **AUTOGEN** include directory was always passed to the compiler but
only generated on demand. To avoid compiler complaints when using
`-Wmissing-include-dirs` make sure the directory gets created always.
Closes#17147
When encountering an #include "FOO.moc" statement where
FOO.hpp was chosen over FOO.cpp as the moc source, the
FOO.hpp name was not checked against the moc SKIP list.
Qt is relying on whoever calls moc to include a file with the predefined
values that will be used by the compiler, otherwise moc takes wrong
paths and weird things happen.
Instead, generate an include file and feed it to all mocs to make sure
it's generating correct code.
Co-Author: Sebastian Holtermann <sebholt@xwmw.org>
Fixes: #16640
29d96633 Autogen: Don't use .moc include in Q_PLUGIN_METADATA test
d60f1ddc Autogen: Documentation update
cdb72127 Autogen: Add release notes for Q_PLUGIN_METADATA support
8b13a52c Autogen: Tests: Set different compression levels in rcc test
9d1db7d7 Autogen: Overhaul and simplify AutogenInfo.cmake file generation
0ab817fa Autogen: Optimize GetCompileDefinitionsAndDirectories function
754d4318 Autogen: Sort AutogenInfo.cmake.in
cd74daf0 Autogen: Tests: Add Q_PLUGIN_METADATA test
39c4819e Autogen: Tests: Add moc include tests
50805693 Autogen: Tests: Clean comments
c23206b6 Autogen: Log simplifications
347572cf Autogen: Only touch an unchanged moc_compilation.cpp
03df033b Autogen: Rebuild moc when Q_PLUGIN_METADATA json file changes
3ec230de Autogen: Use GetRealPath in central places only
41fb64e7 Autogen: Search moc includes in include directories
175c8900 Autogen: Sort includes before composing include options
...