CMP0070

在版本 3.10 中添加。

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

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

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

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

注意

策略的 OLD 行为是 deprecated by definition,并可能会在未来版本的 CMake 中被移除。