CMP0052¶
在 3.1 版本加入.
在已安装的 INTERFACE_INCLUDE_DIRECTORIES 中拒绝源和构建目录。
CMake 3.0 及更低版本允许源目录或构建目录的子目录位于安装和导出目标的 INTERFACE_INCLUDE_DIRECTORIES 中,前提是该目录也是安装前缀的子目录。这使得安装依赖于源目录或二进制目录的存在,如果在安装后删除其中一个,安装将被破坏。
有关为目标指定包含目录的更多信息,请参阅:ref:包含目录和使用要求。
此策略的“旧”行为是使用源目录或二进制目录导出 INTERFACE_INCLUDE_DIRECTORIES 的内容。如果使用这样的目录,此策略的“新”行为是发出错误。
此策略是在 CMake 版本 3.1 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLD 或 NEW。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。