Skip to content

Add features.cmake for unified KCENON_* macro configuration#228

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

Add features.cmake for unified KCENON_* macro configuration#228
kcenon merged 2 commits into
mainfrom
feature/224-unified-feature-flags

Conversation

@kcenon

@kcenon kcenon commented Dec 22, 2025

Copy link
Copy Markdown
Owner

Summary

  • Add features.cmake CMake module for configuring KCENON_* compile definitions
  • Integrate features.cmake into build system and package installation
  • Update documentation with unified feature flags usage

Changes

CMake Module (cmake/features.cmake)

  • kcenon_configure_features(): Configure KCENON_WITH_* flags for targets
  • kcenon_detect_features(): Detect C++ features at configure time
  • kcenon_print_feature_config(): Debug helper for feature settings

Integration

  • Include features.cmake in CMakeLists.txt
  • Add features.cmake to install target for downstream usage
  • Update common_systemConfig.cmake.in to include features.cmake

Documentation

  • Add "Unified Feature Flags" section to FEATURES.md
  • Add legacy alias deprecation notice to DEPRECATION.md
  • Update ecosystem integration flags documentation

Test Plan

  • CMake configuration succeeds
  • Feature flag headers compile correctly
  • Legacy aliases work with KCENON_ENABLE_LEGACY_ALIASES=1

Closes #224

Add CMake module for configuring unified feature flags:

- Add kcenon_configure_features() function for setting KCENON_WITH_*
  compile definitions on targets
- Add kcenon_detect_features() function for compile-time feature
  detection (C++20, jthread, concepts)
- Add kcenon_print_feature_config() for debugging feature settings
- Integrate features.cmake into CMakeLists.txt and install target
- Update common_systemConfig.cmake.in to include features.cmake

This completes the CMake export requirement for issue #224.
- Add "Unified Feature Flags" section to FEATURES.md describing
  KCENON_* macros for C++ feature detection and system integration
- Document features.cmake usage and available CMake functions
- Add legacy alias deprecation notice to DEPRECATION.md with
  migration guide from old macro names to KCENON_* convention
- Update "Ecosystem Integration Flags" section with new macro names
@kcenon kcenon merged commit ac78647 into main Dec 22, 2025
19 checks passed
@kcenon kcenon deleted the feature/224-unified-feature-flags branch December 22, 2025 21:30
kcenon added a commit that referenced this pull request Apr 13, 2026
* feat(cmake): add features.cmake for KCENON_* macro configuration

Add CMake module for configuring unified feature flags:

- Add kcenon_configure_features() function for setting KCENON_WITH_*
  compile definitions on targets
- Add kcenon_detect_features() function for compile-time feature
  detection (C++20, jthread, concepts)
- Add kcenon_print_feature_config() for debugging feature settings
- Integrate features.cmake into CMakeLists.txt and install target
- Update common_systemConfig.cmake.in to include features.cmake

This completes the CMake export requirement for issue #224.

* docs: add unified feature flags documentation

- Add "Unified Feature Flags" section to FEATURES.md describing
  KCENON_* macros for C++ feature detection and system integration
- Document features.cmake usage and available CMake functions
- Add legacy alias deprecation notice to DEPRECATION.md with
  migration guide from old macro names to KCENON_* convention
- Update "Ecosystem Integration Flags" section with new macro names
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