[llvm-dev] RFC: Updating to CMake 3.15.0

Chris Bieneman via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 4 09:38:34 PST 2019

Hi Neil,

I'm really not sure what you're getting at. Are you objecting to the proposal to update?

The LLVM community operates by having request-for-comment (RFC) discussion threads to coalesce around a plan, then just moving forward. There is no formal argument or proposal needed.

We also don't really have an official policy regarding updating CMake. In your other emails on the thread you were talking about "production" machines, and I don't think the tools required to develop LLVM really factor in there at all. In a production environment you should be using a release of LLVM, likely obtained in binary form.

If you have an objection to the LLVM trunk requiring CMake 3.15.0 in order to build I'd like to understand that objection so that we can take it into account as we move forward.


> On Nov 4, 2019, at 7:23 AM, Neil Nelson <nnelson at infowest.com> wrote:
> Here is how I would make the argument for the latest version of cmake.
> The latest version of cmake addresses a number issues we face in building LLVM including the following.
> [list the justifications]
> We realize this using of the latest versions of external software goes outside our usual method, but in this case the cmake software will not be folded into the resulting LLVM software release and only in the building of the release. Whatever issues a new cmake may present in the build will be identified during testing in that the nature of cmake should easily allow our standard testing to know if it is working properly or not.
> For those building LLVM for standard OS release versions such as the Ubuntu LTS versions seen on our prepared build page, it is expected that those installations are dedicated to the building of LLVM and not for any other production purpose so that installing the recent version of cmake will not affect their other efforts if some problem with this latest cmake version arises.
> Neil Nelson
> On 11/4/19 7:33 AM, Robinson, Paul wrote:
>> However I think you are creating a false dichotomy. I have no real
>> insight into Ubuntu's methodology, but as a user, what I observe
>> is that Ubuntu LTS is NOT a collection of the most recent stable 
>> well-tested versions of all components, kept up-to-date; instead, 
>> it is a snapshot of stable, well-tested versions of all components, 
>> which Ubuntu then commits to maintaining for N years. A given LTS
>> releases maintenance updates only, not new features.
>> And it is certainly not the case that every version of every 
>> component after an Ubuntu LTS is a buggy, bleeding-edge untested 
>> hacked-up mess.  Ubuntu LTS chooses to stick with certain versions,
>> not because later versions are awful, but because picking up new
>> versions is not their goal.
>> So, when we talk about raising our minimum required CMake version,
>> it is not to take CMake bleeding-edge HEAD and have everyone build 
>> their own; it is to take a more recent formal release of CMake.  
>> Now, the CMake people might not conveniently package binaries for 
>> everyone's environment, which might mean some people need to pull 
>> a release's source package and build it themselves; this is the 
>> nature of open-source.  
>> --paulr

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191104/1915b764/attachment.html>

More information about the llvm-dev mailing list