Skip to content

CMake: use list of experimental feature UUIDs per Cmake version#11

Merged
Arctis-Fireblight merged 2 commits intoRedot-Engine:masterfrom
OldDev78:cmake-import-std-uuids
Mar 25, 2026
Merged

CMake: use list of experimental feature UUIDs per Cmake version#11
Arctis-Fireblight merged 2 commits intoRedot-Engine:masterfrom
OldDev78:cmake-import-std-uuids

Conversation

@OldDev78
Copy link
Contributor

@OldDev78 OldDev78 commented Mar 24, 2026

Temporarily provide a short list of possible C++23 modules experimental feature UUIDs for a few different CMake versions.

Minimum CMake version currently is 4.0.0

Summary by CodeRabbit

  • Chores
    • Lowered minimum CMake version requirement from 4.2 to 4.0, expanding compatibility with older build environments.
    • Updated build configuration to conditionally handle experimental C++ import features based on CMake version compatibility.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 24, 2026

📝 Walkthrough

Walkthrough

CMake configuration was made version-aware: CMAKE_EXPERIMENTAL_CXX_IMPORT_STD is now assigned conditionally in CMakeLists.txt based on CMAKE_VERSION. The project minimum CMake requirement was changed. A redundant CMAKE_EXPERIMENTAL_CXX_IMPORT_STD cache entry was removed from CMakePresets.json.

Changes

Cohort / File(s) Summary
Primary CMake file
CMakeLists.txt
Lowered cmake_minimum_required(VERSION) from 4.2 to 4.0. Introduced conditional assignments for CMAKE_EXPERIMENTAL_CXX_IMPORT_STD using distinct UUID values for CMAKE_VERSION >= 4.3.0, >= 4.0.3, and >= 4.0.0; left it unset otherwise.
Presets configuration
CMakePresets.json
Changed cmakeMinimumRequired constraint from 4.0.34.0.0. Removed the CMAKE_EXPERIMENTAL_CXX_IMPORT_STD entry from the hidden configurePresets[0].cacheVariables; other cache variables unchanged.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through CMake fields today,
UUIDs in paw I tucked away.
Versions checked with gentle thump,
No hardcoded bits to make me jump.
A tidy build — now off I play! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: introducing version-specific experimental feature UUIDs for CMake, replacing a fixed commented assignment with conditional logic based on CMAKE_VERSION.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CMakeLists.txt`:
- Around line 3-9: The branch with elseif (CMAKE_VERSION VERSION_GREATER_EQUAL
"4.0.0") is unreachable given cmake_minimum_required(VERSION 4.2); remove that
elseif block (the lines that set CMAKE_EXPERIMENTAL_CXX_IMPORT_STD for
"a9e1cf81-9932-4810-974b-6eccaf14e457") to eliminate dead code, or alternatively
lower cmake_minimum_required to 4.0.0 if you truly need to support 4.0.0–4.0.2;
update CMake logic around CMAKE_VERSION and the remaining
set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD ...) branches accordingly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6397cc07-77c0-4441-8292-188f472413a0

📥 Commits

Reviewing files that changed from the base of the PR and between 0383654 and a73bbe5.

📒 Files selected for processing (2)
  • CMakeLists.txt
  • CMakePresets.json

Copy link
Contributor

@AR-DEV-1 AR-DEV-1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@AR-DEV-1
Copy link
Contributor

@mcdubhghlas @Arctis-Fireblight Please review & merge, I need it for the rendering submodules PR & RHI. Thanks.

@Arctis-Fireblight Arctis-Fireblight merged commit 632093f into Redot-Engine:master Mar 25, 2026
1 check 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.

4 participants