CMP0089¶
加入於版本 3.15。
IBM Clang 架構的 XL 編譯器的編譯器 ID 現在為 XLClang
。
CMake 3.15 及以上版本認知到,定義了 __ibmxl__
的 IBM Clang 架構的 XL 編譯器是一個新的前端,與 xlc
不同,具有不同的命令列和功能集。 CMake 現在傾向於通過將 CMAKE_<LANG>_COMPILER_ID
變數設定為 XLClang
而非 XL
,將其呈現給專案。 然而,現有的專案可能會假設 Clang 架構的 XL 編譯器的編譯器 ID 僅為 XL
,就像 CMake 3.15 之前的版本一樣。 因此,此策略決定了對於 Clang 架構的 XL 編譯器,在通過 project()
或 enable_language()
命令啟用語言 <LANG>
之後,要在 CMAKE_<LANG>_COMPILER_ID
變數中報告哪個編譯器 ID。 策略必須在調用任一命令之前設定。
此策略的 OLD
行為是使用編譯器 ID XL
。 此策略的 NEW
行為是使用編譯器 ID XLClang
。
此策略在 CMake 3.15 版本中引入。 可以通過 cmake_policy()
或 cmake_minimum_required()
設定。 如果未設定,CMake 預設情況下不會警告,並使用 OLD
行為。
請參閱 CMAKE_POLICY_WARNING_CMP0089
變數的文件以控制警告。
注意
策略的 OLD
行為根據定義已棄用
,並可能在未來版本的 CMake 中移除。