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 版本中。因此,此策略为 QNX qcc 确定在 project() 或 enable_language 启用语言 ``<LANG>`() 后,在 CMAKE_<LANG>_COMPILER_ID 变量中报告哪个编译器 ID `命令。该策略必须在调用任一命令之前设置。
此策略的“旧”行为是对 qcc 和 QCC 编译器驱动程序使用“GNU”编译器 ID。此策略的“新”行为是为这些驱动程序使用“QCC”编译器 ID。
此策略是在 CMake 3.0 版中引入的。使用 cmake_policy() 命令将此策略显式设置为 OLD 或 NEW。与大多数政策不同,CMake 版本 |release|当此策略未设置且仅使用“旧”行为时,默认情况下*不*发出警告。请参阅 CMAKE_POLICY_WARNING_CMP0047 变量的文档以控制警告。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。