[llvm-dev] [cfe-dev] Raising CMake minimum version to 3.4.3

Florent Castelli via llvm-dev
Wed, 27 Apr 2016 12:31:42 -0000

I’m an outsider and I really support that change. CMake evolves and being stuck
to ancient versions is really a problem.
Newer versions of CMake help a lot to cleanup some mess, add some really welcome
features and becomes faster.
I don’t think anyone is really stuck to any old version though:

CMake itself is released and packaged by CMake. You can download binaries from
their website for major platforms.
And it doesn’t have to be a DEB or RPM package, it’s a portable tar.gz file that
can be unpacked with statically linked
binaries. You don’t even need to be root to use it and it could even be
automated for most platforms using some build
scripts that fetch the dependencies.

For the other platforms, you could build it from source, which is really easy.
Newer versions of CMake still support some
really ancient platforms, so I don’t think anyone will have issues doing that.
If you’re using an exotic platform, you should
be used to compiling your own software anyway, so I don’t think this will be an
issue for them.

Do Windows devs get stuck because the Windows packaging system doesn’t come with
the latest version of CMake?
They don’t have any, so they download the installer, use the updated version and
don’t complain (too) much.

I require the latest major version of CMake version in my own projects and I
don’t think that has been an issue.
I personally have issues with “bad” build script and I’d support any effort to
improve the situation.

My 2 cents,
Florent


> On 27 Apr 2016, at 09:08, Renato Golin via cfe-dev <cfe-dev at
lists.llvm.org> wrote:
>
> We can't assume every Linux is Ubuntu, nor that every platform has
packages for this or that release.
>
> You are asking for a move to built CMake support, from packages, and
that's a big move. We can't control CMake's progress nor its
repository.
>
> This is bigger than a simple version upgrade, regardless of which version
the new Ubuntu or freebsd ships, or the fact that other systems already need to
build it.
>
> Cheers,
> Renato
>
> On 26 Apr 2016 11:33 p.m., "Chris Bieneman via cfe-dev"
<cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>>
wrote:
> Actually forward to LLVM-dev because I obviously don’t know how email
works…
>
> -Chris
>
>> Begin forwarded message:
>>
>> From: Chris Bieneman via cfe-dev <cfe-dev at lists.llvm.org
<mailto:cfe-dev at lists.llvm.org>>
>> Subject: [cfe-dev] Raising CMake minimum version to 3.4.3
>> Date: April 26, 2016 at 3:01:23 PM PDT
>> To: cfe-dev <cfe-dev at lists.llvm.org <mailto:cfe-dev at
lists.llvm.org>>, llvm-dev at lists.apple.com <mailto:llvm-dev at
lists.apple.com>
>> Cc: Galina Kistanova <gkistanova at gmail.com <mailto:gkistanova
at gmail.com>>
>> Reply-To: Chris Bieneman <beanz at apple.com <mailto:beanz at
apple.com>>
>>
>> Hello llvm-dev and cfe-dev,
>>
>> I want open up the discussion of upgrading our minimum required CMake
version.
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> 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:
>>
>> Ubuntu Wily -> 3.2.2
>> Ubuntu Xenial -> 3.5.1
>> Ubuntu Yakkety -> 3.5.1
>> Debian jessie -> 3.0.2
>> Debian stretch -> 3.5.1
>> Debian sid -> 3.5.2
>> FreeBSD 10.2 -> 3.5.0
>> FreeBSD HEAD -> 3.5.2
>>
>> Feedback?
>>
>> Thanks,
>> -Chris
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
<http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
<http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20160427/9971aae7/attachment.html>