CMP0111

3.19 版本新增。

缺少位置属性的导入目标在生成期间失败。

导入目标 对于库文件和可执行文件要求,它们在磁盘上的位置必须在目标属性中指定,例如 IMPORTED_LOCATIONIMPORTED_IMPLIB,或每种配置的等效属性。如果未设置所需的位置属性,CMake 3.18 及更早版本会在其位置生成字符串 `-NOTFOUND`,这会导致相应的规则在构建时失败。CMake 3.19 及更高版本则倾向于在生成期间引发错误。此策略为未更新为期望新行为的项目提供了兼容性。

此策略的 `OLD` 行为是将未知、静态或共享库导入目标的生成位置(如果未设置)视为 `<TARGET_NAME>-NOTFOUND`。`NEW` 行为是引发错误。

此策略在 CMake 版本 3.19 中引入。它可以通过 `cmake_policy()` 或 `cmake_minimum_required()` 命令设置。如果未设置,CMake 会发出警告,并使用 `OLD` 行为。

注意

策略的 `OLD` 行为是 `按定义弃用 ,并且可能会在未来的 CMake 版本中被移除。