<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 4/26/16 6:50 PM, Chris Bieneman
wrote:<br>
</div>
<blockquote
cite="mid:BD817D5A-2C11-4C53-99A5-7963F7358299@apple.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html; charset=utf-8">
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Apr 26, 2016, at 3:47 PM, John Criswell <<a
moz-do-not-send="true" href="mailto:jtcriswel@gmail.com"
class=""><a class="moz-txt-link-abbreviated" href="mailto:jtcriswel@gmail.com">jtcriswel@gmail.com</a></a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span class="">On 4/26/16 6:01 PM, Chris
Bieneman via cfe-dev wrote:</span><br class="">
<blockquote type="cite" class="">Hello llvm-dev and cfe-dev,<br
class="">
<br class="">
I want open up the discussion of upgrading our minimum
required CMake version.<br class="">
<br class="">
In the past when we’ve discussed this one of the major
reasons for not moving forward was that the Ubuntu LTS
release was on CMake 2.8.12.x. A few days ago Ubuntu
16.04, the new LTS, was released, and it contains CMake
3.5.1.<br class="">
<br class="">
I have a couple of motivations for this, the biggest of
which is that I’ve hit a wall trying to overcome some
limitations in the CMake ExternalProject module which I
can’t get past without being on CMake 3.4 or newer. These
limitations make using ExternalProject to build the LLVM
test-suite and runtime libraries (compiler-rt, libcxx,
etc) difficult.<br class="">
<br class="">
The other big motivation that I have for this is the
ability to cleanup code. We have a lot of CMake code that
checks CMAKE_VERSION and enables and disables features
used on the version. None of the places where we currently
have CMAKE_VERSION checks should impact build correctness,
but most people don’t realize that if you’re using Ninja
your build will be faster on a newer CMake than on an
older one. It would be nice if we just pushed the bar up
and could remove a bunch of those conditionals.<br
class="">
<br class="">
To do this we need bot maintainers to update their CMake
installations, so we need some consensus that (1) we want
to do this and (2) what a reasonable timeline for doing it
is.<br class="">
<br class="">
What I’d like to do is raise the minimum version for all
LLVM projects to CMake 3.4.3 at the end of May. Setting
the date at the end of May gives bot maintainers and
developers lots of time to update, and CMake 3.4.3 is the
last CMake 3.4 release and it is widely available. For
reference here’s a list of linux distributions and their
CMake versions:<br class="">
<br class="">
Ubuntu Wily -> 3.2.2<br class="">
Ubuntu Xenial -> 3.5.1<br class="">
Ubuntu Yakkety -> 3.5.1<br class="">
Debian jessie -> 3.0.2<br class="">
Debian stretch -> 3.5.1<br class="">
Debian sid -> 3.5.2<br class="">
FreeBSD 10.2 -> 3.5.0<br class="">
FreeBSD HEAD -> 3.5.2<br class="">
<br class="">
Feedback?<br class="">
</blockquote>
<br class="">
<span class="">How did you determine that FreeBSD 10.2 is
using cmake 3.5.0? On my FreeBSD 10.3 system, I have
cmake version 3.4.1 (I think it got installed from ports
when I installed other software).</span><br class="">
</div>
</blockquote>
<div><br class="">
</div>
<div>I have a fully updated FreeBSD 10.2 machine and ran “pkg
search cmake”. It came back with 3.5.0. I’m not sure what
version it released with, but the updated version is in the
ports collection.</div>
</div>
</blockquote>
<br>
I think I see the issue: the initial ports collection provides cmake
3.4.1, but if you use pkg update, you get cmake 3.5.0. Is that
correct?<br>
<br>
Ideally, I'd like LLVM to build right out of the box after I install
a system. From that point of view, I'd argue for dropping your
requirement from 3.4.3 to 3.4.1, which may be reasonable if there
aren't any necessary features that were added between 3.4.1 and
3.4.3 that you need.<br>
<br>
If you decide to go to cmake 3.4.3, you might want to modify the
LLVM Getting Started Guide with text stating that the system will
need to be updated in order to build LLVM. If you're going to
require a system update before LLVM would compile, a heads-up in the
docs would be useful.<br>
<br>
Regards,<br>
<br>
John Criswell<br>
<br>
<blockquote
cite="mid:BD817D5A-2C11-4C53-99A5-7963F7358299@apple.com"
type="cite">
<div><br class="">
<blockquote type="cite" class="">
<div class=""><br class="">
<span class="">Also, I see that you sent this to<span
class="Apple-converted-space"> </span></span><a
moz-do-not-send="true"
href="mailto:llvm-dev@lists.apple.com" class=""><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.apple.com">llvm-dev@lists.apple.com</a></a><span
class="">. Shouldn't this also go to<span
class="Apple-converted-space"> </span></span><a
moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org" class=""><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a><span
class=""><span class="Apple-converted-space"> </span>(or
are they the same list)?</span><br class="">
</div>
</blockquote>
<div><br class="">
</div>
I auto-completed llvm-dev incorrectly on my original email and
have been fixing it on subsequent replies.</div>
<div><br class="">
<blockquote type="cite" class="">
<div class=""><br class="">
<span class="">Third, just to nitpick, FreeBSD is not a
Linux distribution. :)</span><br class="">
</div>
</blockquote>
<div><br class="">
</div>
<div>Should have probably said *nix :-)</div>
<div><br class="">
</div>
<div>-Chris</div>
<br class="">
<blockquote type="cite" class="">
<div class=""><br class="">
<span class="">Regards,</span><br class="">
<br class="">
<span class="">John Criswell</span><br class="">
<br class="">
<blockquote type="cite" class=""><br class="">
Thanks,<br class="">
-Chris<br class="">
_______________________________________________<br
class="">
cfe-dev mailing list<br class="">
<a moz-do-not-send="true"
href="mailto:cfe-dev@lists.llvm.org" class="">cfe-dev@lists.llvm.org</a><br
class="">
<a moz-do-not-send="true"
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev"
class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br
class="">
</blockquote>
<br class="">
<br class="">
<span class="">--<span class="Apple-converted-space"> </span></span><br
class="">
<span class="">John Criswell</span><br class="">
<span class="">Assistant Professor</span><br class="">
<span class="">Department of Computer Science, University of
Rochester</span><br class="">
<a moz-do-not-send="true"
href="http://www.cs.rochester.edu/u/criswell" class="">http://www.cs.rochester.edu/u/criswell</a></div>
</blockquote>
</div>
<br class="">
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
<a class="moz-txt-link-freetext" href="http://www.cs.rochester.edu/u/criswell">http://www.cs.rochester.edu/u/criswell</a></pre>
</body>
</html>