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