diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2018-11-06 16:27:03 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2018-11-19 22:02:06 (GMT) |
commit | b5f8113ca7796df47bcb04bcd77991885c3b1b07 (patch) | |
tree | 60304b3a34939b475a4314dd6dce11f34e2922f7 /Help/policy | |
parent | 1dc85a6652bc8255ff7a9ef39028a7df45e3007b (diff) | |
download | CMake-b5f8113ca7796df47bcb04bcd77991885c3b1b07.zip CMake-b5f8113ca7796df47bcb04bcd77991885c3b1b07.tar.gz CMake-b5f8113ca7796df47bcb04bcd77991885c3b1b07.tar.bz2 |
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
Diffstat (limited to 'Help/policy')
-rw-r--r-- | Help/policy/CMP0085.rst | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Help/policy/CMP0085.rst b/Help/policy/CMP0085.rst new file mode 100644 index 0000000..d9ec9a2 --- /dev/null +++ b/Help/policy/CMP0085.rst @@ -0,0 +1,21 @@ +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 |