David Cole wrote: > On Thu, Dec 6, 2012 at 3:37 PM, Stephen Kelly > <steve...@gmail.com> wrote: > http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/3615/focus=5111 >> >> I'm not sure what has changed since then. >> > What's changed since then is that we've seen how much change is needed for > the feature. And how tangled it all is...
That's true. Well, a lot of change and complex, but not tangled. I haven't tried to analyse how much of the complexity is due to whether target_use_targets or target_link_libraries is used. I think the harder parts of this topic so far have been related to exports. Like I said though, I haven't analysed how much of the exports complexity comes from the use of tll(). > This is going to be a venture which risks possibly breaking existing > projects for the convenience of those who are starting from scratch. > > Since the risk on this one is high, we might want to reconsider whether it > would be better to use a new command entirely as the front-end for this > thing. > > I'm not sure I like the name "target_use_targets", but I think a new > command, whatever it be named, is better than changing > target_link_libraries substantially in a "." release. I was going to suggest naming the version that contains this stuff to 2.10. I don't know what has motivated similar version bumps in the past though. > For 3.0, when we finally do go to a CMake 3.0 in the future, we could ask > the question whether it's safe to combine the two commands, once they've > both proven to work in practice. That would only be more source-incompatibility and not a good idea imo. 2.8.10 : Use target_link_libraries() 2.8.12 : Use target_use_targets() 3.0.0 : Use target_link_libraries() If tll() is not to be used for this when the feature first lands, and target_use_targets (or another name) should be used instead, then the thing to do in 3.0.0 (or earlier) is to deprecate tll(). Anyway, that's a bit of a sideline. We'd need to find out how much complexity is a result of using the existing tll(), and how much source incompatibility that risks creating. The only possible source compatibility I know of so far is what Brad mentioned, but that might exist anyway: Brad King wrote: > Now even projects that have never touched LINK_INTERFACE_LIBRARIES will > have to be fixed to manually set it to a copy of the link implementation > in order to remain compatible with older CMake versions once they set the > policy to NEW. I'm not currently sure whether this is okay. Is that right? Thanks, Steve. -- 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