CMP0175¶
在 3.31 版本中新增。
add_custom_command()
拒絕無效的參數。
CMake 3.30 及更早的版本會靜默忽略 add_custom_command()
命令的不同形式中不支援的關鍵字以及遺失或無效的參數。CMake 3.31 實作了更嚴格的參數檢查,並會將無效或遺失的參數標示為錯誤。
此政策的 OLD
行為將會接受與 CMake 3.30 及更早版本相同的無效關鍵字或參數。 NEW
行為會將以下先前未報告的錯誤標示出來:
OUTPUT
形式不接受PRE_BUILD
、PRE_LINK
或POST_BUILD
關鍵字。當給定
APPEND
關鍵字時,OUTPUT
形式也不接受BYPRODUCTS
、COMMAND_EXPAND_LISTS
、DEPENDS_EXPLICIT_ONLY
、DEPFILE
、JOB_POOL
、JOB_SERVER_AWARE
、USES_TERMINAL
或VERBATIM
關鍵字。TARGET
形式需要精確地給定一個PRE_BUILD
、PRE_LINK
或POST_BUILD
。先前,如果未給定任何一個,則會假設為POST_BUILD
,或者如果給定了多個關鍵字,則會使用最後一個。TARGET
形式不接受DEPENDS
、DEPENDS_EXPLICIT_ONLY
、DEPFILE
、IMPLICIT_DEPENDS
、MAIN_DEPENDENCY
、JOB_POOL
、JOB_SERVER_AWARE
或USES_TERMINAL
關鍵字。TARGET
形式現在要求至少給定一個COMMAND
。如果一個關鍵字預期在它之後給定一個值,但是沒有提供值,則先前會將其視為根本沒有給定該關鍵字。
COMMENT
關鍵字預期在它之後精確地有一個值。如果給定了多個值,或者如果COMMENT
關鍵字被給定多次,則會發生錯誤。
此政策是在 CMake 版本 3.31 中引入的。它可以由 cmake_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 會發出警告,並使用 OLD
行為。
注意
政策的 OLD
行為根據定義 已棄用
,並可能在未來版本的 CMake 中移除。