CMP0176¶
新增於 3.31 版本。
execute_process()
的 ENCODING
選項預設為 UTF-8
。
ENCODING
選項僅在 Windows 上有意義。它指定處理程序在 stdout 和 stderr 上輸出的字元編碼。在 CMake 3.14 及更早的版本中,預設編碼為 NONE
,這對應於 CMake 的內部 UTF-8 編碼。在 CMake 3.15 到 CMake 3.30 中,預設編碼意外地變更為 AUTO
,但此變更未被注意且未被記錄。
CMake 3.31 及更高版本偏好 ENCODING
的預設值為 UTF-8
。此政策提供了與可能一直以來依賴預設值為 AUTO
的專案的相容性。
此政策的 OLD
行為是若未指定 ENCODING
,則 execute_process()
預設使用 AUTO
。此政策的 NEW
行為是預設使用 UTF-8
作為預設 ENCODING
。
此政策在 CMake 版本 3.31 中引入。它可以使用 cmake_policy()
或 cmake_minimum_required()
來設定。如果未設定,CMake 將不會發出警告,並使用 OLD
行為。
注意
政策的 OLD
行為 依照定義已過時
,並可能在 CMake 的未來版本中移除。