CMP0115

在版本 3.20 中添加。

源文件扩展名必须是显式的。

在 CMake 3.19 及更低版本中,如果找不到指定名称的源文件,它会将已知扩展名列表附加到名称,以查看是否可以找到带有扩展名的文件。例如,这将允许用户运行

add_executable(exe main)

并将 main.c 放入可执行文件,而无需指定扩展名。

从 CMake 3.20 开始,CMake 倾向于所有源文件都显式列出其扩展名

add_executable(exe main.c)

此策略的 OLD 行为是隐式地将已知扩展名附加到找不到的源文件。此策略的 NEW 行为是不附加已知扩展名,并要求它们是显式的。

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

注意

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