ADD_CUSTOM_COMMAND and *multiple* DEPENDS Was: [CMake] Reexecute cmake to update build.make

Brandon Van Every bvanevery at gmail.com
Fri Jun 8 11:45:41 EDT 2007


On 6/8/07, Mathieu Malaterre <mathieu.malaterre at gmail.com> wrote:
> Ok,
>
>   I finally found out what was the issue. I cannot believe no one has
> had the issue in the past, as it seems like a pretty easy mistake to
> do:
>
> SET(deps foo.h bla.h)
> SEPARATE_ARGUMENTS(deps) # very very important !
> ADD_CUSTOM_COMMAND(
>       OUTPUT ...
>       COMMAND ...
>       DEPENDS ${deps}
>     )
>
> that fixes all my previous problems. I cannot believe I did not realize
> my deps were separated by a ';' ... I really need new glasses

Huh?  There is no need for special argument processing for a ${deps}
list in the code snippet you've given.  My code is filled with such
lists.  Unless your dependency data itself has semicolons in it, which
would indeed cause trouble.  Very strange filenames if they've got
semicolons.  Perhaps an extraction from a path or a list that's not
working properly?  Your SEPARATE_ARGUMENTS sounds like a band-aid on a
problem further up your pipeline.

On 6/8/07, Pau Garcia i Quiles <pgquiles at elpauer.org> wrote:
>
> A couple of days ago I noticed something with the ";", too. If you
> have a list (created either with SET or with LIST), when you try to
> print it with MESSAGE( mylist ) elements are not separated by ";" but
> if you print it with MESSAGE( "mylist" ) (with quotes), it will.

This is correct and expected CMake behavior.  However it's not in the
documentation for MESSAGE.  I've added bug #5149 about the lack of
documentation.


Cheers,
Brandon Van Every


More information about the CMake mailing list