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
關鍵字。現在
TARGET
形式至少需要給定一個COMMAND
。如果關鍵字預期在其後給定一個值,但未提供任何值,則先前會將其視為未給定該關鍵字。
COMMENT
關鍵字預期在其後正好有一個值。如果給定多個值,或者如果COMMENT
關鍵字被給定多次,則這會是錯誤。
此政策於 CMake 3.31 版本中引入。它可以使用 cmake_policy()
或 cmake_minimum_required()
進行設定。如果未設定,CMake 會發出警告,並使用 OLD
行為。
注意
政策的 OLD
行為依定義已被棄用
,並可能在 CMake 的未來版本中移除。