<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Hi all,</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">In <span class="il" style="background-color:rgb(255,255,204)">CMake</span> 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 <span class="il" style="background-color:rgb(255,255,204)">CMake</span>, so what I've ended up doing is patching the <span class="il" style="background-color:rgb(255,255,204)">CMake</span> 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 <span class="il" style="background-color:rgb(255,255,204)">CMake</span> 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.</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
Regards,</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Christian Rorvik</div>