cmake/Help/prop_tgt/AUTOGEN_ORIGIN_DEPENDS.rst

41 lines
1.5 KiB
ReStructuredText
Raw Normal View History

2019-11-11 23:01:05 +01:00
AUTOGEN_ORIGIN_DEPENDS
----------------------
2021-09-14 00:13:48 +02:00
.. versionadded:: 3.14
2019-11-11 23:01:05 +01:00
Switch for forwarding origin target dependencies to the corresponding
``_autogen`` target.
Targets which have their :prop_tgt:`AUTOMOC` or :prop_tgt:`AUTOUIC` property
``ON`` have a corresponding ``_autogen`` target which generates
``moc`` and ``uic`` files. As this ``_autogen`` target is created at
generate-time, it is not possible to define dependencies of it using
e.g. :command:`add_dependencies`. Instead the
2023-05-23 16:38:00 +02:00
``AUTOGEN_ORIGIN_DEPENDS`` target property decides whether the origin
2019-11-11 23:01:05 +01:00
target dependencies should be forwarded to the ``_autogen`` target or not.
2023-05-23 16:38:00 +02:00
By default ``AUTOGEN_ORIGIN_DEPENDS`` is initialized from
2019-11-11 23:01:05 +01:00
:variable:`CMAKE_AUTOGEN_ORIGIN_DEPENDS` which is ``ON`` by default.
In total the dependencies of the ``_autogen`` target are composed from
- forwarded origin target dependencies
2023-05-23 16:38:00 +02:00
(enabled by default via ``AUTOGEN_ORIGIN_DEPENDS``)
2019-11-11 23:01:05 +01:00
- additional user defined dependencies from :prop_tgt:`AUTOGEN_TARGET_DEPENDS`
See the :manual:`cmake-qt(7)` manual for more information on using CMake
with Qt.
Note
^^^^
2023-05-23 16:38:00 +02:00
Disabling ``AUTOGEN_ORIGIN_DEPENDS`` is useful to avoid building of
2019-11-11 23:01:05 +01:00
origin target dependencies when building the ``_autogen`` target only.
This is especially interesting when a
:variable:`global autogen target <CMAKE_GLOBAL_AUTOGEN_TARGET>` is enabled.
When the ``_autogen`` target doesn't require all the origin target's
2023-05-23 16:38:00 +02:00
dependencies, and ``AUTOGEN_ORIGIN_DEPENDS`` is disabled, it might be
2019-11-11 23:01:05 +01:00
necessary to extend :prop_tgt:`AUTOGEN_TARGET_DEPENDS` to add missing
dependencies.