- Qt 5.15
- Qt Core
- qt_wrap_cpp
- Qt 5.15.18 Reference Documentation

# qt_wrap_cpp

## Synopsis

     qt_wrap_cpp(<VAR> src_file1 [src_file2 ...]
                 [TARGET target]
                 [OPTIONS ...]
                 [DEPENDS ...])

## Description

Creates rules for calling the Meta-Object Compiler (moc) on the given source files. For each input file, an output file is generated in the build directory. The paths of the generated files are added to `<VAR>`.

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`.

This command was introduced in Qt 5.15. You can use qt5_wrap_cpp in older versions of Qt.

## Arguments

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`.

You can set additional `OPTIONS` that should be added to the `moc` calls. You can find possible options in the moc documentation.

`DEPENDS` allows you to add additional dependencies for recreation of the generated files. This is useful when the sources have implicit dependencies, like code for a Qt plugin that includes a `.json` file using the Q_PLUGIN_METADATA() macro.

## Examples

     set(SOURCES myapp.cpp main.cpp)
     qt_wrap_cpp(SOURCES myapp.h)
     add_executable(myapp ${SOURCES})