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