CMP0005¶
預處理器定義值現在會自動跳脫。
此政策決定 CMake 是否應針對透過 add_definitions 加入的預處理器定義值產生跳脫字元。CMake 2.4 及更早的版本假設 add_definitions 呼叫中的巨集只會提供簡單的值。它並未嘗試在產生的建置規則中跳脫非簡單的值,例如字串字面值。CMake 2.6 及更高版本支援跳脫大多數值,但不能假設使用者為了繞過早期版本的限制而已經加入跳脫字元。
此政策的 OLD
行為是將給予 add_definitions 的定義值直接放置在產生的建置規則中,而不嘗試跳脫任何內容。此政策的 NEW
行為是自動為所有原生建置工具產生正確的跳脫字元。有關跳脫實作的限制,請參閱 COMPILE_DEFINITIONS
目標屬性的文件。
此政策在 CMake 2.6.0 版本中引入。它可以使用 cmake_policy()
或 cmake_minimum_required()
來設定。如果未設定,CMake 會發出警告,並使用 OLD
行為。
注意
政策的 OLD
行為 依照定義已棄用
,並可能在未來版本的 CMake 中移除。