Commit Graph

3251 Commits

Author SHA1 Message Date
scawful
b259980358 feat: add unified ModelRegistry for cross-provider AI model management
Implements Phase 1 from AI_API_ENHANCEMENT_HANDOFF.md to provide
unified model discovery and management across all AI providers.

Changes:
- Add ModelRegistry singleton class for centralized model tracking
- Support Ollama and Gemini providers with extensible design
- Provide ListAllModels() for unified model enumeration
- Cache model information for performance

This foundation enables Phase 2 HTTP API /api/v1/models endpoint
and future UI unification work in agent_chat_widget.cc.

Phase 1 Status: COMPLETE

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 00:22:47 -05:00
scawful
ea70209c4d docs: update coordination board and initiative tracking for Phase 2
Documents completion of HTTP API Phase 2 implementation and sandbox
dependency fixes on the agent coordination board and initiative doc.

Coordination Board Updates:
- Mark Milestone 3 (HTTP API) as COMPLETE with test results
- Document sandbox dependency fixes (yaml-cpp, googletest)
- Note gRPC blocker and decision to use CI validation
- Provide green light for CODEX smoke builds and GH workflow

Initiative Document Updates:
- Mark Milestone 3 status as COMPLETE
- Add detailed test results (health and models endpoints)
- Document Phase 2 completion timestamp

Enables handoff to CODEX for CI validation via:
  gh workflow run ci.yml --ref develop -f enable_http_api_tests=true

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 00:22:47 -05:00
scawful
9c67c12cd9 ci: add HTTP API test toggle to workflow_dispatch
Adds enable_http_api_tests boolean input to CI workflow for remote
testing of HTTP REST API endpoints via GitHub Actions.

Changes:
- Add enable_http_api_tests workflow_dispatch input (default: false)
- Add conditional HTTP API test step to test job
- Runs scripts/agents/test-http-api.sh when enabled

Usage:
  gh workflow run ci.yml --ref develop -f enable_http_api_tests=true

Enables CI validation of HTTP API without requiring local builds or
network access for sandbox environments.

Co-Authored-By: Gemini <noreply@google.com>
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 00:22:47 -05:00
scawful
405b542e98 build: add Homebrew fallback for googletest in sandboxed environments
Adds automatic detection of Homebrew-installed googletest to support
offline/sandboxed builds (e.g., Claude Code, restricted networks).

Changes:
- Add Homebrew detection logic to cmake/dependencies/testing.cmake
- Check /opt/homebrew/opt/googletest and /usr/local/opt/googletest
- Use brew --prefix googletest for dynamic detection
- Create target aliases (gtest -> GTest::gtest) for compatibility
- Only fetch from GitHub if no local installation found
- Update macOS build docs with yaml-cpp and googletest installation

Pattern mirrors existing yaml.cmake implementation. Complements the
pre-existing yaml-cpp Homebrew fallback to minimize network dependencies.

Tested with: brew install googletest (1.17.0, 2.4MB)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 00:22:47 -05:00
scawful
7391b00553 feat: add HTTP REST API server for external agent access
Implements Phase 2 from AI_API_ENHANCEMENT_HANDOFF.md to expose yaze
functionality via HTTP endpoints for automation and external tools.

Changes:
- Add YAZE_ENABLE_HTTP_API CMake option (defaults to YAZE_ENABLE_AGENT_CLI)
- Add YAZE_HTTP_API_ENABLED compile definition when enabled
- Integrate HttpServer into z3ed with conditional compilation
- Add --http-port and --http-host CLI flags with full parsing
- Create comprehensive API documentation with examples

Initial endpoints:
- GET /api/v1/health - Server health check
- GET /api/v1/models - List available AI models from all providers

