67#if KCENON_ENABLE_LEGACY_ALIASES
74#ifndef COMMON_HAS_SOURCE_LOCATION
75 #define COMMON_HAS_SOURCE_LOCATION KCENON_HAS_SOURCE_LOCATION
80#ifndef KCENON_HAS_STD_SOURCE_LOCATION
81 #define KCENON_HAS_STD_SOURCE_LOCATION KCENON_HAS_SOURCE_LOCATION
89#ifndef USE_THREAD_SYSTEM
90 #if KCENON_WITH_THREAD_SYSTEM
91 #define USE_THREAD_SYSTEM 1
96#ifndef BUILD_WITH_THREAD_SYSTEM
97 #if KCENON_WITH_THREAD_SYSTEM
98 #define BUILD_WITH_THREAD_SYSTEM 1
103#ifndef USE_LOGGER_SYSTEM
104 #if KCENON_WITH_LOGGER_SYSTEM
105 #define USE_LOGGER_SYSTEM 1
110#ifndef BUILD_WITH_LOGGER
111 #if KCENON_WITH_LOGGER_SYSTEM
112 #define BUILD_WITH_LOGGER 1
117#ifndef USE_MONITORING_SYSTEM
118 #if KCENON_WITH_MONITORING_SYSTEM
119 #define USE_MONITORING_SYSTEM 1
124#ifndef BUILD_WITH_MONITORING
125 #if KCENON_WITH_MONITORING_SYSTEM
126 #define BUILD_WITH_MONITORING 1
131#ifndef USE_CONTAINER_SYSTEM
132 #if KCENON_WITH_CONTAINER_SYSTEM
133 #define USE_CONTAINER_SYSTEM 1
138#ifndef BUILD_WITH_CONTAINER
139 #if KCENON_WITH_CONTAINER_SYSTEM
140 #define BUILD_WITH_CONTAINER 1
149#ifndef WITH_THREAD_SYSTEM
150 #if KCENON_WITH_THREAD_SYSTEM
151 #define WITH_THREAD_SYSTEM 1
155#ifndef WITH_LOGGER_SYSTEM
156 #if KCENON_WITH_LOGGER_SYSTEM
157 #define WITH_LOGGER_SYSTEM 1
161#ifndef WITH_MONITORING_SYSTEM
162 #if KCENON_WITH_MONITORING_SYSTEM
163 #define WITH_MONITORING_SYSTEM 1
167#ifndef WITH_CONTAINER_SYSTEM
168 #if KCENON_WITH_CONTAINER_SYSTEM
169 #define WITH_CONTAINER_SYSTEM 1
185#ifdef KCENON_PRINT_FEATURE_SUMMARY
187#pragma message("=== KCENON Feature Detection Summary ===")
190#if KCENON_COMPILER_MSVC
191 #pragma message("Compiler: MSVC")
192#elif KCENON_COMPILER_CLANG
193 #pragma message("Compiler: Clang")
194#elif KCENON_COMPILER_GCC
195 #pragma message("Compiler: GCC")
197 #pragma message("Compiler: Unknown")
202 #pragma message("C++ Standard: C++23")
203#elif KCENON_HAS_CPP20
204 #pragma message("C++ Standard: C++20")
205#elif KCENON_HAS_CPP17
206 #pragma message("C++ Standard: C++17")
208 #pragma message("C++ Standard: Pre-C++17")
212#if KCENON_HAS_SOURCE_LOCATION
213 #pragma message("source_location: Available")
215 #pragma message("source_location: Unavailable (using fallback)")
218#if KCENON_HAS_JTHREAD
219 #pragma message("jthread: Available")
221 #pragma message("jthread: Unavailable")
225 #pragma message("std::format: Available")
227 #pragma message("std::format: Unavailable")
230#if KCENON_HAS_CONCEPTS
231 #pragma message("Concepts: Available")
233 #pragma message("Concepts: Unavailable")
237 #pragma message("Ranges: Available")
239 #pragma message("Ranges: Unavailable")
242#pragma message("=========================================")
252 "common_system requires C++20 or later. "
253 "Please compile with -std=c++20 or higher. "
254 "Minimum compilers: GCC 11+, Clang 14+, MSVC 2022+, Apple Clang 14+.");
Compiler and standard library feature detection.
Core KCENON_* macro definitions for feature detection.
System module integration flags.