[cmake-developers] INTERFACE_LINK_LIBRARIES property?
Stephen Kelly
steveire at gmail.com
Fri Jun 28 08:42:31 EDT 2013
Brad King wrote:
> So, if the first argument after the lhs is "LINK_PUBLIC"
> or "LINK_PRIVATE" then it is the existing signature, and if
> it is "PUBLIC" or "PRIVATE" or "INTERFACE" then it is the
> "new" signature, right?
Right. That's almost what is in my tll-new-signatures branch:
target_link_libraries(<target> INTERFACE <lib> ...)
target_link_libraries(<target> <PRIVATE|PUBLIC> <lib> ...
[<PRIVATE|PUBLIC> <lib> ...] ...])
However, it should be only:
target_link_libraries(<target> <PRIVATE|PUBLIC|INTERFACE> <lib> ...
[<PRIVATE|PUBLIC|INTERFACE> <lib> ...] ...])
right?
I can change that so that all of the following are valid:
tll(tgt PRIVATE a PUBLIC b INTERFACE c)
tll(tgt INTERFACE c PRIVATE a PUBLIC b)
tll(tgt INTERFACE c PUBLIC b PRIVATE a)
tll(tgt INTERFACE c PUBLIC b PRIVATE a PUBLIC d INTERFACE e)
I believe
tll(tgt LINK_PRIVATE a LINK_PUBLIC b LINK_PRIVATE c)
is valid today. I can't think of a reason to want that, but I guess we
shouldn't change it.
Thanks,
Steve.
More information about the cmake-developers
mailing list