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.5/command/foreach.html