Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] Is there a way to alter BR2_CMAKE_VERSION_MIN?
Date: Tue, 23 Jun 2020 21:04:13 +0200	[thread overview]
Message-ID: <20200623190413.GX2351@scaer> (raw)
In-Reply-To: <CALFsTFXiiOb7t0Biw30OXjVLXwfd1x-dmjtnEDQy+Ogmi4ZU-g@mail.gmail.com>

Asaf, All,

On 2020-06-23 21:36 +0300, Asaf Kahlon spake thusly:
> Currently, BR2_CMAKE_VERSION_MIN is set to 3.10.
> On my machine I have cmake=3.12 and on my BR2_EXTERNAL tree I have
> some private packages requiring cmake>=3.13.
> In the current state, Buildroot won't build host-cmake since the
> installed one is greater than 3.10, but still the compilation fails
> because those packages need a higher version from what I have on my
> machine.
> 
> Is there a reason why BR2_CMAKE_VERSION_MIN isn't set with "?=" but
> with "="? Setting it with "?=" gives the user the option to change it
> in case there are private packages which need a higher version of
> CMake.
> 
> Any other ideas on how to overcome this issue?

We already had the discussion a while ago on the IRC channel, and IIRC,
the conclusion was that we wanted to move to a per-package minimum
version, for example:

    LIBFOO_CMAKE_REQUIRED_VERSION = 3.12

And the the cmake-package infra would automatically add host-cmake as a
dependency of libfoo if the host cmake is not suitable. Probably with
some code like:

    $(2)_CMAKE = $$(shell support/dependencies/check-host-cmake.sh $$($(2)_CMAKE_REQUIRED_VERSION) $$(BR2_CMAKE_CANDIDATES))
    ifeq ($$($(2)_CMAKE),)
    $(2)_DEPENDENCIES += host-cmake
    $(2)_CMAKE = $(HOST_DIR)/bin/cmake
    endif

And then, remove:

    $(2)_DEPENDENCIES += $(BR2_CMAKE_HOST_DEPENDENCY)

And change calls to $$(BR2_CMAKE) with calls to $$($(2)_CMAKE)

Then move the definition of BR2_CMAKE_CANDIDATES to pkg-cmake.mk

Expand all the packages that use cmake-package to define the version
they need.

And finally, kill support/dependencies/check-host-cmake.mk, tp keep only
support/dependencies/check-host-cmake.sh

Obviously, that will be a multi-patch, long effort...

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

      reply	other threads:[~2020-06-23 19:04 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-23 18:36 [Buildroot] Is there a way to alter BR2_CMAKE_VERSION_MIN? Asaf Kahlon
2020-06-23 19:04 ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200623190413.GX2351@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox