Normalize common_system integration flags to KCENON_HAS_*#278
Merged
Conversation
Add feature_flags.h header that normalizes integration detection: - Define KCENON_HAS_COMMON_SYSTEM based on legacy BUILD_WITH_COMMON_SYSTEM - Include common_system feature_flags.h when available - Provide legacy aliases for backward compatibility Part of kcenon/common_system#223 Closes #277 (partial)
…COMMON_SYSTEM Update all integration adapters to use normalized KCENON_HAS_COMMON_SYSTEM macro instead of legacy BUILD_WITH_COMMON_SYSTEM: - common_system_database_adapter.h: include feature_flags.h, use KCENON_HAS_COMMON_SYSTEM - service_registration.h: include feature_flags.h, use KCENON_HAS_COMMON_SYSTEM - common_logger_backend.h/.cpp: include feature_flags.h, use KCENON_HAS_COMMON_SYSTEM - common_result.h: include feature_flags.h, use KCENON_HAS_COMMON_SYSTEM Part of kcenon/common_system#223 Closes #277 (partial)
Update code examples and references in documentation: - README.md: note KCENON_HAS_COMMON_SYSTEM in BUILD_WITH_COMMON_SYSTEM description - STRUCTURE.md: update code examples to use KCENON_HAS_COMMON_SYSTEM - TYPE_SYSTEM.md: update conditional description - FAQ.md: update integration example with feature_flags.h include - ARCHITECTURE.md: update code example Part of kcenon/common_system#223 Closes #277
Contributor
Benchmark ResultsNo comparison reports available. Baseline may not be established yet. |
Add ${CMAKE_SOURCE_DIR}/include to target_include_directories for both
static library and header-only cases. This allows integrated code to
include headers from include/kcenon/database/ using angle brackets.
Fixes build failure due to missing kcenon/database/config/feature_flags.h
kcenon
added a commit
that referenced
this pull request
Apr 13, 2026
* feat(config): add unified feature_flags.h for KCENON_* macros Add feature_flags.h header that normalizes integration detection: - Define KCENON_HAS_COMMON_SYSTEM based on legacy BUILD_WITH_COMMON_SYSTEM - Include common_system feature_flags.h when available - Provide legacy aliases for backward compatibility Part of kcenon/common_system#223 Closes #277 (partial) * refactor(adapters): replace BUILD_WITH_COMMON_SYSTEM with KCENON_HAS_COMMON_SYSTEM Update all integration adapters to use normalized KCENON_HAS_COMMON_SYSTEM macro instead of legacy BUILD_WITH_COMMON_SYSTEM: - common_system_database_adapter.h: include feature_flags.h, use KCENON_HAS_COMMON_SYSTEM - service_registration.h: include feature_flags.h, use KCENON_HAS_COMMON_SYSTEM - common_logger_backend.h/.cpp: include feature_flags.h, use KCENON_HAS_COMMON_SYSTEM - common_result.h: include feature_flags.h, use KCENON_HAS_COMMON_SYSTEM Part of kcenon/common_system#223 Closes #277 (partial) * docs: update documentation to reference KCENON_HAS_COMMON_SYSTEM Update code examples and references in documentation: - README.md: note KCENON_HAS_COMMON_SYSTEM in BUILD_WITH_COMMON_SYSTEM description - STRUCTURE.md: update code examples to use KCENON_HAS_COMMON_SYSTEM - TYPE_SYSTEM.md: update conditional description - FAQ.md: update integration example with feature_flags.h include - ARCHITECTURE.md: update code example Part of kcenon/common_system#223 Closes #277 * fix(build): add project include directory to integrated_database target Add ${CMAKE_SOURCE_DIR}/include to target_include_directories for both static library and header-only cases. This allows integrated code to include headers from include/kcenon/database/ using angle brackets. Fixes build failure due to missing kcenon/database/config/feature_flags.h
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
feature_flags.hheader for normalized KCENON_* macrosBUILD_WITH_COMMON_SYSTEMchecks withKCENON_HAS_COMMON_SYSTEMin all integration adaptersChanges
New Files
include/kcenon/database/config/feature_flags.h- Unified feature flags header that:KCENON_HAS_COMMON_SYSTEMbased on legacyBUILD_WITH_COMMON_SYSTEMModified Files
include/kcenon/database/adapters/common_system_database_adapter.hinclude/kcenon/database/di/service_registration.hdatabase/integrated/adapters/backends/common_logger_backend.hdatabase/integrated/adapters/backends/common_logger_backend.cppdatabase/integrated/core/common_result.hREADME.md,docs/advanced/STRUCTURE.md,docs/advanced/TYPE_SYSTEM.md,docs/guides/FAQ.md,docs/advanced/ARCHITECTURE.mdTest plan
BUILD_WITH_COMMON_SYSTEM=ON- verify KCENON_HAS_COMMON_SYSTEM is setBUILD_WITH_COMMON_SYSTEM=OFF- verify fallback behavior unchangedRelated Issues