Skip to content

refactor(config): adopt unified KCENON_* feature flags#334

Merged
kcenon merged 4 commits into
mainfrom
feature/adopt-kcenon-feature-flags
Dec 22, 2025
Merged

refactor(config): adopt unified KCENON_* feature flags#334
kcenon merged 4 commits into
mainfrom
feature/adopt-kcenon-feature-flags

Conversation

@kcenon

@kcenon kcenon commented Dec 22, 2025

Copy link
Copy Markdown
Owner

Summary

  • Replace THREAD_HAS_* macros with unified KCENON_HAS_* equivalents
  • Include feature_flags.h from common_system (guarded with __has_include)
  • Remove local __has_include based macro definitions in thread pool headers
  • Add legacy aliases for backward compatibility

Changes

CMake

  • ThreadSystemDependencies.cmake: Define KCENON_HAS_COMMON_EXECUTOR and KCENON_HAS_COMMON_RESULT (primary), with THREAD_HAS_* as legacy aliases
  • ThreadSystemFeatures.cmake: Define KCENON_HAS_COMMON_CONCEPTS (primary), with THREAD_HAS_COMMON_CONCEPTS as legacy alias

Headers

  • thread_pool.h: Include feature_flags.h (guarded), use KCENON_HAS_COMMON_EXECUTOR
  • typed_thread_pool.h: Include feature_flags.h (guarded), use KCENON_HAS_COMMON_EXECUTOR

Source

  • thread_pool.cpp: Use KCENON_HAS_COMMON_EXECUTOR
  • typed_thread_pool.cpp: Use KCENON_HAS_COMMON_EXECUTOR

Documentation

  • Updated CHANGELOG and CHANGELOG_KO
  • Updated BUILD_GUIDE and BUILD_GUIDE_KO

Related Issues

Test plan

  • Build with CMake
  • Run smoke tests (9 tests passed)
  • Run lockfree tests (13 tests passed)
  • Run platform tests (34 tests passed)

Closes #333

- Replace THREAD_HAS_COMMON_EXECUTOR/RESULT/CONCEPTS with KCENON_HAS_* equivalents
- Include feature_flags.h from common_system (guarded with __has_include)
- Remove local __has_include based macro definitions in thread pool headers
- Add KCENON_* as primary macros in CMake definitions
- Keep THREAD_HAS_* as legacy aliases for backward compatibility
- Update #ifdef to #if for consistent macro usage pattern

Relates to: kcenon/common_system#223, kcenon/common_system#224

Closes #333
- Add issue #333 changes to CHANGELOG and CHANGELOG_KO
- Update BUILD_GUIDE to reference KCENON_HAS_COMMON_CONCEPTS as primary macro
- Note legacy THREAD_HAS_* macros as backward compatible aliases
@kcenon kcenon mentioned this pull request Dec 22, 2025
2 tasks
@github-actions

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.

…implementations

The common_system ILogger interface removed the deprecated
log(level, message, file, line, function) method. Update example
logger implementations to use log(const log_entry&) directly.

- Remove 5-parameter log override from console_logger
- Remove 5-parameter log override from mock_logger
- Update log(log_entry) to handle output directly
@github-actions

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 6347d3a into main Dec 22, 2025
26 checks passed
@kcenon kcenon deleted the feature/adopt-kcenon-feature-flags branch December 22, 2025 13:23
kcenon added a commit that referenced this pull request Apr 13, 2026
* refactor(config): adopt unified KCENON_* feature flags

- Replace THREAD_HAS_COMMON_EXECUTOR/RESULT/CONCEPTS with KCENON_HAS_* equivalents
- Include feature_flags.h from common_system (guarded with __has_include)
- Remove local __has_include based macro definitions in thread pool headers
- Add KCENON_* as primary macros in CMake definitions
- Keep THREAD_HAS_* as legacy aliases for backward compatibility
- Update #ifdef to #if for consistent macro usage pattern

Relates to: kcenon/common_system#223, kcenon/common_system#224

Closes #333

* docs: update documentation for KCENON_* feature flags adoption

- Add issue #333 changes to CHANGELOG and CHANGELOG_KO
- Update BUILD_GUIDE to reference KCENON_HAS_COMMON_CONCEPTS as primary macro
- Note legacy THREAD_HAS_* macros as backward compatible aliases

* fix(examples): remove deprecated 5-parameter log method from ILogger implementations

The common_system ILogger interface removed the deprecated
log(level, message, file, line, function) method. Update example
logger implementations to use log(const log_entry&) directly.

- Remove 5-parameter log override from console_logger
- Remove 5-parameter log override from mock_logger
- Update log(log_entry) to handle output directly

* docs: add changelog entry for deprecated ILogger method removal fix
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.

Adopt KCENON_* feature flags

1 participant