CMP0176¶
在版本 3.31 中新增。
execute_process()
ENCODING
預設為 UTF-8
。
ENCODING
選項僅在 Windows 上有意義。 它指定 process 的 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
行為 deprecated by definition
且可能會在未來版本的 CMake 中移除。