CMP0115

在 3.20 版本中添加。

源文件扩展名必须显式指定。

在 CMake 3.19 及更早版本中,如果按指定名称找不到源文件,CMake 会将一组已知扩展名追加到该名称后面,以查找带有扩展名的文件。例如,这允许用户运行

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 版本中被移除。