CMP0070

3.10 版本新增。

定义 file(GENERATE) 针对相对路径的行为。

CMake 3.10 及更高版本定义了 file(GENERATE) 命令的 INPUTOUTPUT 参数中给定的相对路径分别相对于当前的源目录和二进制目录进行解释。CMake 3.9 及更低版本没有定义相对路径的任何行为,也没有诊断它们,而是意外地将它们视为相对于进程工作目录。策略 CMP0070 提供了与使用旧的未定义行为的项目兼容性。

此策略影响给定 file(GENERATE) 的相对路径的行为。此策略的 OLD 行为是将路径视为相对于 CMake 的工作目录。此策略的 NEW 行为是将相对路径相对于调用者的当前源目录或二进制目录进行解释。

此策略在 CMake 3.10 版本中引入。它可以通过 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。

注意

策略的 OLD 行为根据定义已弃用,并可能在未来版本的 CMake 中删除。