CMP0041

生成器表达式的相对包含错误。

CMake 2.8.12 及更低版本中的诊断会默默地忽略目标的 INTERFACE_INCLUDE_DIRECTORIES 中的条目,如果它在任何位置包含生成器表达式。

该目标属性中的路径条目不应是相对的。高级 API 应确保通过适当地添加源目录或安装目录前缀。

作为附加诊断,在安装位置的 IMPORTED 目标上生成的 INTERFACE_INCLUDE_DIRECTORIES 不应包含源目录或构建目录中的路径。

此策略的“旧”行为是忽略包含生成器表达式的相对路径条目。如果生成器表达式出现在另一个位置并且路径是相对的,则此策略的“新”行为是报告错误。

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

备注

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