Skip to content

feat(cmake): add C++20 concepts detection for common_system#278

Merged
kcenon merged 2 commits into
mainfrom
feature/cmake-concepts-detection
Dec 9, 2025
Merged

feat(cmake): add C++20 concepts detection for common_system#278
kcenon merged 2 commits into
mainfrom
feature/cmake-concepts-detection

Conversation

@kcenon

@kcenon kcenon commented Dec 9, 2025

Copy link
Copy Markdown
Owner

Summary

  • Add check_common_concepts_support() function to ThreadSystemFeatures.cmake to detect C++20 concepts support from common_system
  • Verify compiler version requirements (GCC 10+, Clang 10+, Apple Clang 12+, MSVC 19.23+)
  • Define THREAD_HAS_COMMON_CONCEPTS macro when concepts are available
  • Update documentation (BUILD_GUIDE.md, CHANGELOG.md) in both English and Korean

Changes

CMake Configuration

  • New check_common_concepts_support() function that:
    • Checks if BUILD_WITH_COMMON_SYSTEM is enabled
    • Validates compiler version meets minimum requirements for C++20 concepts
    • Searches for common_system concepts header in multiple paths
    • Defines THREAD_HAS_COMMON_CONCEPTS=1 when all conditions are met
    • Displays available concept categories during CMake configuration

Documentation

Related Issues

Test Plan

  • CMake configuration succeeds with common_system available
  • THREAD_HAS_COMMON_CONCEPTS macro is correctly defined
  • Build completes without errors
  • Smoke tests pass

- Add check_common_concepts_support() function to ThreadSystemFeatures.cmake
- Detect common_system concepts header availability
- Verify compiler version requirements (GCC 10+, Clang 10+, MSVC 19.23+)
- Define THREAD_HAS_COMMON_CONCEPTS macro when concepts are available
- Display available concept categories during CMake configuration

Closes #276
- Update CHANGELOG.md and CHANGELOG_KO.md with issue #276 changes
- Add C++20 Concepts Support section to BUILD_GUIDE.md and BUILD_GUIDE_KO.md
- Document compiler requirements for concepts support
- List available concept categories when enabled
- Add SET_COMMON_CONCEPTS cmake option documentation
@github-actions

github-actions Bot commented Dec 9, 2025

Copy link
Copy Markdown
Contributor

📊 Performance Benchmark Results

Performance Benchmark Report

No benchmark data available.

ℹ️ No baseline reference available

This is the first benchmark run or baseline file is missing.

@kcenon kcenon merged commit e182091 into main Dec 9, 2025
25 checks passed
@kcenon kcenon deleted the feature/cmake-concepts-detection branch December 10, 2025 12:52
kcenon added a commit that referenced this pull request Apr 13, 2026
* feat(cmake): add C++20 concepts detection for common_system

- Add check_common_concepts_support() function to ThreadSystemFeatures.cmake
- Detect common_system concepts header availability
- Verify compiler version requirements (GCC 10+, Clang 10+, MSVC 19.23+)
- Define THREAD_HAS_COMMON_CONCEPTS macro when concepts are available
- Display available concept categories during CMake configuration

Closes #276

* docs: add C++20 concepts support documentation

- Update CHANGELOG.md and CHANGELOG_KO.md with issue #276 changes
- Add C++20 Concepts Support section to BUILD_GUIDE.md and BUILD_GUIDE_KO.md
- Document compiler requirements for concepts support
- List available concept categories when enabled
- Add SET_COMMON_CONCEPTS cmake option documentation
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.

Update CMake configuration for C++20 Concepts feature detection

1 participant