<div dir="ltr"><div>This change shouldn't affect that use case.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 7, 2021 at 5:35 PM Brian Cain <<a href="mailto:bcain@quicinc.com">bcain@quicinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="gmail-m_3063320145806364649WordSection1">
<p class="MsoNormal">Petr,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks for the heads up.  Will this impact builds that use compiler-rt/libcxx/libcxxabi/libunwind as the entry directory (but present in a monorepo checkout)?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Like so:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="text-indent:5.25pt">cmake -GNinja  … $XYZ/src/llvm-project/compiler-rt<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> libcxx-dev <<a href="mailto:libcxx-dev-bounces@lists.llvm.org" target="_blank">libcxx-dev-bounces@lists.llvm.org</a>> <b>
On Behalf Of </b>Petr Hosek via libcxx-dev<br>
<b>Sent:</b> Thursday, October 7, 2021 5:46 PM<br>
<b>To:</b> llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>; Libc++ Dev <<a href="mailto:libcxx-dev@lists.llvm.org" target="_blank">libcxx-dev@lists.llvm.org</a>><br>
<b>Subject:</b> [libcxx-dev] Introducing shared top-level CMake modules<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p align="center" style="text-align:center"><strong><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:black;background:yellow">WARNING:</span></strong><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:black;background:yellow">
 This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.</span><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">I'm about to land <a href="https://reviews.llvm.org/D88458" target="_blank">D88458</a> which is notable because it extracts shared CMake logic that has been duplicated across libc++, libc++abi, libunwind and compiler-rt and moves it to a shared top-level
 CMake module. <u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">We hope that this will reduce duplication and promote reuse in LLVM build, but it also means that it'll not longer be possible to build projects libc++, libc++abi, libunwind and compiler-rt using CMake without having the full monorepo checkout
 (as opposed to just checking out slices) unless you also check out the top-level CMake module directory.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">We don't think this should introduce significant issues since requiring the full monorepo checkout is something we've been already implicitly assuming in various parts of our build, but I still want to call out this change in case you see
 related issues, especially in downstream builds that aren't covered by upstream bots.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">We plan on following up with other changes in this direction (such as
<a href="https://reviews.llvm.org/D110005" target="_blank">D110005</a>) which should in the long term result in a simpler and faster CMake build.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Please let me know if you have any questions.<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>

</blockquote></div></div>