support/dependencies/check-host-cmake.mk: set host-cmake max version

Since the introduction of CMake 4 in several distributions, build errors
started occurring on those distributions for cmake packages that
included calls to cmake_minimum_required() or cmake_policy() with a
version older than 3.50 (see [1]).

To avoid backporting numerous individual fixes for affected packages,
commit [2] was previously applied to the LTS branch as a workaround.

Following further discussion (see [2][3]), that raised concerns about
policy changes between CMake versions that could lead to breaking builds
in non-obvious ways, a different approach was chosen.

This patch reverts commit [2] and instead of applying a global
compatibility variable, we now enforce building host-cmake when the host
system provides CMake 4 or newer.

[1] https://cmake.org/cmake/help/latest/release/4.0.html#deprecated-and-removed-features
[2] 70aac2d9e8 package/pkg-cmake.mk: force config version >=3.5
[3] https://lists.buildroot.org/pipermail/buildroot/2025-May/780262.html
[4] https://lists.buildroot.org/pipermail/buildroot/2025-June/780372.html

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
Thomas Perale
2025-07-02 19:10:33 +02:00
parent 58cdf8da63
commit 946b7ff228
2 changed files with 9 additions and 4 deletions

View File

@@ -6,6 +6,9 @@
major_min="${1%.*}"
minor_min="${1#*.}"
major_max="4"
minor_max="0"
shift
for candidate; do
@@ -32,6 +35,12 @@ for candidate; do
major="${version%.*}"
minor="${version#*.}"
if [ ${major} -gt ${major_max} ]; then
continue
elif [ ${major} -eq ${major_max} -a ${minor} -ge ${minor_max} ]; then
continue
fi
if [ ${major} -gt ${major_min} ]; then
echo "${cmake}"
exit