QTP0002

Android 固有のパスを指定するターゲット・プロパティは、ジェネレータ式を含むことができます。

このポリシーは Qt 6.6 で導入されました。これは、Android 固有のパスを指定するターゲット プロパティの処理を変更します:

このポリシーのOLD 動作は、ターゲットプロパティでAndroid固有のパスを指定するジェネレータ式を許可しませんが、指定されたパスを有効なJSON文字列に暗黙的に変換します。

このポリシーのNEW 動作では、Android 固有のパスを指定するターゲット プロパティでジェネレーター式を使用できますが、有効な JSON 文字列として評価される必要があります。

QT_ANDROID_EXTRA_PLUGINSプロパティの次の値は、ポリシーを OLD に設定すると有効な JSON 文字列に変換されますが、ポリシーを NEW に設定するとエラーになります:

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

上記の例でポリシーがNEWに設定されている場合、デプロイメント設定ファイルの結果のJSON文字列には、パス区切り文字の代わりにエスケープされた記号が含まれます。

ジェネレータ式はポリシーが NEW に設定されている場合にのみサポートされるため、OLD の動作では、次のコードを含む不正な配置設定ファイルが生成されます:

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

このプロパティ値は、OLD ポリシー値と NEW ポリシー値の両方で期待どおりに動作します:

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

注: ポリシーのOLD の動作は非推奨であり、将来的に削除される可能性があります。

qt_policyQt CMake ポリシーも参照してください

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。