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