Skip to content

build: lower the cmake floor from 3.24 to 3.22 - #44

Merged
tap merged 2 commits into
mainfrom
fix/cmake-3.22
Aug 27, 2026
Merged

build: lower the cmake floor from 3.24 to 3.22#44
tap merged 2 commits into
mainfrom
fix/cmake-3.22

Conversation

@tap

@tap tap commented Aug 27, 2026

Copy link
Copy Markdown
Owner

What

Lowers cmake_minimum_required from 3.24 to 3.22.

Why

Nothing here uses a feature newer than 3.22. I scanned for the usual 3.23/3.24
arrivals — FILE_SET, cmake_path, TARGET_RUNTIME_DLLS,
COMPILE_WARNING_AS_ERROR, VERIFY_INTERFACE_HEADER_SETS,
OVERRIDE_FIND_PACKAGE, DOWNLOAD_EXTRACT_TIMESTAMP — and found none of them.
The floor looks incidental rather than required.

Its one practical effect was excluding Ubuntu 22.04 LTS, which ships cmake
3.22.1. Anything consuming this repo as a submodule inherits the floor, so a
stock 22.04 machine could not configure this project, or anything built on it.

Verification

  • macOS, cmake 4.x — configure, build and tests unchanged.
  • Ubuntu 22.04 LTS, cmake 3.22.1 — configures and passes, where it previously
    refused outright.

Note

The dsptap submodule carries the same incidental floor and has a companion PR.
Both are needed before a 22.04 machine can configure this project.

🤖 Generated with Claude Code

tap and others added 2 commits August 26, 2026 18:59
Nothing here uses a feature newer than 3.22. A scan of the 119-line CMakeLists
for the usual 3.23/3.24 arrivals -- FILE_SET, cmake_path, TARGET_RUNTIME_DLLS,
COMPILE_WARNING_AS_ERROR, VERIFY_INTERFACE_HEADER_SETS, OVERRIDE_FIND_PACKAGE,
DOWNLOAD_EXTRACT_TIMESTAMP -- finds none of them. The floor appears incidental:
whatever the author had installed, rather than something the build needs.

Its one practical effect was excluding Ubuntu 22.04 LTS, which ships cmake
3.22.1. Anything consuming this repo as a submodule inherits the floor, so a
stock 22.04 machine could not configure this project or anything built on it.

The dsptap submodule carries the same incidental floor, so this change alone is
not enough to configure on 22.04; a companion PR lowers it there.

Verified: unchanged on macOS with cmake 4.x, and now configures and passes on
Ubuntu 22.04 LTS with cmake 3.22.1, where it previously refused outright.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
dsptap carried the same incidental 3.24 floor as this repo, which meant lowering
the floor here alone still left a stock Ubuntu 22.04 LTS machine unable to
configure: the nested submodule refused first.

That change is merged upstream, so this moves the pin onto it. Together with the
previous commit, this repo now configures on cmake 3.22.

  ff6fc6c..41215c6

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tap
tap merged commit 003319e into main Aug 27, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant