Calls moc on an input file.

The command is defined in the Core component of the Qt6 package. Load the package with:

find_package(Qt6 REQUIRED COMPONENTS Core)

This command was introduced in Qt 5.0.


qt_generate_moc(src_file dest_file
                [TARGET target])

If versionless commands are disabled, use qt6_generate_moc() instead. It supports the same set of arguments as this command.


Creates a rule to call the Meta-Object Compiler (moc) on src_file and store the output in dest_file.

Note: This is a low-level macro. See the CMake AUTOMOC Documentation for a more convenient way to let source files be processed with moc. qt_wrap_cpp is also similar, but automatically generates a temporary file path for you.


You can set an explicit TARGET. This will make sure that the target properties INCLUDE_DIRECTORIES and COMPILE_DEFINITIONS are also used when scanning the source files with moc.


qt_generate_moc(main.cpp main.moc TARGET myapp)

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.