3e3059d7aa38b4f41aad3950f1912a4a7d840f39
[platform/upstream/cmake.git] / Help / prop_tgt / AUTOMOC_PATH_PREFIX.rst
1 AUTOMOC_PATH_PREFIX
2 -------------------
3
4 When this property is ``ON``, CMake will generate the ``-p`` path prefix
5 option for ``moc`` on :prop_tgt:`AUTOMOC` enabled Qt targets.
6
7 To generate the path prefix, CMake tests if the header compiled by ``moc``
8 is in any of the target
9 :command:`include directories <target_include_directories>`.  If so, CMake will
10 compute the relative path accordingly.  If the header is not in the
11 :command:`include directories <target_include_directories>`, CMake will omit
12 the ``-p`` path prefix option.  ``moc`` usually generates a
13 relative include path in that case.
14
15 :prop_tgt:`AUTOMOC_PATH_PREFIX` is initialized from the variable
16 :variable:`CMAKE_AUTOMOC_PATH_PREFIX`, which is ``ON`` by default.
17
18 See the :manual:`cmake-qt(7)` manual for more information on using CMake
19 with Qt.
20
21 Reproducible builds
22 ^^^^^^^^^^^^^^^^^^^
23
24 For reproducible builds it is recommended to keep headers that are ``moc``
25 compiled in one of the target
26 :command:`include directories <target_include_directories>` and set
27 :prop_tgt:`AUTOMOC_PATH_PREFIX` to ``ON`` (which is the default).  This ensures
28 that:
29
30 - ``moc`` output files are identical on different build setups,
31 - ``moc`` output files will compile correctly when the source and/or
32   build directory is a symbolic link.