<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 10, 2015, at 2:30 PM, Chandler Carruth <<a href="mailto:chandlerc@google.com" class="">chandlerc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Mar 10, 2015 at 1:06 PM, Chris Bieneman <span dir="ltr" class=""><<a href="mailto:beanz@apple.com" target="_blank" class="">beanz@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">(adding chandler to the To line)<div class=""><br class=""><div class=""><span class=""><blockquote type="cite" class=""><div class="">On Mar 10, 2015, at 12:29 PM, Tobias Grosser <<a href="mailto:tobias@grosser.es" target="_blank" class="">tobias@grosser.es</a>> wrote:</div><br class=""><div class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">Chandler previously asked to ensure we stay with a cmake version that is available in the Ubuntu packages. If you want to drop this requirement, you probably want to cross-check with him.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""></div></blockquote><div class=""><br class=""></div></span>Chandler, do you have any thoughts based on the context in this thread? Please take as long as you need to digest it all, there is no imminent rush here.</div><span class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important" class="">I personally also believe being a little bit more conservative here would be nice, if possible, as it keeps the barrier of entry to LLVM lower and also makes moving away from autoconf easier.</span></div></blockquote></div><br class=""></span></div><div class="">Actually, the point I was trying to make earlier is that moving away from autoconf is HARDER on older versions of CMake. Yes everyone has make and can run configure, but CMake 2.8.x lacks features that would make it easier to support the remaining bits of functionality from the autoconf build system that the CMake one is lacking.</div><div class=""><br class=""></div><div class="">Also, as I’ve pointed out before, building CMake from source is really easy, even on a system that doesn’t have an existing version of CMake. So while I understand (and am willing to accept) that installing from packages is easy and convenient, I’m not sure we should make it a requirement.</div><div class=""><br class=""></div><div class="">Either way, at the moment I have no patches to land which use new features of CMake, so I’m not actually pushing to raise the minimum version today. As I see it, this conversation is more about establishing a policy, and determining what qualifies as a justification to update CMake versions.</div></div></blockquote></div><br class="">So, I'm very sympathetic to the desire to make the CMake build better. However, I also am sympathetic to wanting to make it super easy for a new developer to download build and start using LLVM. I don't think we can make an effective tradeoff here without specific context.</div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">In the absence of specific features which would make our use of CMake significantly better, I'm inclined to stick roughly to the version of CMake in the latest LTS release of ubuntu (I don't know the stable releases of debian well enough to cite it, but likely the same applies).</div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">But in the presence of *specific* functionality we want to take advantage of, I think we can and should be reasonable aggressive in leveraging features to make our builds and tests better.</div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">Ultimately, I think we'll have to make a case-by-case decision. It's going to depend on the specific new feature and how much it improves our builds in order to decide whether its worth dropping support for older cmakes, even though doing so inconveniences new developers.</div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">Here is how I would try to evaluate any such case: how much will the new functionality of CMake help a *new developer* using LLVM in the first week they're playing with it? If the functionality is going to significantly benefit a new developer as early as the first week which they're using LLVM, it might well be worth the cost of having to build their own version of CMake just to build LLVM. I'd would try to evaluate this as a new developer making that tradeoff.</div></div></div></blockquote><div><br class=""></div><div>At the same time, I suggest taking into account the overhead/difficulty of installing a dependency (cmake or another) on a platform. For instance in this case rebuilding from source is not the only option, there is at least this PPA: <a href="https://launchpad.net/~george-edison55/+archive/ubuntu/cmake-3.x" class="">https://launchpad.net/~george-edison55/+archive/ubuntu/cmake-3.x</a> that provides cmake 3.0.2 on trusty.</div><div><br class=""></div><div>— </div><div>Mehdi</div><div><br class=""></div></div></body></html>