foreach
Оцените группу команд для каждого значения в списке.
foreach(loop_var arg1 arg2 ...) COMMAND1(ARGS ...) COMMAND2(ARGS ...) ... endforeach(loop_var)
Все команды между foreach и соответствующим endforeach записываются без вызова. После оценки endforeach записанный список команд вызывается один раз для каждого аргумента, указанного в исходной команде foreach. Перед каждой итерацией цикла ${loop_var} будет установлено как переменная с текущим значением в списке.
foreach(loop_var RANGE total) foreach(loop_var RANGE start stop [step])
Foreach также может перебирать сгенерированный диапазон чисел. Существует три типа такой итерации:
- При указании одного числа, диапазон будет содержать элементы от 0 до «общего».
- При указании двух чисел, диапазон будет содержать элементы от первого числа до второго числа.
- Третье необязательное число — это шаг, используемый для итерации от первого числа ко второму.
foreach(loop_var IN [LISTS [list1 [...]]]
[ITEMS [item1 [...]]])
Итерирует по точному списку элементов. LISTS параметр называет переменные со списками значений для обхода, включая пустые элементы (пустая строка — список нулевой длины). (Примечание: макро-аргументы не являются переменными.) ITEMS параметр завершает разбор аргументов и включает все аргументы, следующие за ним, в итерацию.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.10/command/foreach.html