Built with mac-ai preset (46 steps, 89MB binary).
Tested both endpoints successfully on localhost:8080.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 00:22:47 -05:00
scawful
a57e420c15 windows build handoff doc 2025-11-17 09:16:24 -05:00
scawful
af0e30b3af feat: add conditional gRPC include directory in CMake configuration
- Introduced a conditional inclusion of the Abseil library in the yaze_util target when YAZE_ENABLE_GRPC is enabled, enhancing support for gRPC features.
- This change improves modularity and ensures that necessary dependencies are included only when required, streamlining the build process.
2025-11-17 00:16:03 -05:00
scawful
99e6106721 feat: introduce detailed error handling for flag parsing
- Added a new utility function, detail::FlagParseFatal, to handle fatal errors during flag parsing, improving error reporting and program termination.
- Replaced existing runtime error throws with calls to FlagParseFatal for unrecognized flags and parsing failures, ensuring consistent error handling.
- Updated header file to declare the new function, enhancing code organization and clarity.
2025-11-16 23:23:44 -05:00
scawful
6c82f39aa6 feat: enhance CMake configuration for conditional AI test inclusion
- Updated CMakeLists.txt to conditionally include AI GUI controller tests and experimental AI test suites based on the YAZE_ENABLE_AI_RUNTIME flag.
- Added status messages to inform users when AI tests are skipped due to the runtime being disabled, improving clarity in the build process.
- This change ensures that tests related to AI features are only compiled and run when the appropriate runtime is enabled, enhancing modularity and build efficiency.
2025-11-16 22:17:31 -05:00
scawful
f90101764b feat: update CMake configuration to include new AI service sources
- Added proposal_executor.cc and ai_service.cc to the YAZE_AGENT_CORE_SOURCES for improved AI functionality.
- Adjusted conditional source inclusion for AI runtime, ensuring proper handling of AI features based on build configuration.
- Introduced a service factory stub for AI services when the runtime is disabled, enhancing testing capabilities.
2025-11-16 21:54:33 -05:00
scawful
24078301be feat: implement conditional AI runtime features based on build configuration
- Added conditional compilation for AI services and callbacks based on the YAZE_AI_RUNTIME_AVAILABLE flag.
- Implemented stubs for AI service methods to return errors when the AI runtime is disabled, enhancing error handling.
- Updated GeminiAIService and OllamaAIService to provide appropriate responses when AI features are not available.
- Introduced a new service factory stub to create mock AI services when the runtime is disabled, improving testing capabilities.
2025-11-16 21:54:20 -05:00
scawful
61c99ecfcd feat: enhance CMake configuration and CI workflow for AI features
- Added new build options for agent UI and remote automation in CMake presets, improving modularity.
- Updated CI workflow to enable AI runtime and agent UI during builds, ensuring compatibility with new features.
- Adjusted default Ollama model in scripts and documentation to reflect the lightweight version used in CI.
- Enhanced agent test suite script to support model overrides, improving flexibility for testing scenarios.
2025-11-16 21:36:04 -05:00
scawful
a5d98ad83c refactor: reorganize submodule structure and enhance CMake configuration
- Moved all third-party libraries (SDL, ImGui, Asar, etc.) from `src/lib/` and `third_party/` to a new `ext/` directory for better organization and clarity in dependency management.
- Updated CMake configuration to reflect the new paths, ensuring all targets and includes point to the `ext/` directory.
- Enhanced CMake presets to support new build options for AI and gRPC features, improving modularity and build flexibility.
- Added new feature flags for agent UI and remote automation, allowing for more granular control over build configurations.
- Updated documentation to reflect changes in the project structure and build options, ensuring clarity for contributors and users.
2025-11-16 18:27:37 -05:00
scawful
8635660d9d feat: enhance agent configuration and chat history management
- Introduced AgentConfigSnapshot structure to encapsulate agent configuration settings, including model metadata, tool preferences, and automation options.
- Updated AgentChatHistoryCodec to support serialization and deserialization of agent configuration, warnings, and model metadata.
- Enhanced AgentChatHistoryPopup with provider filtering and message pinning functionality for improved user experience.
- Added new methods for managing agent settings and builder workflows, facilitating better integration of agent configurations into the chat interface.
- Documented the new Agent Builder workflow in README for clarity on usage and features.
2025-11-16 17:48:30 -05:00
scawful
4d5d817628 Remove deprecated dependabot configuration and update dependency architecture documentation for clarity and organization 2025-11-07 09:09:03 -05:00
scawful
8a839ba567 docs: reorganize documentation layout 2025-11-07 08:59:11 -05:00
scawful
e556c5f988 chore: configure Git for long paths and safe directories in gRPC setup
- Added Git configuration to handle long paths and ensure safe directory access when cloning gRPC dependencies.
- This change aims to improve compatibility and reliability during the build process, particularly for environments with long file paths.
2025-11-07 08:15:40 -05:00
scawful
57759ffeaf fix: temporarily disable utf8_range installation in gRPC configuration
- Added a workaround to prevent utf8_range export errors in gRPC 1.67.1 by disabling its installation.
- Set CMAKE_SKIP_INSTALL_RULES to TRUE during gRPC loading to avoid conflicts with Abseil installation settings.
- Re-enabled installation rules after gRPC is loaded to maintain proper build configuration.
2025-11-07 07:58:59 -05:00
scawful
43fff327d8 fix: adjust gRPC and testing dependencies in CMake configuration
- Updated the CMake configuration to load testing dependencies before gRPC when both are enabled, preventing export errors related to gmock.
- Ensured that testing dependencies are loaded after gRPC if tests are enabled but gRPC is not, maintaining proper dependency order.
- Added logic to guard CMake's package lookup for gRPC, ensuring consistent toolchain usage and preventing conflicts with system-installed versions.
- Implemented checks for target availability and improved error handling for missing gRPC components, enhancing build reliability.
2025-11-05 21:10:33 -05:00
scawful
e8d4f9a41f refactor: disable protobuf and Abseil installation in gRPC configuration
- Updated gRPC configuration to disable installation of protobuf and Abseil, streamlining the build process and reducing unnecessary dependencies.
- This change aligns with ongoing efforts to enhance build efficiency and maintainability across platforms.
2025-11-05 19:18:45 -05:00
scawful
8ec10aca87 refactor: disable Abseil installation in gRPC configuration
- Updated gRPC configuration to disable Abseil installation, ensuring it is only included when necessary.
- This change aims to streamline the build process and reduce unnecessary dependencies, aligning with recent CI improvements.

