Files
CMake/Help/policy/CMP0085.rst
Kyle Edwards b5f8113ca7 Genex: Add policy to handle empty list items in $<IN_LIST:...>
The old behavior of $<IN_LIST:...> is inconsistent with that of
if(IN_LIST), in that it does not find an empty search item even if
the list contains empty items. This change adds a new policy to
correctly handle empty items and make the behavior more consistent
with if(IN_LIST).

Fixes: #18556
2018-11-19 17:02:06 -05:00

22 lines
885 B
ReStructuredText

CMP0085
-------
``$<IN_LIST:...>`` handles empty list items.
In CMake 3.13 and lower, the ``$<IN_LIST:...>`` generator expression always
returned ``0`` if the first argument was empty, even if the list contained an
empty item. This behavior is inconsistent with the ``IN_LIST`` behavior of
:command:`if`, which this generator expression is meant to emulate. CMake 3.14
and later handles this case correctly.
The ``OLD`` behavior of this policy is for ``$<IN_LIST:...>`` to always return
``0`` if the first argument is empty. The ``NEW`` behavior is to return ``1``
if the first argument is empty and the list contains an empty item.
This policy was introduced in CMake version 3.14. CMake version
|release| warns when the policy is not set and uses ``OLD`` behavior.
Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW``
explicitly.
.. include:: DEPRECATED.txt