mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-17 12:11:36 -06:00
Extend Qt(4|5)Autogen.RerunMocBasic to check the following situation: Class MyObject3 is a QObject-derived class without Q_OBJECT macro. It's declared in myobject3.h that is not included by any file that is input of AutoMoc (this is why we had to add PlainObject). If myobject3.h were included by main.cpp, then AutoMoc would already track this dependency, because main.cpp has a Q_OBJECT macro. After the initial build(s), the Q_OBJECT macro is added to myobject3.h, and an incremental build is run. With Qt >= 5.15 and Ninja, the build fails, because AutoMoc is not run due to the missing dependency to myobject3.h.
CMake Tests Directory ********************* This directory contains the CMake test suite. See also the `CMake Source Code Guide`_. .. _`CMake Source Code Guide`: ../Help/dev/source.rst Many tests exist as immediate subdirectories, but some tests are organized as follows. * ``CMakeLib/``: Source code, used for tests, that links to the ``CMakeLib`` library defined over in ``Source/``. * ``CMakeOnly/``: Deprecated. Tests that run CMake to generate a project but not build it. Superseded by ``Tests/RunCMake/``. * ``Find*/``: Tests for specific find modules that can only be run on machines with the corresponding packages installed. They are enabled in ``CMakeLists.txt`` by undocumented options used on CI builds. * ``Module/``: Tests for specific CMake modules. * ``RunCMake/``: Tests that run CMake and/or other tools while precisely checking their return code and stdout/stderr content. Useful for testing error cases and diagnostic output.