CMP0027

有条件地链接缺少包含目录的导入目标。

CMake 2.8.11 引入了 INTERFACE_INCLUDE_DIRECTORIES 的概念,并在 cmake 时检查 IMPORTED 目标的 INTERFACE_INCLUDE_DIRECTORIES 中的条目是否实际存在。 CMake 2.8.11 还在 target_link_libraries() 命令中引入了生成器表达式支持。但是,如果作为生成器表达式评估的结果链接导入的目标,则不会检查该目标的 INTERFACE_INCLUDE_DIRECTORIES 中的条目是否存在,因为它们应该是。

如果生成器表达式有条件链接的“IMPORTED”目标的 INTERFACE_INCLUDE_DIRECTORIES 中的条目不存在,则此策略的“旧”行为是报告警告。

如果生成器表达式有条件链接的“IMPORTED”目标的 INTERFACE_INCLUDE_DIRECTORIES 中的条目不存在,则此策略的“新”行为是报告错误。

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

备注

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