Hi all,

In CMake target_link_libraries adds both transitive link dependencies and
build order dependencies. For static libraries this isn't always necessary
and in many cases produces an overly conservative build ordering and
restricts parallelism. I haven't found a way to work around this in CMake,
so what I've ended up doing is patching the CMake source to not add these
dependencies for static libraries and only track dependencies up to the
final link target (a few small changes in cmComputeTargetDepends.*). Is
this something maintainers would be willing to consider for CMake mainline?
Backwards compatibility must be preserved of course, but I could imagine a
few different ways of selecting the desired behavior (globally via
variables, by policy, by parameter to the command, by a new command, etc).
I'm not sure which would be most convenient.

Regards,
Christian Rorvik
--

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://www.cmake.org/mailman/listinfo/cmake

Reply via email to