CMP0047

针对 QNX 上的 qcc 驱动程序使用 QCC 编译器 id。

CMake 3.0 及更高版本识别出 QNX qcc 编译器驱动程序与 GNU 编译器不同。现在 CMake 希望通过将 CMAKE_<LANG>_COMPILER_ID 变量设置为 QCC(而不是 GNU)来向项目提供此信息。然而,现有项目可能会假设 QNX qcc 的编译器 id 只是 GNU(在 3.0 之前的 CMake 版本中,它就是这样)。因此,此策略决定在通过使用 project()enable_language() 命令启用语言 <LANG> 之后,在 CMAKE_<LANG>_COMPILER_ID 变量中针对 QNX qcc 报告哪个编译器 id。

此策略的 OLD 行为是针对 qcc 和 QCC 编译器驱动程序使用 GNU 编译器 id。此策略的 NEW 行为是针对这些驱动程序使用 QCC 编译器 id。

此策略在 CMake 3.0 版本中引入。可以使用 cmake_policy()cmake_minimum_required() 设置此策略。如果未设置,默认情况下 CMake 发出警告,并且使用 OLD 行为。

请参阅 CMAKE_POLICY_WARNING_CMP0047 变量的文档,以控制警告。

注意

某一策略的 OLD 行为在 定义中已弃用,并在将来版本的 CMake 中移除。