Spec-Zone.ru › CMake 3.10

list

Операции со списками.

list(LENGTH <list> <output variable>)
list(GET <list> <element index> [<element index> ...]
     <output variable>)
list(APPEND <list> [<element> ...])
list(FILTER <list> <INCLUDE|EXCLUDE> REGEX <regular_expression>)
list(FIND <list> <value> <output variable>)
list(INSERT <list> <element_index> <element> [<element> ...])
list(REMOVE_ITEM <list> <value> [<value> ...])
list(REMOVE_AT <list> <index> [<index> ...])
list(REMOVE_DUPLICATES <list>)
list(REVERSE <list>)
list(SORT <list>)

LENGTH вернёт длину данного списка.

GET вернёт список элементов, указанных индексами из списка.

APPEND добавит элементы в список.

FILTER добавит или удалит элементы из списка, которые соответствуют шаблону режима. В режиме REGEX элементы будут сопоставляться с заданным регулярным выражением. Для получения дополнительной информации о регулярных выражениях, см. также команду string().

FIND вернёт индекс указанного элемента в списке или -1, если он не был найден.

INSERT вставит элементы в список в указанное место.

REMOVE_AT и REMOVE_ITEM удалят элементы из списка. Разница заключается в том, что REMOVE_ITEM удалит заданные элементы, а REMOVE_AT удалит элементы по заданным индексам.

REMOVE_DUPLICATES удалит дублирующиеся элементы в списке.

REVERSE инвертирует содержимое списка на месте.

SORT сортирует список на месте в алфавитном порядке.

Подкоманды списка APPEND, INSERT, FILTER, REMOVE_AT, REMOVE_ITEM, REMOVE_DUPLICATES, REVERSE и SORT могут создавать новые значения для списка в рамках текущей области видимости переменной CMake. Подобно команде set(), команда LIST создаёт новые значения переменных в текущей области видимости, даже если сам список фактически определён в родительской области видимости. Чтобы распространить результаты этих операций вверх, используйте set() с PARENT_SCOPE, set() с CACHE INTERNAL, или какой-либо другой метод распространения значений.

ПРИМЕЧАНИЯ: Список в cmake — это группа строк, разделённых ;. Для создания списка можно использовать команду set. Например, set(var a b c d e) создаёт список со значениями a;b;c;d;e, а set(var "a b c d e") создаёт строку или список с одним элементом. (Обратите внимание, что аргументы макроса не являются переменными и поэтому не могут использоваться в командах LIST.)

При указании значений индексов, если <element index> равно 0 или больше, оно индексируется с начала списка, где 0 представляет первый элемент списка. Если <element index> равно -1 или меньше, оно индексируется с конца списка, где -1 представляет последний элемент списка. Будьте внимательны при подсчёте с отрицательными индексами: они не начинаются с 0. -0 эквивалентно 0, первому элементу списка.

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.10/command/list.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API