Skip to content

Add CMake 4.4 import std experimental UUID - #76

Open
steve-downey wants to merge 1 commit into
bemanproject:mainfrom
steve-downey:fix/cmake-4.4-import-std-uuid
Open

Add CMake 4.4 import std experimental UUID#76
steve-downey wants to merge 1 commit into
bemanproject:mainfrom
steve-downey:fix/cmake-4.4-import-std-uuid

Conversation

@steve-downey

Copy link
Copy Markdown
Member

Problem

The vcpkg-ci / Test port templates {"modules":true} job started failing when the beman infra container (ghcr.io/bemanproject/infra-containers-gcc:latest) upgraded CMake to 4.4.0.

CMake's experimental import std feature is gated behind a per-version magic UUID in CMAKE_EXPERIMENTAL_CXX_IMPORT_STD. infra/cmake/enable-experimental-import-std.cmake had a single >= 4.3.0 branch that applied the 4.3 UUID (451f2fe2-...) to CMake 4.4 as well. CMake 4.4 rejects it:

CMake Warning (experimental) ...
  CMAKE_EXPERIMENTAL_CXX_IMPORT_STD is set to incorrect value
...
CMake Error in CMakeLists.txt:
  The "CXX_MODULE_STD" property on target "beman.expected" requires toolchain
  support, but it was not provided.  Reason:
    Experimental `import std` support not enabled when detecting toolchain ...
CMake Generate step failed.

Fix

Add a dedicated >= 4.4.0 branch using the CMake 4.4 UUID f35a9ac6-8463-4d38-8eec-5d6008153e7d, keeping the existing 4.3.x branch intact. This matches the upstream beman exemplar template.

Verified UUIDs against Help/dev/experimental.rst at the v4.3.0 and v4.4.0 CMake tags, and smoke-tested the version dispatch:

CMake UUID selected
4.3.3 451f2fe2-... (unchanged)
4.4.0 f35a9ac6-... (fix)
4.5.0 f35a9ac6-...

🤖 Generated with Claude Code

The vcpkg-ci "Test port templates {"modules":true}" job began failing
when the beman infra container upgraded CMake to 4.4.0. The
`>= 4.3.0` branch applied the 4.3 UUID (451f2fe2-...) to 4.4, which
CMake 4.4 rejects ("CMAKE_EXPERIMENTAL_CXX_IMPORT_STD is set to
incorrect value"), so CXX_MODULE_STD toolchain support was never
enabled and the generate step failed.

Add a dedicated `>= 4.4.0` branch using the 4.4 UUID
(f35a9ac6-8463-4d38-8eec-5d6008153e7d), matching the upstream beman
exemplar template.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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