cmake/Help/prop_tgt/AUTOMOC_PATH_PREFIX.rst

34 lines
1.3 KiB
ReStructuredText
Raw Normal View History

2020-02-01 23:06:01 +01:00
AUTOMOC_PATH_PREFIX
-------------------
2021-09-14 00:13:48 +02:00
.. versionadded:: 3.16
2020-02-01 23:06:01 +01:00
When this property is ``ON``, CMake will generate the ``-p`` path prefix
option for ``moc`` on :prop_tgt:`AUTOMOC` enabled Qt targets.
To generate the path prefix, CMake tests if the header compiled by ``moc``
is in any of the target
:command:`include directories <target_include_directories>`. If so, CMake will
compute the relative path accordingly. If the header is not in the
:command:`include directories <target_include_directories>`, CMake will omit
the ``-p`` path prefix option. ``moc`` usually generates a
relative include path in that case.
:prop_tgt:`AUTOMOC_PATH_PREFIX` is initialized from the variable
2020-08-30 11:54:41 +02:00
:variable:`CMAKE_AUTOMOC_PATH_PREFIX`, which is ``OFF`` by default.
2020-02-01 23:06:01 +01:00
See the :manual:`cmake-qt(7)` manual for more information on using CMake
with Qt.
Reproducible builds
^^^^^^^^^^^^^^^^^^^
2020-08-30 11:54:41 +02:00
For reproducible builds it is recommended to keep headers that are ``moc``
2020-02-01 23:06:01 +01:00
compiled in one of the target
:command:`include directories <target_include_directories>` and set
2020-08-30 11:54:41 +02:00
:prop_tgt:`AUTOMOC_PATH_PREFIX` to ``ON``. This ensures that:
2020-02-01 23:06:01 +01:00
- ``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.