CMP0040

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

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

此项政策的 OLD 行为是忽略未知目标的自定义命令。 此项政策的 NEW 行为是如果在 add_custom_command() 中引用的目标未知或在当前目录之外定义,则报告一个错误。

此项政策在 CMake 3.0 版本中引入。 它可由 cmake_policy()cmake_minimum_required() 设置。 如果没有设置,CMake 会发出警告,并使用 OLD 行为。

注意

一项政策的 OLD 行为 根据定义已被弃用,未来版本的 CMake 中可能会将其移除。