QTP0002

Les propriétés de cible qui spécifient des chemins d'accès spécifiques à Android peuvent contenir des expressions de générateur.

Cette règle a été introduite dans Qt 6.6. Elle modifie le traitement des propriétés de cible qui spécifient des chemins spécifiques à Android :

Le comportement « OLD » de cette politique n’autorise pas les expressions génératrices dans les propriétés de cible qui spécifient des chemins d’accès spécifiques à Android, mais convertit implicitement les chemins spécifiés en chaînes JSON valides.

Le comportement « NEW » de cette politique autorise l’utilisation d’expressions génératrices dans les propriétés de cible qui spécifient des chemins spécifiques à Android, mais celles-ci doivent donner lieu à des chaînes JSON valides.

La valeur suivante de la propriété QT_ANDROID_EXTRA_PLUGINS est convertie en une chaîne JSON valide si vous définissez la politique sur OLD, mais entraîne une erreur si la politique est définie sur NEW :

set_target_properties(
    QT_ANDROID_EXTRA_PLUGINS "\\path\\to\\MyPlugin.so"
)

Si la politique est définie sur NEW pour l’exemple ci-dessus, la chaîne JSON résultante dans le fichier de paramètres de déploiement contiendra des symboles échappés à la place des séparateurs de chemin.

Les expressions de générateur ne sont prises en charge que si la politique est définie sur « NEW » ; ainsi, le comportement « OLD » génère un fichier de paramètres de déploiement mal formé avec le code suivant :

set_target_properties(
    QT_ANDROID_EXTRA_PLUGINS "$<TARGET_FILE_DIR:MyPlugin>"
)

La valeur de cette propriété fonctionne comme prévu, que la politique soit définie sur « OLD » ou « NEW » :

set_target_properties(
    QT_ANDROID_EXTRA_PLUGINS "/path/to/MyPlugin.so"
)

Remarque : le comportement « OLD » d’une politique est obsolète et pourrait être supprimé à l’avenir.

Voir également qt_policy() et les politiques Qt CMake.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.