This adjustment supports ongoing efforts to enhance build efficiency and maintainability across platforms.
2025-11-05 19:12:03 -05:00
scawful
27131ba449 feat: enable gRPC in CI builds and update Abseil dependencies
- Updated CI presets for Linux, macOS, and Windows to enable gRPC, improving build performance with caching.
- Adjusted Abseil inclusion logic to only include standalone Abseil when gRPC is disabled, ensuring compatibility and reducing unnecessary dependencies.
- Enhanced the list of exported Abseil targets from gRPC's bundled version for better utility access.

This change aims to streamline CI processes while maintaining the necessary dependencies for successful builds.
2025-11-05 11:19:43 -05:00
scawful
a4a826274a fix: include Abseil when gRPC is disabled
Abseil is required for failure_signal_handler and other utilities
used by the application even when gRPC is disabled. This fixes CI
build failures on Ubuntu where Abseil targets were not found when
gRPC was disabled in CI presets.
2025-11-05 11:15:13 -05:00
scawful
8a21b96062 Merge branch 'claude/debug-ci-build-failures-011CUmiMP8xwyFa1kdhkJGaX' into develop
fix: resolve Windows and Linux CI build failures

- Add platform-specific CI presets (ci-linux, ci-macos, ci-windows)
- Disable gRPC in CI builds to reduce build time from 40+ min to 5-10 min
- Fix gRPC version to 1.67.1 for MSVC compatibility
- Update run-tests action to use CTest presets
- Add comprehensive CI build failure analysis documentation

Resolves CI build failures on Windows (MSVC gRPC errors) and Linux (timeouts)
2025-11-05 11:12:35 -05:00
scawful
b9777e9b7c fix: update run-tests action to use CTest presets for consistency 2025-11-04 21:48:47 -05:00
scawful
c1ee6f197e Merge remote-tracking branch 'origin/develop' into claude/debug-ci-build-failures-011CUmiMP8xwyFa1kdhkJGaX 2025-11-04 21:48:38 -05:00
Claude
445de5b7cf fix: implement platform-specific CI presets to resolve build failures
This commit implements the fixes identified in CI_BUILD_FAILURE_ANALYSIS.md
to ensure stable, fast CI builds across all platforms.

Changes:
1. Add platform-specific CI presets (ci-linux, ci-macos, ci-windows)
   - Disable gRPC to avoid 30-40 min build times and MSVC errors
   - Use minimal build configuration for faster, reliable CI
   - Expected build time reduction: ~40 min -> 5-10 min

2. Update CI workflow to use platform-specific presets
   - Build job now uses ci-linux, ci-macos, ci-windows
   - Test job now uses platform-specific presets
   - Ensures consistent behavior across all platforms

3. Fix gRPC version for Windows MSVC compatibility
   - Downgrade from v1.75.1 to v1.67.1
   - v1.75.1 has UPB compilation errors on Windows MSVC
   - v1.67.1 is tested and stable on all platforms

4. Update test presets to use 'minimal' configuration
   - Ensures test presets work on all platforms
   - Consistent with new CI approach

