[LLVMdev] [RFC] Raise minimum required CMake version to 3.0

Chandler Carruth chandlerc at google.com
Tue Mar 10 20:33:02 PDT 2015

On Tue, Mar 10, 2015 at 8:18 PM, Owen Anderson <resistor at mac.com> wrote:

> On Mar 10, 2015, at 8:02 PM, Rafael Espíndola <rafael.espindola at gmail.com>
> wrote:
> But it does look like we have a general issue here: Why is linux
> special? If requiring a cmake that does't ship with a given system is
> an issue at all, then we couldn't use any version of cmake because of
> OS X and Windows.
> +1.  I don’t see why Linux deserves special treatment in this area.  Users
> of other platforms are required to obtain CMake via external means, either
> in binary or source form.

I don't know that it is special.

I don't work on OS X at all, and I've not heard complaints from users on OS
X about the CMake versions or problems with getting or installing LLVM. I
have no idea what the problems are there, but if a particular version of
CMake makes it harder to grab LLVM on OS X and start hacking on it, we
*should* consider than when raising the minimum version.

Same thing for Windows. One interesting aspect though is that Windows
systems don't generally come with *any* version of CMake (or configure, or
autotools or....). So there is no way to make grabbing LLVM and building it
avoid grabbing a version of CMake. We should probably still give some
temporal buffer so folks aren't having to constantly update CMake, etc.

If Linux is special in any regard it is special in that it has a preset
system for managing installed software which does provide CMake and would
be more convenient to use than a manually installed CMake. That said,
clearly any inconvenience here only impacts some of the users, not all of

However, everyone seems to think I'm advocating we never move the CMake
version forward. That isn't what I'm saying at all. What I am saying is
that moving the CMake version forward has a cost. Not a huge insurmountable
cost, but non-zero and I suspect non-trivial cost. As a consequence, I'm
suggesting we do so *once we have a use case* (and I don't mean a
hypothetical use case, but patches or planned patches) and when the merits
of that use case make it worthwhile (I suspect they will be).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150310/28e965e7/attachment.html>

More information about the llvm-dev mailing list