[CMake] add_custom_command and CONFIG-dependent output

Petr Kmoch petr.kmoch at gmail.com
Mon Aug 25 07:27:21 EDT 2014


On Mon, Aug 25, 2014 at 1:07 PM, David Cole via CMake <cmake at cmake.org>
wrote:

> > Ah, thanks... Though, I think there may be a general disconnect here:
> > that is, it seems likely that one would want to construct output with
> > a pattern composed from generator expressions.
> > ...
> > While I gather from your comment that something like this might be
> > possible in the future, is there some other general approach that can
> > be taken with current CMake?
>
>
> The "disconnect" is that generator expressions were bolted on top of
> existing CMake functionality, and are not fully supported in all
> contexts. The documentation for add_custom_command [1] explicitly says
> "Arguments to COMMAND may use “generator expressions”" -- but it says
> nothing about OUTPUT using them at all.
>
> I don't know if there's a strong reason behind not supporting them in
> the OUTPUT clause... but I suspect if it was easy, it would have been
> done already.
>

Brad suggests it's far from easy in this bug comment:
http://public.kitware.com/Bug/view.php?id=12877#c28315


>
> For now, any OUTPUT you need to specify will have to be done without
> the use of generator expressions. In some cases, that means you need to
> know what the behavior of CMake is (like the library file name in your
> example), and duplicate it if you need it in the OUTPUT clause. So, no:
> no general approach that I know of, but you can use CMAKE_CFG_INTDIR as
> needed to separate the output of different config builds...
>
> (If I'm wrong here, I do hope somebody else more intimately involved
> with generator expressions will chime in and correct me.)
>
>
> HTH,
> David C.
>
>
> [1] http://www.cmake.org/cmake/help/v3.0/command/add_custom_command.html
>

Petr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140825/e1cc8e25/attachment.html>


More information about the CMake mailing list