[cmake-developers] Setting includes, defines and other usage requirements with one command

Matthew Woehlke matthew.woehlke at kitware.com
Mon Feb 11 11:54:02 EST 2013


On 2013-02-11 09:06, Brad King wrote:
> I think we should drop all that and instead have the includes and defines
> usage requirements added at generate time based on the link closure.  We
> discussed this before, and the reasons for doing it immediately were:
>
> * Ordering of tll() calls relative id()/tid() and ad()/tcd()
>
> * Allow user code to manipulate the properties after tll sets them

If I can jump in here...

I've been reading about this feature for a while, and one thing that has 
been in the back of my mind is, how will code generation tools (Qt MOC 
comes to mind) that depend on being able to get the list of include 
directories to pass to a non-compiler executable work when all this 
stuff starts converging?

At some point, I think it is going to need to be possible to pass 
include directives from a target to a custom command (which generates 
source files used /by the same target/), ideally with the ability to 
specify how to pass each include directive (e.g. '<dir>', '-I <dir>', 
'--include=<dir>', etc.).

Is this going to be possible with the new system? (Maybe the custom 
command can be given an "argument" that is a generator expression that 
will expand to the appropriate arguments?)

Also, what is going to happen to projects using qt4_wrap_cpp (which 
doesn't know about targets) that start using the new stuff?

-- 
Matthew




More information about the cmake-developers mailing list