Benefits:
- Eliminates Windows MSVC gRPC compilation errors
- Prevents Linux CI timeout issues from long gRPC builds
- Reduces CI build time by ~75% (40 min -> 5-10 min)
- Maintains build stability for releases
- No symbol linkage conflicts (verified)

Technical Notes:
- Test executables use gtest_main (no main() conflicts)
- Main app (yaze), emulator (yaze_emu), and tests are separate executables
- Shared libraries (yaze_core, yaze_gfx, etc.) properly isolated
- gRPC disabled in CI but still available for local dev builds
2025-11-03 22:15:50 +00:00
Claude
84082ed370 docs: add comprehensive CI/CD build failure analysis
Add detailed root cause analysis for Windows and Linux CI build failures.
Key findings:
- gRPC version 1.75.1 has MSVC compilation errors on Windows
- CPM configuration missing Windows version override logic
- Long gRPC build times (30-40 min) causing potential timeouts
- CI preset forces gRPC build even though it's optional

Recommended solution: Use platform-specific CI presets with gRPC disabled
to reduce build times from 40 min to 5-10 min and eliminate errors.

Document includes:
- Detailed root cause analysis
- Multiple solution options with code examples
- 3-phase implementation plan
- Testing procedures and risk assessment
2025-11-03 22:08:26 +00:00
scawful
a9f0b8eb9c chore: update CMake dependency configurations to remove PARENT_SCOPE
- Removed PARENT_SCOPE from various dependency target definitions in CMake files (grpc.cmake, imgui.cmake, sdl2.cmake, testing.cmake, yaml.cmake).
- Ensured that all targets are set locally for better clarity and management.

Benefits:
- Simplifies the dependency management process and improves the readability of CMake configurations.
2025-11-01 11:32:16 -04:00
scawful
7ce08b7e13 chore: update ImGui configuration and remove legacy CMake file
- Incremented cache revision in dependencies.lock to trigger rebuild.
- Deleted obsolete imgui.cmake file to streamline project structure.
- Updated imgui.cmake to set C++ standard requirement for ImGui and its test engine.

Benefits:
- Simplifies dependency management and ensures compatibility with C++17.
- Cleans up unused files, improving project maintainability.
2025-11-01 11:29:56 -04:00
scawful
66565a5229 chore: update gRPC dependency configuration in CMake
- Incremented cache revision in dependencies.lock to trigger CPM cache invalidation.
- Modified gRPC package configuration to disable submodule recursion and enable shallow cloning for improved fetch efficiency.

Benefits:
- Ensures up-to-date dependency management and optimizes the build process.
2025-11-01 11:27:35 -04:00
scawful
3b94b121df fix: remove invalid backtick before colon in PowerShell string
Line 205 had '$dir`: $_' which is invalid PowerShell syntax.
Changed to '$dir': $_' (regular colon without backtick escape).

