AUTOGEN_ORIGIN_DEPENDS — CMake 4.2.6 Documentation

# AUTOGEN_ORIGIN_DEPENDS

Added in version 3.14.

Switch for forwarding origin target dependencies to the corresponding <ORIGIN>_autogen target.

> Note

> If Qt 5.15 or later is used and the generator is either `Ninja` or Makefile Generators, origin target dependencies are forwarded to the <ORIGIN>_autogen_timestamp_deps target instead of <ORIGIN>_autogen.

Targets which have their `AUTOMOC` or `AUTOUIC` property `ON` have a corresponding <ORIGIN>_autogen target which generates `moc` and `uic` files. As this <ORIGIN>_autogen target is created at generate-time, it is not possible to define dependencies of it using e.g. `add_dependencies()`. Instead the `AUTOGEN_ORIGIN_DEPENDS` target property decides whether the origin target dependencies should be forwarded to the <ORIGIN>_autogen target or not.

By default `AUTOGEN_ORIGIN_DEPENDS` is initialized from `CMAKE_AUTOGEN_ORIGIN_DEPENDS` which is `ON` by default.

In total the dependencies of the <ORIGIN>_autogen target are composed from

- forwarded origin target dependencies (enabled by default via `AUTOGEN_ORIGIN_DEPENDS`)

- additional user defined dependencies from `AUTOGEN_TARGET_DEPENDS`

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

Note

Disabling `AUTOGEN_ORIGIN_DEPENDS` is useful to avoid building of origin target dependencies when building the <ORIGIN>_autogen target only. This is especially interesting when a `global autogen target` is enabled.

When the <ORIGIN>_autogen target doesn't require all the origin target's dependencies, and `AUTOGEN_ORIGIN_DEPENDS` is disabled, it might be necessary to extend `AUTOGEN_TARGET_DEPENDS` to add missing dependencies.