CMP0085

在 3.14 版本加入.

$<IN_LIST:...> 处理空列表项。

在 CMake 3.13 及更低版本中,如果第一个参数为空,$<IN_LIST:...> 生成器表达式总是返回 0,即使列表包含一个空项。此行为与 if()IN_LIST 行为不一致,此生成器表达式旨在模拟。 CMake 3.14 及更高版本可以正确处理这种情况。

如果第一个参数为空,此策略的“旧”行为是“$<IN_LIST:...>”总是返回“0”。 NEW 行为是在第一个参数为空且列表包含空项时返回 1

此策略是在 CMake 版本 3.14 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLDNEW

备注

策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。