CMP0040

add_custom_command() 的``TARGET`` 签名中的目标必须存在并且必须在当前目录中定义。

如果目标未知或在当前目录外定义,CMake 2.8.12 及更低版本会默默地忽略使用 add_custom_command 的 TARGET 签名创建的自定义命令。

此策略的“旧”行为是忽略未知目标的自定义命令。如果在 add_custom_command() 中引用的目标未知或在当前目录之外定义,则此策略的“新”行为是报告错误。

此策略是在 CMake 3.0 版中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLDNEW

备注

策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。