CMP0027

警告

此策略的 OLD 行为已在 CMake 4.0 版本中移除。此策略必须通过调用 cmake_minimum_required()cmake_policy() 设置为 NEW

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

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

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

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

此策略在 CMake 3.0 版本中引入。在 CMake 4.0 版本中移除之前,可以通过 cmake_policy()cmake_minimum_required() 设置它。如果未设置,CMake 会发出警告,并使用 OLD 行为。