CMP0047

對 QNX 上的 qcc 驅動程式使用 QCC 編譯器 ID。

CMake 3.0 及以上版本可識別 QNX qcc 編譯器驅動程式與 GNU 編譯器不同。CMake 現在傾向於透過將 CMAKE_<LANG>_COMPILER_ID 變數設定為 QCC 而非 GNU 來向專案呈現此資訊。然而,現有專案可能假設 QNX qcc 的編譯器 ID 就只是 GNU,如同 CMake 3.0 之前的版本一樣。因此,此政策決定對於 QNX qcc,在透過 project()enable_language() 命令啟用語言 <LANG> 後,在 CMAKE_<LANG>_COMPILER_ID 變數中要回報哪個編譯器 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 版本中移除。