<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>