CMP0085¶
在 3.14 版本中添加。
$<IN_LIST:...>
处理空列表项。
在 CMake 3.13 及更低版本中,如果第一个参数为空,即使列表包含空项目,$<IN_LIST:...>
生成器表达式始终返回 0
。此行为与 if()
的 IN_LIST
行为不一致,此生成器表达式旨在模拟 IN_LIST
行为。 CMake 3.14 及更高版本正确处理这种情况。
此策略的 OLD
行为是当第一个参数为空时,$<IN_LIST:...>
始终返回 0
。NEW
行为是当第一个参数为空且列表包含空项目时,返回 1
。
此策略在 CMake 3.14 版本中引入。它可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 会发出警告,并使用 OLD
行为。
注意
策略的 OLD
行为按照 定义已弃用
,并可能在未来的 CMake 版本中移除。