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 行为是 deprecated by definition(按定义已弃用),并可能在未来的 CMake 版本中移除。