On 3/19/2012 1:56 PM, Eric Noulard wrote:
That's a great feature.
Thanks.
Is there a feature that could guarantee the order of appearance of those objects / object library on the link line generated for add_executable ?
Currently no order is guaranteed other than that all the object files from directly compiled sources, external objects, and object libraries will all come before any _linked_ libraries. I'm not sure whether it is even possible to guarantee an order in all our target build systems. Can you enumerate use cases when the order of objects matters? Unlike static libraries *all* objects will be included. If there are duplicate symbols it is an error. If there are not duplicate symbols then how does order matter?
By the way why wouldn't you authorize target_link_libraries(exetarget objlibname) ?
As you noted further down in your response I had said it's reserved for the future. Adding tll() support will require handling of transitive dependencies and such. I've actually thought through most of the issues for tll() support but do not want to deal with the implementation yet. The basic feature was enough work to implement on its own so far.
I'll test the feature.
Thanks. FYI, the new "ObjectLibrary" test covers all the supported cases so you can look there for examples. However, it contains some hacks to work around minor limitations of some build systems without ruining the test's coverage on the other systems. There is also a new "RunCMake.ObjectLibrary" test that covers all the failure case error messages. -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