PowerShell backticks are only needed for:
- Escape sequences (`n for newline, `t for tab)
- Line continuation
- Escaping special chars like $, `, "

Colons in strings don't need escaping and the backtick was causing
'missing terminator' parse errors.
2025-11-01 11:22:00 -04:00
scawful
adc1bfa7a2 feat: enhance Windows build environment verification script
Add comprehensive checks for Windows development tools:
- Ninja build system detection (required for win-dbg presets)
- NASM assembler check (needed for gRPC/BoringSSL builds)
- VS Code and CMake Tools extension detection
- CMakePresets.json validation with Windows preset enumeration
- Detailed Visual Studio component verification (C++ tools, SDKs, CMake support)

Improve user experience:
- Smart preset recommendations based on installed tools
- Separate guidance for Visual Studio, VS Code, and command-line workflows
- Context-aware help messages (Ninja vs VS generator presets)
- Enhanced troubleshooting section with tool-specific solutions
- Added verbose mode to list all available presets

The script now provides tailored next-steps based on the user's environment,
recommending win-vs-* presets when Ninja is missing, and win-* presets when
Ninja is available for faster builds.
2025-11-01 11:13:28 -04:00
scawful
6618b90b51 fix: resolve CI/CD action file issues and add Windows build presets
- Fix .gitignore overly broad 'build*/' pattern that was ignoring .github/actions/build-project/
- Add missing build-project action file to repository
- Add comprehensive Windows CMake presets (win-dbg, win-rel, win-ai, win-vs-*, etc.)
- Add windows-base and windows-vs-base hidden presets for Ninja and Visual Studio generators
- Remove needs: build dependency from test job to allow parallel testing
- Support both x64 and ARM64 Windows architectures
- Configure MSVC runtime library settings for static linking

Fixes GitHub Actions errors: 'Can't find action.yml under build-project'
2025-11-01 11:09:26 -04:00
scawful
25a0fb6d3a chore: add Windows build presets and configurations to CMake
- Introduced multiple new CMake presets for Windows, including base presets for Ninja and Visual Studio generators, as well as specific configurations for Debug, Release, and Development builds.
- Added ARM64 support and various build options for AI development and z3ed CLI.
- Enhanced the build system's flexibility by allowing users to select from a range of configurations tailored for different development needs.

Benefits:
- Streamlines the build process for Windows environments, improving usability for developers.
- Provides comprehensive support for various build types and architectures, enhancing the overall development experience.
2025-11-01 11:07:02 -04:00
scawful
262647d9e2 chore: add validation script for GitHub Actions composite actions
- Introduced a new script, `validate-actions.sh`, to validate the structure of GitHub Actions composite actions, ensuring required fields are present and correctly configured.
- The script checks for the existence of action files, required fields, and proper references in the CI workflow, enhancing the reliability of CI processes.

Benefits:
- Improves the integrity of GitHub Actions by automating validation checks, reducing the likelihood of misconfigurations.
- Streamlines the CI workflow by ensuring that all actions are correctly defined and referenced before execution.
2025-11-01 10:53:50 -04:00
scawful
746ade46ee chore: add comprehensive build documentation and troubleshooting guides
- Created a new README.md for GitHub Actions composite actions, detailing available actions, inputs, and usage instructions for the YAZE CI/CD pipeline.
- Added a BUILD-GUIDE.md to provide a detailed overview of the build process across macOS, Linux, and Windows, including quick start commands and build system configurations.
- Introduced a BUILD-TROUBLESHOOTING.md to address common build issues, platform-specific problems, and provide solutions, enhancing the developer experience and support.

Benefits:
- Improves onboarding and usability for developers by providing clear and structured documentation.
- Facilitates easier troubleshooting and understanding of the build process across different platforms.
2025-11-01 10:49:00 -04:00
scawful
c4cf5e918f chore: refactor CI workflow to streamline code checkout process
- Removed the code checkout step from the custom setup action and added it directly in the CI workflow steps for better clarity and control.
- This change ensures that the code is checked out before the build environment is set up, improving the overall workflow execution.

Benefits:
- Enhances the CI process by making the code checkout explicit and easier to manage within the workflow.
2025-10-31 20:28:22 -04:00
scawful
91b3c9ede9 chore: update development setup and configuration for improved usability
- Modified `.vscode/settings.json` to use workspace-relative paths for `compileCommands` and `buildDirectory`, enhancing portability across different environments.
- Updated task labels in `tasks.json` for clarity, renaming them to reflect their specific CMake operations.
- Added new tasks for cleaning builds and running tests, streamlining the development workflow.

Benefits:
- Improves the development experience by ensuring configurations are adaptable and tasks are clearly defined, facilitating easier project management.
2025-10-31 20:21:05 -04:00
scawful
ef07dc0012 chore: update configuration files and enhance dependency management
- Added new entries to `.pre-commit-config.yaml`, `cmake-format.yaml`, and `.github/dependabot.yml` to improve code quality checks and dependency updates.
- Enhanced GitHub Actions workflows by adding new steps for testing and build retention.
- Introduced support for the nlohmann_json library in CMake, allowing for conditional inclusion based on the `YAZE_ENABLE_JSON` option.
- Updated CMake configurations to streamline SDL2 and gRPC integration, ensuring proper linking and target management.

Benefits:
- Improves code quality and consistency through automated checks and formatting.
- Enhances dependency management and build reliability across platforms.
- Provides flexibility for users to enable optional features, improving overall functionality.
2025-10-31 20:20:31 -04:00
scawful
d07c0abae8 chore: enhance clangd and CI configurations for improved development experience
- Updated `.clangd` configuration to include additional include paths and feature flags tailored for ROM hacking workflows, optimizing IntelliSense support.
- Introduced `.pre-commit-config.yaml` for managing code quality checks and formatting, ensuring consistent code style across the project.
- Added `cmake-format.yaml` for CMake formatting configuration, promoting adherence to style guidelines.
- Enhanced CI workflows to include new actions for testing and building, improving overall reliability and efficiency in the development process.

Benefits:
- Streamlines development setup and improves code quality through automated checks.
- Facilitates better collaboration by ensuring consistent coding standards and configurations.
2025-10-31 20:19:22 -04:00
scawful
c0f31131e2 chore: update CI workflow to include gRPC installation on macOS
- Added gRPC installation to the macOS section of the CI workflow, ensuring that the necessary dependencies are available for builds.
- Updated the GitHub path to include the gRPC prefix, improving accessibility for subsequent build steps.

Benefits:
- Enhances the CI process by ensuring all required tools are installed, leading to more reliable builds.
2025-10-23 13:50:02 -04:00
scawful
ef1796aa1c chore: update CI workflow and gRPC CMake configuration
- Modified the CI workflow to remove the `build/_deps` directory during the clean-up process, ensuring a more thorough cache reset.
- Updated gRPC CMake configuration to disable reflection support, further optimizing the build process by preventing unnecessary proto generation.

Benefits:
- Enhances the CI workflow by ensuring a clean build environment.
- Improves build efficiency by reducing unnecessary steps in gRPC integration.
2025-10-23 11:57:29 -04:00
scawful
1668e8add7 chore: update yaze_emu_test linking to include core libraries
- Added `yaze_app_core_lib` and `yaze_editor` to the linking of the `yaze_emu_test` target in the CMake configuration.
- This change enhances the test's access to core application functionalities, improving test coverage and reliability.

Benefits:
- Ensures that the emulator tests have the necessary dependencies linked, facilitating more comprehensive testing of the emulator's features.
2025-10-21 21:28:15 -04:00
scawful
c25eb95081 chore: add Linux CI package list and update gRPC CMake configuration
- Introduced a new file for Linux CI package dependencies to streamline the installation process.
- Updated gRPC CMake configuration to disable C++ reflection support, reducing unnecessary proto generation.

Benefits:
- Enhances the CI workflow by clearly defining required packages for Linux builds.
- Improves build efficiency by avoiding extra generation steps in gRPC integration.
2025-10-21 15:53:18 -04:00
scawful
ad48c0c4dd chore: update CI workflow for Linux and macOS dependency installation
- Modified the CI configuration to enhance the installation of Linux packages by using a more efficient command.
- Updated macOS dependency installation to include LLVM version 18 and set the LLVM_PREFIX in the GitHub path for better accessibility.

Benefits:
- Streamlines the CI process for Linux and macOS, improving build reliability and ensuring necessary tools are available for the build environment.
2025-10-21 15:11:41 -04:00
scawful
4d60899ba4 chore: add Linux build presets and CI configurations
- Introduced new CMake presets for Linux release and AI builds, enhancing cross-platform support.
- Updated CI workflows to include Linux build configurations, ensuring consistent build processes across platforms.
- Added a new release packaging script to streamline artifact creation for different operating systems.

Benefits:
- Improves build flexibility and reliability for Linux users.
- Simplifies the release process by automating artifact packaging and checksum generation.
2025-10-21 14:34:01 -04:00
scawful
8fb496a100 chore: enhance gRPC CMake configuration for improved target resolution
- Added logic to handle gRPC target resolution, allowing for fallback to bare names when using FetchContent or vcpkg.
- Updated the handling of CMAKE_CROSSCOMPILING to ensure proper configuration for host builds, preventing issues with protoc binary location.
- Adjusted target_add_protobuf function to use generator expressions for better compatibility and maintainability.

Benefits:
- Improves build reliability and flexibility when integrating gRPC support.
- Ensures correct handling of cross-compilation scenarios, enhancing compatibility across platforms.
2025-10-21 13:33:35 -04:00
scawful
88b3070d67 chore: enhance CMake configuration for gRPC and dependencies
- Added optional gRPC support in CMake, allowing for conditional inclusion based on the `YAZE_WITH_GRPC` option.
- Updated the handling of the FTXUI library to ensure it is fetched if not found, improving build reliability.
- Streamlined dependency management by including the `dependencies.cmake` file in the appropriate location.

Benefits:
- Provides flexibility for users to enable gRPC support, enhancing functionality.
- Improves build process by ensuring necessary libraries are available and properly configured.
2025-10-21 12:53:59 -04:00
scawful
301ee5a1d7 chore: update CMake configuration for ARM64 macOS builds
- Added settings to disable x86-specific optimizations in the CMake configuration for ARM64 macOS builds, ensuring compatibility and stability.
- Removed redundant x86-specific settings that were previously included, streamlining the configuration.

Benefits:
- Enhances build compatibility for ARM64 macOS users by preventing the inclusion of incompatible optimizations.
2025-10-18 16:11:25 -04:00