On 11/28/2012 05:15 PM, Stephen Kelly wrote: > I guess the old interface is not exported if it is unset, so if the producer > stops populating the old interface, they stop exporting it too. The problem > is we'd need to provide a way for them to not populate the old interface.
Yes. > Having them port away from > > set_property(TARGET foo PROPERTY LINK_INTERFACE_LIBRARIES_DEBUG bar) > > is obvious, but what is not so obvious is that > > target_link_libraries(foo LINK_INTERFACE_LIBRARIES bar) IMO both of the above are obvious because the name matches. > target_link_libraries(foo LINK_PUBLIC bar) > > also populate that property and cause the old interface to be exported. That > would be a mystery to someone who doesn't want to export the old interface > anymore. > > Maybe we can deprecate those (and introduce a warning on export if the > policy is NEW) and introduce > > target_link_libraries(foo INTERFACE bar) > target_link_libraries(foo PRIVATE bar) > target_link_libraries(foo PUBLIC bar) We _just_ added LINK_PUBLIC/LINK_PRIVATE. I'd rather not flip interfaces around too much here. Perhaps part of the NEW behavior of CMP0019 can be that LINK_PUBLIC/LINK_PRIVATE do not populate the old interface. Anyone that wants to provide both interfaces can set the policy to NEW and then set the old interface explicitly. -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
