CMP0115

在 3.20 版本加入.

源文件扩展名必须是明确的。

在 CMake 3.19 及以下版本中,如果无法通过指定的名称找到源文件,它将在名称后附加一个已知扩展名的列表,以查看是否可以找到具有该扩展名的文件。例如,这将允许用户运行:

add_executable(exe main)

并在不指定扩展名的情况下将 main.c 放入可执行文件中。

从 CMake 3.20 开始,CMake 更喜欢所有源文件都明确列出其扩展名:

add_executable(exe main.c)

此策略的“旧”行为是在找不到源文件时隐式将已知扩展名附加到源文件。此策略的“新”行为是不附加已知扩展并要求它们是显式的。

此策略是在 CMake 版本 3.20 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLDNEW

备注

策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。