On Thu, Dec 4, 2008 at 4:06 PM, Alexander Neundorf <span dir="ltr">&lt;<a href="mailto:a.neundorf-work@gmx.net">a.neundorf-work@gmx.net</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
But, if you do in cmake:<br>
target_link_libraries(staticLibB staticLibA)<br>
this will not really link (as it would for a shared lib), but it will<br>
nevertheless keep track of the dependencies.<br>
So when liking<br>
target_link_libraries(myApp staticLibB)<br>
cmake knows that it has to add staticLibA to the linker command.</blockquote></div><br>But that&#39;s one of the things that really bothers me. This is that redundancy I was talking about earlier. If I do:<br><br>add_dependencies( C B )<br>
target_link_libraries( C staticLibB )<br><br>It&#39;s a bit pointless. For example, CMake should be smart enough to know that by adding a dependency to B, it should look at the library that it is outputting (In this case, staticLibB.lib) and add that to an implicit call to target_link_libraries(). I only want to use target_link_libraries() to link against external third party libraries that aren&#39;t explicitly represented as a project in my CMake build process.<br>
<br>If I decide to change the output name for the static library B outputs, I&#39;m forced to then revisit all of the target_link_libraries() calls and rename staticLibB. This is a management issue (amongst other things).<br>