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 的未来版本中移除。