CMP0085

3.14 版新增。

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

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

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

此策略在 CMake 版本 3.14 中引入。它可以通过 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。

注意

根据定义,策略的 OLD 行为 已被弃用,并可能在未来的 CMake 版本中被移除。