CMP0190

在 4.1 版本中新增。

模块 FindPython3FindPython2FindPython 在交叉编译模式下强制执行构件的一致性。

从 CMake 4.1 开始,模块 FindPython3FindPython2FindPython 在交叉编译模式下(即 CMAKE_CROSSCOMPILING 变量设置为 true 时)对请求的组件应用以下约束:

  • InterpreterCompiler 单独:将搜索主机工件。

  • InterpreterCompilerDevelopment 或任何子组件:将搜索目标构件。在这种情况下,必须定义 CMAKE_CROSSCOMPILING_EMULATOR 变量,并将用于执行解释器或编译器。

此策略为期望旧行为的项目提供了兼容性。

此策略的 OLD 行为在交叉编译模式下不强制执行一致性,并且可能会返回混合的构件(即宿主和目标构件)。

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

注意

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