refactor: Simplify CMake configuration for consistent builds

- Removed conditional feature flags for minimal builds, ensuring all features (JSON, gRPC, AI) are enabled for both CI and release configurations.
- Updated CI and release workflows to reflect the change from minimal build to full build mode, enhancing consistency across environments.
- Adjusted summary outputs in CI workflows to clarify the build mode being used.
This commit is contained in:
scawful
2025-10-09 18:34:37 -04:00
parent 418695188a
commit 6c7f301177
3 changed files with 16 additions and 35 deletions

View File

@@ -66,29 +66,14 @@ option(YAZE_MINIMAL_BUILD "Minimal build for CI (disable optional features)" OFF
option(YAZE_USE_MODULAR_BUILD "Use modularized library build system for faster builds" ON)
# ============================================================================
# Feature Flags - Conditional Based on Build Type
# Feature Flags - Always Enable All Features
# ============================================================================
# For minimal builds (CI), disable expensive optional features
# For full builds (development/release), enable all features
if(YAZE_MINIMAL_BUILD)
set(Z3ED_AI OFF)
set(YAZE_WITH_JSON ON) # Keep JSON (header-only, lightweight)
set(YAZE_WITH_GRPC OFF) # Disable gRPC (requires 15-45 min to compile)
message(STATUS "○ Minimal build: JSON only (gRPC/AI disabled for CI speed)")
set(YAZE_ENABLE_UI_TESTS OFF CACHE BOOL "Disabled for minimal build" FORCE)
set(YAZE_BUILD_Z3ED OFF CACHE BOOL "Disabled for minimal build" FORCE)
# Keep EMU and LIB enabled for comprehensive testing
set(YAZE_BUILD_EMU ON CACHE BOOL "Required for test suite" FORCE)
set(YAZE_BUILD_LIB ON CACHE BOOL "Required for test suite" FORCE)
set(YAZE_INSTALL_LIB OFF CACHE BOOL "Disabled for minimal build" FORCE)
else()
# Full build - all features enabled
set(Z3ED_AI ON)
set(YAZE_WITH_JSON ON)
set(YAZE_WITH_GRPC ON)
message(STATUS "✓ All features enabled: JSON, gRPC, AI Agent")
endif()
# CI and Release now use the same configuration for consistency
# This avoids runtime library mismatches and ensures CI tests what we ship
set(Z3ED_AI ON)
set(YAZE_WITH_JSON ON)
set(YAZE_WITH_GRPC ON)
message(STATUS "✓ All features enabled: JSON, gRPC, AI Agent")
# YAZE_SUPPRESS_WARNINGS: Suppress compiler warnings for cleaner build output
option(YAZE_SUPPRESS_WARNINGS "Suppress compiler warnings (use -v preset suffix for verbose)" ON)