[CMake] list of lists -possible?

Clinton Stimpson clinton at elemtech.com
Wed Jun 2 12:34:56 EDT 2010


On Wednesday, June 02, 2010 10:24:44 am Doug Reiland wrote:
> Is it possible to implement a list of lists. The following example
> shows cmake ending up with a list with 6 elements instead of
> a list with 2 elements with each element being a list with 3 elements
> 
> set(fooa 1 2 3)
> set(foob a b c)
> message(${fooa})
> message("${fooa}")
> message("${foob}")
> list(APPEND foos "${fooa}")
> list(APPEND foos "${foob}")
> message("${foos}")
> foreach (a ${foos})
> message(${a})
> endforeach()
> 


You can put the name of the list in another list, instead of its contents.
And use a nested foreach to extract all of the contents.

set(fooa 1 2 3)
set(foob a b c)
message(${fooa})
message("${fooa}")
message("${foob}")
list(APPEND foos fooa)
list(APPEND foos foob)
foreach(a ${foos})
  message("new list")
  foreach(b ${${a}})
    message(${b})
  endforeach(b)
endforeach(a)

Clint


More information about the CMake mailing list