CMP0121 — CMake 4.3.0 Documentation

# CMP0121

Added 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. It may be set by `cmake_policy()` or `cmake_minimum_required()`. If it is not set, CMake warns, and uses `OLD` behavior.

Note

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