[CMake] add_custom_command and CONFIG-dependent output

David Cole dlrdave at aol.com
Mon Aug 25 07:07:41 EDT 2014


> 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.

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





More information about the CMake mailing list