How to update CMake version in BinaryBuilder's wizard

I’ve been trying to build a package using BinaryBuilder. My package has a binary dependency that can be built with CMake. I need CMake version 3.18 because it has some CUDA definitions, but the CMake binary that I can use inside BinaryBuilder’s wizard is version 3.17.2. Is there any way to bump the version of CMake inside of the BinaryBuilder wizard, or do I have to modify my CMakelists.txt to make it work with 3.17.2?

For reference, I tried the following two compiler sets:

  1. GCC 4.8.5 & LLVM 12.0.0
  2. GCC 11.1.0 & LLVM 12.0.0

(I doubt that changing these will give different cmake versions but I still had to try…)

Try adding CMake_jll as a HostBuildDependency:

HostBuildDependency(PackageSpec(; name="CMake_jll", version = v"3.28.1"))

From

Otherwise install the package from newer Alpine Linux repos:

apk add --upgrade cmake --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main

See for example

2 Likes

@giordano Does the CMake_jll also require

script = raw"""
apk del cmake
...
"""

as in Yggdrasil/S/SuiteSparse/SuiteSparse@7/build_tarballs.j?

Possibly, yes, because it looks like at the moment packages installed via HostBuildDependency don’t take precedence over system binaries:

(system PATH is before host_bindir)

1 Like