<div dir="ltr"><span class=""></span><br><span class=""></span><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">

</span>in your proj_a example, when target_link_librairies invoke Lib B directly<br>
which generated in another project b, how does proj_a recognize it</blockquote><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I think the reason is proj_a, b, c are all the sub directories of<br>
project root, if no root layer, B can not be invoked in proj_a, right?<br></blockquote><div><br></div><div>That's correct.  In the example I gave, while proj_a, proj_b, and proj_c are all sub-directories of the root level, only the root level, proj_b and proj_c CMakeLists.txt files contain a separate project(...) command, which meas that proj_b and proj_c can be configured and used independently but proj_a cannot and needs to be configured from the root level where the B and C targets are, in addition to their own separate projects, both contained in the root level project(...) where A can see them.<br><br></div><div>- Chuck<br></div></div><br></div></div>