Skip to content

feat(config): add unified feature flag headers#226

Merged
kcenon merged 2 commits into
mainfrom
feature/unified-feature-flags-224
Dec 22, 2025
Merged

feat(config): add unified feature flag headers#226
kcenon merged 2 commits into
mainfrom
feature/unified-feature-flags-224

Conversation

@kcenon

@kcenon kcenon commented Dec 22, 2025

Copy link
Copy Markdown
Owner

Summary

  • Add unified KCENON_* feature flag headers for compiler and stdlib feature detection
  • Implement feature_flags_core.h with preprocessor helpers and compiler/platform detection
  • Implement feature_detection.h for C++ standard library feature detection
  • Implement feature_system_deps.h for system module integration flags
  • Update features.cmake with export_kcenon_features() function
  • Refactor source_location.h to use unified feature detection

Key Features

  • KCENON_HAS_SOURCE_LOCATION: Detects C++20 std::source_location
  • KCENON_HAS_JTHREAD: Detects C++20 jthread via __cpp_lib_jthread / __cpp_lib_stop_token
  • KCENON_WITH_*_SYSTEM: System module integration flags
  • Legacy aliases: Backward compatibility via KCENON_ENABLE_LEGACY_ALIASES

Test Plan

  • All 105 existing tests pass
  • Headers compile standalone in common_system
  • KCENON_HAS_SOURCE_LOCATION detection works correctly
  • Legacy aliases (COMMON_HAS_SOURCE_LOCATION) remain available

Closes #224

Add unified KCENON_* feature flag headers for compiler and stdlib
feature detection:

- feature_flags_core.h: Preprocessor helpers, compiler/platform detection
- feature_detection.h: C++ std lib feature detection (source_location,
  jthread, format, ranges, etc.)
- feature_system_deps.h: System module integration flags
- feature_flags.h: Main entry point with legacy aliases

Update features.cmake with export_kcenon_features() function and
refactor source_location.h to use the new unified detection.

Closes #224
Add documentation for #224 unified feature flag headers in both
English and Korean CHANGELOG files.
@kcenon kcenon merged commit 105e0b2 into main Dec 22, 2025
19 checks passed
@kcenon kcenon deleted the feature/unified-feature-flags-224 branch December 22, 2025 06:51
kcenon added a commit that referenced this pull request Apr 13, 2026
* feat(config): add unified feature flag headers

Add unified KCENON_* feature flag headers for compiler and stdlib
feature detection:

- feature_flags_core.h: Preprocessor helpers, compiler/platform detection
- feature_detection.h: C++ std lib feature detection (source_location,
  jthread, format, ranges, etc.)
- feature_system_deps.h: System module integration flags
- feature_flags.h: Main entry point with legacy aliases

Update features.cmake with export_kcenon_features() function and
refactor source_location.h to use the new unified detection.

Closes #224

* docs: update CHANGELOG for unified feature flags

Add documentation for #224 unified feature flag headers in both
English and Korean CHANGELOG files.
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.

Add unified feature_flags headers

1 participant