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