Skip to content

Support for CMake 3.28? #245

Open
Open

Description

@pdimov

Currently, CMakeLists.txt requires CMake 3.30. It would be much more convenient if it required 3.28, because 3.28 is the version on Ubuntu 24.04 LTS, and installing a newer CMake there, while possible, is still somewhat a hassle.

I tried changing 3.30 to 3.28 manually, and everything appeared to still work. I'm not sure why 3.30 is required.

Activity

  1. ClausKlein commented on Apr 1, 2026

    @ClausKlein
    Collaborator

    It is needed for c++20 modules!

  2. pdimov commented on Apr 1, 2026

    @pdimov
    Author

    It's only needed when modules are used. When BEMAN_USE_MODULES is explicitly set to OFF, there's no need to abort. (Also see #247.)

  3. dssgabriel commented on Apr 2, 2026

    @dssgabriel

    How is it a hassle? CMake is one of the easiest softwares to install anywhere.
    Just download the tarball and unpack it in your userspace .local directory:

    wget https://github.com/Kitware/CMake/releases/download/v3.30.9/cmake-3.30.9-linux-x86_64.tar.gz
    tar -C $HOME/.local --strip-components=1 -xf cmake-3.30.9-linux-x86_64.tar.gz

    Ubuntu should already have $HOME/.local/bin in the PATH env var, with priority over /usr/local

  4. dietmarkuehl commented on Apr 3, 2026

    @dietmarkuehl
    Member

    I agree with Peter! It may be super easy to install whatever is needed for a given step. It is an obstacle put into the path to using the library! Anything which makes it harder to use a beman library make it less likely that people will experiment.

    While I'm willing to support modules if at all possible, module use is not the objective here. If the system doesn't have what is needed to build modules, the build should still succeed and just not use modules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions