CMP0194

在 4.1 版本中新增。

MSVC 不是汇编语言 ASM 的汇编器。

当启用 ASM 语言时,CMake 会将 C 编译器驱动程序视为汇编器候选。CMake 4.0 及更早版本意外地将 MSVC 的 cl 编译器选为 CMAKE_ASM_COMPILER,从而允许在 Windows 上启用 ASM 语言,即使 cl 不支持汇编源文件。CMake 4.1 及更高版本倾向于拒绝将 cl 作为汇编器候选,但一些现有项目在 Windows 上无条件启用 ASM,即使它们不添加任何汇编源文件。此策略为此类项目提供了兼容性,允许它们像以前一样进行配置。

此策略的 OLD 行为是成功启用 ASM,即使 cl 是唯一可用的候选。此策略的 NEW 行为是不将 cl 视为 ASM 语言的候选汇编器。

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

注意

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