New in version 3.21.

The list() command now detects invalid indices.

Prior to CMake version 3.21, the list() command's GET, INSERT, SUBLIST, and REMOVE_AT subcommands did not detect invalid index arguments.

The OLD behavior of this policy is for invalid indices to be treated as their integer value (if any) at the start of the string. For example, 2good4you is a 2 and not_an_integer is a 0. The NEW behavior is for invalid indices to trigger an error.

This policy was introduced in CMake version 3.21. CMake version 3.23.20220523-g722a9a6 warns when the policy is not set and uses OLD behavior. Use the cmake_policy() command to set it to OLD or NEW explicitly.


The OLD behavior of a policy is deprecated by definition and may be removed in a future version of CMake.