foreach: Introduce `IN ZIP_LISTS` mode
Example:
list(APPEND English one two three)
list(APPEND Bahasa satu dua tiga)
foreach(X IN ZIP_LISTS English Bahasa)
message(STATUS "X_0=${X_0}, X_1=${X_1}")
endforeach()
yields
-- X_0=one, X_1=satu
-- X_0=two, X_1=dua
-- X_0=three, X_1=tiga
Also in this MR:
- Modernize the code (1st commit) and add tests for the existed functionality;
- Fix a bug when
foreach(var IN LISTS … ITEMS …)
works, butforeach(var IN ITEMS … LISTS …)
didn't (2nd commit).
Edited by Alex Turbov