CMP0041¶
带有生成器表达式的相对包含的错误。
在 CMake 2.8.12 及更低版本中,诊断会静默忽略 INTERFACE_INCLUDE_DIRECTORIES
中的条目,如果在任意位置包含生成器表达式。
目标属性中的路径条目不应是相对的。高级 API 应通过添加源目录或安装目录前缀(视情况而定)来确保这一点。
作为额外的诊断,INTERFACE_INCLUDE_DIRECTORIES
为安装位置在 IMPORTED
目标上生成,不应包含源目录或构建目录中的路径。
此策略的 OLD
行为是如果相对路径条目包含生成器表达式,则忽略此条目。此策略的 NEW
行为是如果生成器表达式出现在其他位置且路径是相对的,则报告错误。
此策略在 CMake 3.0 版中引入。它可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 将发出警告并使用 OLD
行为。
注意
策略的 OLD
行为根据定义已弃用
,并且可能会在未来的 CMake 版本中被移除。