CMP0052¶
在 3.1 版本中添加。
拒绝 INTERFACE_INCLUDE_DIRECTORIES
中已安装的源和构建目录。
CMake 3.0 及更低版本允许源目录或构建目录的子目录位于 INTERFACE_INCLUDE_DIRECTORIES
已安装和已导出的目标中,如果目录也是安装前缀的子目录。这使安装依赖于源目录或二进制目录的存在,并且如果在安装后删除了源目录或二进制目录,安装将会损坏。
有关为目标指定包含目录的详细信息,请参见 包含目录和使用要求。
此策略的 OLD
行为是使用源目录或二进制目录导出 INTERFACE_INCLUDE_DIRECTORIES
的内容。此策略的 NEW
行为是在使用此类目录时发出错误。
此策略在 CMake 3.1 版本中引入。可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 会发出警告并使用 OLD
行为。
注意
策略的 OLD
行为 按定义已被弃用
,并且可能会在将来的 CMake 版本中移除。