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