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 ポリシーのいずれかの名前でなければなりません。ポリシー名は の形式を持ち、 <NNNN> はポリシーのインデックスを指定する整数です。無効なポリシー名を使用するとエラーになります。QTP<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 の動作は非推奨であり、将来削除される可能性があります。

qt_standard_project_setupも参照してください

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