有没有办法在makefile或CMake文件中并行循环多个列表?
我想在CMake中执行以下操作,但AFAICT不支持此语法:
set(a_values a0 a1 a2) set(b_values b0 b1 b2) foreach(a in a_values b in b_values) do_something_with(a b) endforeach(a b)
这将执行:
do_something_with(a0 b0) do_something_with(a1 b1) do_something_with(a2 b2)
我会接受CMake或Make中的一个答案,尽管CMake将是首选.谢谢!
解决方法
干得好:
set(list1 1 2 3 4 5) set(list2 6 7 8 9 0) list(LENGTH list1 len1) math(EXPR len2 "${len1} - 1") foreach(val RANGE ${len2}) list(GET list1 ${val} val1) list(GET list2 ${val} val2) message(STATUS "${val1} ${val2}") endforeach()