chore: update CI workflows and vcpkg configuration

- Removed unused gRPC and protobuf dependencies from `vcpkg.json`.
- Updated CI configuration to enable vcpkg installation for SDL2 and yaml-cpp.
- Added support for MSVC in CI workflows and improved caching strategies for vcpkg packages.
- Enhanced logging in build steps to provide better feedback on dependency status and build progress.
This commit is contained in:
scawful
2025-10-17 11:20:25 -04:00
parent 3cf2b89926
commit 7a8738ca7c
5 changed files with 143 additions and 40 deletions

View File

@@ -16,7 +16,7 @@ option(YAZE_USE_VCPKG_GRPC "Use vcpkg pre-compiled gRPC packages (Windows only)"
if(WIN32 AND YAZE_USE_VCPKG_GRPC)
message(STATUS "Attempting to use vcpkg gRPC packages for faster Windows builds...")
message(STATUS " Note: This is only for full builds with YAZE_WITH_GRPC=ON")
message(STATUS " Note: If gRPC not in vcpkg.json, will fallback to FetchContent (recommended)")
# Debug: Check if vcpkg toolchain is being used
if(DEFINED VCPKG_TOOLCHAIN)
@@ -238,21 +238,15 @@ if(WIN32 AND YAZE_USE_VCPKG_GRPC)
message(STATUS "gRPC setup complete via vcpkg (includes bundled Abseil)")
return()
else()
message(WARNING "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
message(WARNING " vcpkg gRPC not found")
message(WARNING " For faster builds (5 min vs 45 min), install:")
message(WARNING " ")
message(WARNING " vcpkg install grpc:x64-windows")
message(WARNING " ")
message(WARNING " Then configure with:")
message(WARNING " cmake -DCMAKE_TOOLCHAIN_FILE=<vcpkg>/scripts/buildsystems/vcpkg.cmake ..")
message(WARNING " ")
message(WARNING " Falling back to FetchContent (slow but works)")
message(WARNING " Using gRPC v1.67.1 (MSVC-compatible)")
message(WARNING "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
message(STATUS "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
message(STATUS " vcpkg gRPC not found (expected if removed from vcpkg.json)")
message(STATUS " Using FetchContent build (faster with caching)")
message(STATUS " First build: ~10-15 min, subsequent: <1 min (cached)")
message(STATUS " Using gRPC v1.67.1 for Windows compatibility")
message(STATUS "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
endif()
endif()
# If we reach here, vcpkg wasn't used - fall back to standard grpc.cmake
message(STATUS "Using FetchContent for gRPC (standard path)")
message(STATUS "Using FetchContent for gRPC (recommended path for Windows)")
set(YAZE_GRPC_CONFIGURED FALSE PARENT_SCOPE)