CMP0187¶
在 4.1 版本中新增。
在包含带扩展名的同名源文件时,不带扩展名的文件也被包含。
在 CMake 4.0 及更早版本中,如果两个源文件具有相同的文件名,且只有一个文件带有文件扩展名,并且带有扩展名的文件排在前面,那么不带扩展名的文件将被从目标中省略。
例如,以下库目标仅包含目标中的 hello.c,而忽略文件 hello。
add_library(library hello.c hello)
如果先列出不带扩展名的文件,然后列出带扩展名的文件,则两个文件都将包含在目标中。
从 CMake 4.1 开始,CMake 将两个文件都包含在库目标中。
如果 CMP0115 使用 OLD 行为,则此策略无效。
此策略的 OLD 行为是省略不带扩展名的文件。此策略的 NEW 行为是包含它。
此策略是在 CMake 版本 4.1 中引入的。它可以由 cmake_policy() 或 cmake_minimum_required() 命令设置。如果未设置,CMake **不会** 警告,并使用 OLD 行为。
注意
策略的 OLD 行为 根据定义已被弃用,并可能在未来的 CMake 版本中被移除。