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

Eric Christopher via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 22 17:44:55 PDT 2020


On Wed, Jul 22, 2020 at 11:37 AM Louis Dionne via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>
>
> On Jun 30, 2020, at 11:04, Louis Dionne via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>
>
> On Apr 8, 2020, at 13:06, Louis Dionne <ldionne at apple.com> wrote:
>
>
> On Apr 2, 2020, at 10:19, Louis Dionne via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> Okay, so we've had some discussion on this thread, and although some
> people (including me) would like a more aggressive policy, I believe the
> following will not get any objection (based on the thread). On April 23rd
> 2020, Ubuntu 20.04 LTS will ship with CMake 3.16.x. This will make the
> lower bound for LTS distributions be 3.13.4, and so I suggest we upgrade to
> that. Here's a proposed process:
>
> 1. Immediately add a CMake warning in <root>/llvm/CMakeLists.txt saying
> that CMake 3.13.4 will be the new minimum version starting with LLVM
> 12.0.0, and mentioning the versions used in various LTSes.
> 2. Immediately send a courtesy heads-up email to all build-bot owners
> telling them about the upcoming change.
> 3. Right after we branch off the release branch for LLVM 11.0.0 (the next
> one), make the minimum CMake version required be 3.13.4.
> 4. Iterate on (3) until all bots are migrated.
> 5. Send a message to the list saying the bump is complete. At that time,
> projects are free to start using features from 3.13.4.
>
> Unless someone else absolutely wants to bite the bullet, I volunteer to do
> the above steps.
>
>
> Ok, so the thread has kept going, but AFAICT all the discussion is about a
> policy for "automatic" upgrades. So I've went ahead and did the first two
> steps of the above algorithm:
>
> (1) Review at https://reviews.llvm.org/D77740
> (2) Email sent to the owners of all build slaves listed on
> http://lab.llvm.org:8011/buildslaves
>
> Just to reiterate, this means that as soon as we branch LLVM 11.0.0 (the
> NEXT release), CMake 3.13.4 will be the minimum required version.
>
>
> Hi,
>
> Just a heads up that about two weeks from now, we should be branching for
> the LLVM 11.0.0 release. Right after we branch, I will implement steps (3)
> and (4) of the algorithm described above, which is to make the minimum
> CMake version required be 3.13.4. I will do this by checking-in this patch:
> https://reviews.llvm.org/D78646.
>
> That patch will cause errors whenever the CMake version is less than
> 3.13.4 -- I will then revert and re-apply this patch until all build bots
> have upgraded to a sufficient CMake. The patch was crafted to be minimal
> and revert-friendly. Note that build bot owners have already been contacted
> in March and pinged several times again for those who had not yet upgraded.
> At this time, I think only 1-2 bots have not upgraded.
>
> Once everyone has upgraded, I will then apply this patch:
> https://reviews.llvm.org/D78648. That patch marks the minimum CMake
> version required as being 3.13.4 throughout the monorepo in a slightly more
> invasive but definitive way. Once that's all done, I'll report to the list
> that the version bump is complete and we can all start using modern CMake
> features.
>
>
> Hi,
>
> I completed steps (3) and (4) of the above upgrade path last week without
> issues. I waited a couple of days to make sure nothing new came up, and
> just now I pushed the last patch that performs the upgrade.
>
> So.. we're now allowed to use CMake 3.13.4 features in the code! Enjoy.
>
> Thanks to everybody who collaborated,
>
>
Congrats on the successful migration!

-eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200722/9435dee2/attachment.html>


More information about the llvm-dev mailing list