[cmake-developers] Setting includes, defines and other usage requirements with one command
Alexander Neundorf
neundorf at kde.org
Mon Jan 28 13:05:08 EST 2013
On Sunday 27 January 2013, Stephen Kelly wrote:
> Alexander Neundorf wrote:
> > Does
> >
> > function(target_use_stuff _target )
> >
> > target_compile_definitions(${_target} ${ARGN})
> > target_include_directories(${_target} ${ARGN})
> > target_link_libraries(${_target} ${ARGN})
> >
> > endfunction()
> >
> > actually differ from what you want to do for tll() ?
>
> Yes. tll() takes LINK_PUBLIC and the others take PUBLIC for example.
Yes, but this is just a different keyword meaning basically the same.
> Additionally tll() can take non-targets such as library-file names and
> strings such as "-Wl,-Bsymbolic-functions -Wl,-z,relro -lgssapi_krb5 -lkrb5
> -lk5crypto -lcom_err" as is used in kdelibs (from GSSAPI).
>
> There is some clean-up to do, but it is possible to write a macro for it,
> as I wrote here:
Is it maybe a bit inconsistent that
- to setup linking, I can use tll() with targets and with paths
- to setup include dirs, I can use tll() with targets, or tid() with targets
and directories, or id() with directories
Should include_directories() maybe also be taught to recognize targets ?
I mean, it kind of makes sense that tll() does not (will not) handle
directories for setting up include dirs, but I'm still not sure I like that
tll() will handle linking completely and partly setting up the includes.
Alex
More information about the cmake-developers
mailing list