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, … до “total”] (включительно).
- При указании двух чисел, диапазон будет содержать элементы от первого числа до второго числа (включительно).
- Третье необязательное число — шаг, используемый для итерации от первого числа ко второму (включительно).
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.13/command/foreach.html