<div dir="ltr"><div dir="ltr">On Thu, Mar 26, 2020 at 1:26 PM Louis Dionne via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
> On Mar 26, 2020, at 16:07, Shoaib Meenai <<a href="mailto:smeenai@fb.com" target="_blank">smeenai@fb.com</a>> wrote:<br>
> <br>
> We had this discussion a few months ago and it petered out, and it’s recently been revived in the context of upgrading the CMake version specifically for libc++ (at which point people suggested upgrading the CMake version used by all of LLVM), so let’s try to move this forward.<br>
<br>
I was going to create a new thread to ask LLVM as a whole, but you did it faster and better than I could have! Thanks a lot for all the research and context you added below. This is great.<br>
<br>
> <br>
> [...]<br>
> <br>
> Our build system is incredibly complex, and many of these features can be used to clean it up and make it much more maintainable. I would personally like us to at least bump up to CMake 3.12. I also do think it's worth establishing a policy and process around upgrading CMake versions, since newer versions keep on adding useful features (particularly better generator expression support), and we want to be able to keep taking advantage of them.<br>
<br>
<br>
I'd like to express very strong support for this. I believe 3.12 is reasonable, and it will give us a lot of features that can improve our life significantly, while still being old enough that some distributions will support it out of the box.<br></blockquote><div><br></div><div>LLVM libc can live with 3.12. So, I lend my support for bumping to 3.12 at least.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
As far as establishing a policy goes, my preference would be to say that we systematically bump the requirement every release to e.g. the CMake released 12 months ago. I understand some people would rather have a detailed analysis of why we should upgrade every time, but I think it's unnecessary overhead because:<br>
1. CMake keeps adding new features that can simplify the build system, so there's always "a reason" to upgrade<br>
2. CMake is very easy to upgrade, so it makes sense to be more aggressive than for e.g. bumping compiler requirements<br>
<br>
Bumping systematically would have the benefit of lowering the effort to making these upgrades and avoiding situations where upgrade efforts are stalled for several years due to the effort of having to convince people over again. If we bumped systematically, it would also ensure that users and bot owners are trained to upgrade from time to time.<br>
<br>
However, no matter what the policy ends up being, I think it's important to at least bump it once soon, so I would be careful not to derail this effort in search of a perfect policy.<br>
<br>
Cheers,<br>
Louis<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>