[CMake] more targets to run in parallel

David Cole david.cole at kitware.com
Mon Feb 20 10:50:57 EST 2012


On Mon, Feb 20, 2012 at 10:42 AM, Eric Noulard <eric.noulard at gmail.com>wrote:

> 2012/2/20 Andrea Crotti <andrea.crotti.0 at gmail.com>:
> > On 02/20/2012 03:15 PM, David Cole wrote:
> >
> >
> > Use:
> >
> >   COMMAND ls -l
> >
> > Not:
> >
> >   COMMAND "ls -l"
> >
> >
> > Yes thanks, I started using the "" because I noticed that sometimes they
> are
> > needed.
> > So suppose I want to split the options and the command, this:
> >
> > set(myoptions one two three)
> > set(mycmd ls -l)
> >
> > message(${mycmd} ${myoptions})
> >
> > will produce
> > ls-lonetwothree
> >
> > Which is not what I want, but with " I get even a more strange result:
> > message("${mycmd} ${myoptions}")
> >
> > ls;-l one;two;three
> >
> > and in the list command I don't see any way to simply concatenate two
> lists,
> > so how should I merge two different lists to produce a command?
>
> You may avoid to create a list in the first place:
> set(myoptions "one two three")
> instead of
> set(myoptions one two three)
>
> see
> cmake --help-command list
>
> or you can
> string(REPLACE ";" " " stringopts "${myoptions}")
> message(STATUS "${stringopts}")
>
>
> --
> Erk
> Membre de l'April - « promouvoir et défendre le logiciel libre » -
> http://www.april.org
>


If you have:

  set(myoptions one two three)
  set(mycmd ls -l)

Then:

  COMMAND ${mycmd} ${myoptions}

should give you what you expect. (Regardless of what the "message"
command's output is.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120220/dc3c8114/attachment-0001.htm>


More information about the CMake mailing list