QTP0005

qt_add_qml_module's DEPENDENCIES argument accepts targets

This policy was introduced in Qt 6.8. It allows passing targets to qt_add_qml_module() DEPENDENCIES, IMPORTS, OPTIONAL_IMPORTS and DEFAULT_IMPORTS.

Enabling this policy means that the arguments which are passed to the key words can be prefixed with TARGET, and are then treated as a target name.

The OLD behavior of this policy is that the "TARGET name" is treated as two URIs, "TARGET" and "name".

The NEW behavior of this policy is that TARGET is considered a keyword, and the URI is extracted from the target which follows next. It is a hard error if the name following TARGET does not name a target, or if that target does not correspond to a QML module.

In both the NEW and the OLD behavior it is possible to specify a module version by appending a slash and the version. See Declaring module dependencies for more details.

Qt 6.8 issues warnings if you pass a URI to DEPENDENCIES which coincides with a target name. Use the qt_policy command to suppress the warning by explicitly setting the policy to OLD or NEW.

Note: The OLD behavior of a policy is deprecated, and may be removed in the future.

See also qt_policy, qt_standard_project_setup(), qt_cmake_policies, and qt_add_qml_module.