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()。它支持与该命令相同的参数集。

描述

此命令有两种模式

  • 当使用 SET 关键字时,此命令可以用来选择加入 Qt CMake API 中的行为变更,或者显式退出。
  • 当使用 GET 关键字时,<variable> 设置为政策的当前行为,即 OLDNEW

<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 行为已弃用,未来可能会被移除。

另请参阅:qt_standard_project_setup

© 2024 Qt 公司有限公司。本文件中包含的文档贡献者拥有其各自的版权。本文件中提供的文档采用自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款进行许可。Qt 和相应的标志是芬兰 Qt 公司及/或其他国家的商标。所有其他商标均为其各自所有者的财产。