On 06/28/2013 08:42 AM, Stephen Kelly wrote:
> However, it should be only:
> 
>  target_link_libraries(<target> <PRIVATE|PUBLIC|INTERFACE> <lib> ...
>                                [<PRIVATE|PUBLIC|INTERFACE> <lib> ...] ...])

Yes.

> 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)

Yes.  I think that will be the simplest to use.  Please be
sure that empty library lists in cases like

 tll(tgt PRIVATE a PUBLIC INTERFACE c)

work because they could come from

 tll(tgt PRIVATE a PUBLIC ${list_of_libs_maybe_empty} INTERFACE c)

> 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

We considered such cases way back when first discussing that interface.
The use case is that there is an ordered implementation dependency on
"a;b;c" but only "b" should be in the link interface.

Thanks,
-Brad
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to