[cmake-developers] target_include_directories() accepts only absolute paths ?

Alexander Neundorf neundorf at kde.org
Tue Jan 29 13:28:18 EST 2013


On Tuesday 29 January 2013, Brad King wrote:
> On 01/29/2013 04:23 AM, Stephen Kelly wrote:
> >>> that tll() will handle linking completely and partly setting up the
> >>> includes.
> > 
> > I'm not sure what you mean by 'partly'.
> 
> I think Alex meant that plain directories cannot be added with tll for
> includes. 

Yes.

> However, we have to be careful not to mix up configuration of
> the target's own build requirements versus propagation of requirements
> from dependencies.  The former should still use tid and tcd while the
> latter will now be fully handled by tll.
> 
> >> What if only tll continues to allow raw target names and tid and tcd
> >> assume non-target without using a generator expression?  In the common
> >> use case tll will now do linking/includes/defines for targets anyway so
> >> we will need tid and tcd only for real raw dirs/defs.
> > 
> > Yes, I think that's right.
> > 
> > As a somewhat real-world use of this stuff, see this patch to the kde-
> > 
> > frameworks branch:
> >  http://www.steveire.com/0001-wip-remove-redundant-include_directories-ca
> >  lls.patch
> 
> Nice!
> 
> > So, the conclusion is that we can remove target handling from
> > target_compile_definitions and target_include_directories entirely?
> 
> Yes, especially if it works for your real-world case.  Whenever one
> really wants to use a target one can use the plumbing directly:
> 
>  $<TARGET_PROPERTY:mydep,INTERFACE_INCLUDE_DIRECTORIES>

Ok. Can support for this then also be added to include_directories(), or would 
this break something ?
(it would make tid() and id() support mostly the same feature set, just that 
one works per target, the other one global).

Alex



More information about the cmake-developers mailing list