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() 命令将其显式设置为 OLD 或 NEW。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。