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 版本中被移除。