CMP0085

3.14 版中新增。

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

在 CMake 3.13 中及之前版本中,如果第一个参数为空,$<IN_LIST:...> 生成器表达式总是返回 0,即使该列表包含一项空条目。此行为与 IN_LIST 的行为不一致 if(),这个生成器表达式就是要模仿这个行为。CMake 3.14 及更高版本正确处理此案例。

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

此策略在 CMake 3.14 版中首次引入。它可能由 cmake_policy()cmake_minimum_required() 设置。如果没有设置,CMake 会发出警告,并使用 OLD 行为。

注意

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