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

Eric Christopher via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 8 13:21:26 PDT 2020


Perhaps that's a good point to make the swap?

-eric

On Wed, Apr 8, 2020 at 12:59 PM Tobias Hieta <tobias at plexapp.com> wrote:

> One of the MSVC devs recently said they are pushing for getting cmake
> 3.17.0 in the next point release which is expected in May.
>
> https://www.reddit.com/r/cpp/comments/fluibz/_/fl2bpz1
>
> On Wed, Apr 8, 2020, 21:51 Chris Tetreault via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Visual studio 2019 ships with CMake 3.15.5, which is pretty darn new IMO.
>> From what I can tell, CMake versions are tied to visual studio releases. So
>> assuming we go with “what do recent LTS distros have” as our metric, I
>> think it’s reasonable to say “what do recent visual studio versions have”.
>> It probably makes sense to confirm with MS though before we assume that
>> this is the case.
>>
>>
>>
>> *From:* Eric Christopher <echristo at gmail.com>
>> *Sent:* Wednesday, April 8, 2020 12:41 PM
>> *To:* Chris Tetreault <ctetreau at quicinc.com>
>> *Cc:* Mehdi AMINI <joker.eph at gmail.com>; Louis Dionne <ldionne at apple.com>;
>> llvm-dev at lists.llvm.org
>> *Subject:* [EXT] Re: [llvm-dev] Upgrading LLVM's minimum required CMake
>> version
>>
>>
>>
>> Hi All,
>>
>>
>>
>> Throwing a couple of comments in:
>>
>>
>>
>> Chris's position here has a lot of good points and we want to make sure
>> we're not raising the barrier too high. I definitely want to be able to
>> push ahead with our versions of tools; being able to update quickly is one
>> of the hallmarks of the llvm project. That said, binary packages that can
>> be updated are a minimal first step IMO. I'd really like to not build
>> anything from source :) It seems like there are binaries available for
>> cmake for all of our current platforms, but the windows use case that he
>> brings is definitely a significant one. Can we perhaps reach out and find
>> out the likelihood of a reasonably soonish update there? Linux distros are
>> probably less of a problem - while we all can't use ppas we should be able
>> to do something, similarly with osx.
>>
>>
>>
>> Thoughts?
>>
>>
>>
>> -eric
>>
>>
>>
>> On Wed, Apr 8, 2020 at 9:53 AM Chris Tetreault via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>
>>
>> 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.
>>
>>
>>
>> Thanks,
>>
>>    Christopher Tetreault
>>
>>
>>
>>
>>
>> *From:* llvm-dev <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>
>> *Cc:* 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> wrote:
>>
>>
>>
>>
>>
>> On Apr 7, 2020, at 22:16, Mehdi AMINI via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>
>>
>>
>>
>>
>>
>> On Tue, Apr 7, 2020 at 11:27 AM David Blaikie <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.
>>
>>
>>
>> --
>>
>> Mehdi
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200408/95caf1ac/attachment.html>


More information about the llvm-dev mailing list