このページについて

qt_policy

QtのCMake APIのデフォルトの動作を変更します。

このコマンドは、Qt6 パッケージのCore コンポーネントで定義されており、次のように読み込むことができます:

find_package(Qt6 REQUIRED COMPONENTS Core)

このコマンドは Qt 6.5 で導入されました。

概要

qt_policy(
    [SET <policy_name> behavior]
    [GET <policy_name> <variable>]
)

バージョン指定なしのコマンドが無効になっている場合は、代わりに `qt6_policy() ` を使用してください。このコマンドと同じ引数セットをサポートしています。

説明

このコマンドには 2 つのモードがあります:

  • SET キーワードが使用された場合、このコマンドを使用して、Qt の CMake API における動作変更を有効にしたり、明示的に無効にしたりすることができます。
  • GET キーワードが使用された場合、<variable> には、そのポリシーに対する現在の挙動、すなわちOLD またはNEW が設定されます。

<policy_name> は、Qt CMakeポリシーのいずれかの名前でなければなりません。ポリシー名はQTP<NNNN> という形式をとります。ここで、<NNNN> はポリシーのインデックスを指定する整数です。無効なポリシー名を使用すると、エラーが発生します。

古いバージョンの Qt をサポートするコードでは、<policy_name> の値を取得したり、その挙動を設定したりする前に、QT_KNOWN_POLICY_<policy_name> 変数の値を確認することで、ポリシーの存在を確認できます。

if(QT_KNOWN_POLICY_<policy_name>)
    qt_policy(SET <policy_name> NEW)
endif()

behavior には、以下のいずれかのオプションを設定できます:

  • NEW 新しい動作を有効にするには
  • OLD 新しい動作を明示的に無効にする

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

利用可能なポリシー

QTP0001

「:/qt/qml/」は、Qml モジュールのデフォルトのリソースプレフィックスです

QTP0002

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

QTP0003

Qt ライブラリを作成する際は、BUILD_SHARED_LIBS の値を考慮してください。

QTP0004

QML モジュール内に QML ファイルを含む追加のディレクトリには、追加の qmldir ファイルが必要です。

QTP0005

qt_add_qml_module() の依存関係キーワードで CMake ターゲットを受け入れるようにする

QTP0006

Wayland プロトコルのソース生成において、PRIVATE_CODE をデフォルトとして有効にします。

QTP0007

生成されたデプロイスクリプト内で、引数の値を引用符で囲んだりエスケープしたりする。

QTP0008

デプロイスクリプトの引数を、再評価せずに転送します。

qt_standard_project_setup()も参照してください 。

© 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.