chore: update gRPC version and compatibility notes

- Upgraded gRPC from v1.67.1 to v1.75.1 for improved Windows compatibility.
- Disabled BoringSSL ASM optimizations for better clang-cl support.
- Updated documentation to reflect changes in build times and reasons for using FetchContent over vcpkg for gRPC.
This commit is contained in:
scawful
2025-10-17 12:10:25 -04:00
parent 7a8738ca7c
commit 63c2098a21
4 changed files with 88 additions and 62 deletions

View File

@@ -118,12 +118,15 @@ endif()
# Declare gRPC with platform-specific versions
# - macOS/Linux: v1.75.1 (has ARM64 + modern Clang fixes)
# - Windows MSVC: v1.67.1 (proven stable with MSVC, fewer UPB issues)
if(WIN32 AND MSVC)
set(_GRPC_VERSION "v1.67.1")
set(_GRPC_VERSION_REASON "MSVC-compatible, avoids UPB compilation errors")
# - Windows: v1.75.1 (better NASM/clang-cl support than v1.67.1)
set(_GRPC_VERSION "v1.75.1")
if(WIN32)
set(_GRPC_VERSION_REASON "Windows clang-cl + MSVC compatibility")
# Disable BoringSSL ASM to avoid NASM build issues on Windows
# ASM optimizations cause NASM flag conflicts with clang-cl
set(OPENSSL_NO_ASM ON CACHE BOOL "" FORCE)
message(STATUS "Disabling BoringSSL ASM optimizations for Windows build compatibility")
else()
set(_GRPC_VERSION "v1.75.1")
set(_GRPC_VERSION_REASON "ARM64 macOS + modern Clang compatibility")
endif()

View File

@@ -242,7 +242,8 @@ if(WIN32 AND YAZE_USE_VCPKG_GRPC)
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 " Using gRPC v1.75.1 with Windows compatibility fixes")
message(STATUS " Note: BoringSSL ASM disabled for clang-cl compatibility")
message(STATUS "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
endif()
endif()