[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