[llvm-dev] Upgrading LLVM's minimum required CMake version

Chris Tetreault via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 8 09:53:09 PDT 2020

A line has to be drawn in the sand somewhere. How many “easy” things are we going to require the user to do? Today it’s build a specific CMake from source. What’s next?

Not having to manually track down a bunch of dependencies before building is a feature. Not having to have an internet connection at build time (if we were to script the getting of the custom CMake) is a feature. Being able to just call cmake instead of using some build_llvm.sh that (probably poorly) wraps cmake and downloads the correct version is a feature. Being able to use CMake that is distributed with visual studio so that invoking cmake from the developer powershell just works without fiddling with PATHs is a feature. Not having to install msys so that I can invoke download_cmake.sh is a feature. Not having to have the correct version of python (is it 2 or 3?) be on the path in order to invoke download_cmake.py is a feature. Not having to remember to do --recurse-submodules on the llvm repo if we include it as a git submodule is a feature. The list goes on. Yeah, these are all little things, but a bunch of little things adds up to a huge barrier.

People use Linux distos because by and large they just have all the dependencies that they need. I know I personally hate installing some open source thing on my machines when they have some dependency that’s not in the repos. Sure, it may be easy to build CMake from source. But now I have two CMakes: one that is automatically updated when I do sudo apt-get upgrade, and one that is just randomly in some folder that’s probably not on the PATH. I personally would really appreciate it if we made an attempt to reduce this sort of friction.

   Christopher Tetreault

From: llvm-dev <llvm-dev-bounces at lists.llvm.org<mailto:llvm-dev-bounces at lists.llvm.org>> On Behalf Of Mehdi AMINI via llvm-dev
Sent: Wednesday, April 8, 2020 9:06 AM
To: Louis Dionne <ldionne at apple.com<mailto:ldionne at apple.com>>
Cc: llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
Subject: [EXT] Re: [llvm-dev] Upgrading LLVM's minimum required CMake version

On Wed, Apr 8, 2020 at 9:02 AM Louis Dionne <ldionne at apple.com<mailto:ldionne at apple.com>> wrote:

On Apr 7, 2020, at 22:16, Mehdi AMINI via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:

On Tue, Apr 7, 2020 at 11:27 AM David Blaikie <dblaikie at gmail.com<mailto:dblaikie at gmail.com>> wrote:
I think it does make a difference how many things we ask new developers to do to get up and running - because we've asked them to do one thing doesn't mean it's low-cost to ask them to do another thing.

In this case I see it rather that if we ask them to do one quite big thing already, we should be OK with what seems like a trivial one.

I strongly agree. I think Mehdi's point can be summarized as (Mehdi, feel free to correct me):

    It's incredibly trivial to install CMake, so if a user is *already* required to install a non-default toolchain (which is not so trivial), requiring them to install a non-default CMake is not increasing the barrier by much.

Thanks, this is my point indeed!

I think it is even slightly stronger than what you wrote since you don't even need to *install* CMake as it can be built and used directly from the build directory: it is entirely non-intrusive on the system.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200408/99b5e8ac/attachment.html>

More information about the llvm-dev mailing list