AUTOMOC_PATH_PREFIX — CMake 3.30.4 Documentation

# AUTOMOC_PATH_PREFIX

Added in version 3.16.

When this property is `ON`, CMake will generate the `-p` path prefix option for `moc` on `AUTOMOC` enabled Qt targets.

To generate the path prefix, CMake tests if the header compiled by `moc` is in any of the target `include directories`. If so, CMake will compute the relative path accordingly. If the header is not in the `include directories`, CMake will omit the `-p` path prefix option. `moc` usually generates a relative include path in that case.

`AUTOMOC_PATH_PREFIX` is initialized from the variable `CMAKE_AUTOMOC_PATH_PREFIX`, which is `OFF` by default.

See the `cmake-qt(7)` manual for more information on using CMake with Qt.

## Reproducible builds

For reproducible builds it is recommended to keep headers that are `moc` compiled in one of the target `include directories` and set `AUTOMOC_PATH_PREFIX` to `ON`. This ensures that:

- `moc` output files are identical on different build setups,

- `moc` output files will compile correctly when the source and/or build directory is a symbolic link.