CMP0177¶
在 3.31 版本中添加。
install()
DESTINATION
路径被规范化。
install()
命令有多种不同的形式,其中大多数都带有 DESTINATION
关键字,有些形式中不止一处。DESTINATION
关键字后给出的值,不进行任何转换。install(EXPORT)
形式假定路径在计算相对于 DESTINATION
的路径时,不包含 ..
或 .
路径组件,如果项目提供的路径违反了该假设,则计算出的路径将不正确。
CMake 3.31 规范化了 install()
命令的任何形式中给出的所有 DESTINATION
值,除了 install(TARGETS)
形式的 INCLUDES DESTINATION
。cmake_path()
命令相同(参见 规范化)。
此策略的 OLD
行为不对任何 install()
命令的 DESTINATION
值执行任何转换。..
或 .
路径组件,install(EXPORT)
将使用与 CMake 3.30 及更早版本相同的错误路径。
NEW
行为将规范化除 INCLUDES DESTINATION
之外的所有 DESTINATION
值。$<PATH:CMAKE_PATH,NORMALIZE,...>
生成器表达式中。
此策略在 CMake 3.31 版本中引入。cmake_policy()
或 cmake_minimum_required()
设置。OLD
行为。
注意
策略的 OLD
行为根据 定义已弃用
,并且可能会在 CMake 的未来版本中移除。