chore: update gRPC version to v1.75.1 and remove /WHOLEARCHIVE linking

- Upgraded gRPC version from v1.68.0 to v1.75.1 for improved compatibility across all platforms.
- Removed /WHOLEARCHIVE linking for protobuf to prevent duplicate version resource errors in the dependency chain.
- Updated status messages to reflect the latest gRPC version and build optimizations.

Benefits:
- Enhances build stability and compatibility with modern toolchains.
- Simplifies linking process by avoiding unnecessary options that cause conflicts.
This commit is contained in:
scawful
2025-10-17 22:57:27 -04:00
parent 354a96d688
commit 9f56728f80
8 changed files with 15 additions and 47 deletions

View File

@@ -116,19 +116,15 @@ if(APPLE AND CMAKE_OSX_ARCHITECTURES STREQUAL "arm64")
set(ABSL_BUILD_TEST_HELPERS OFF CACHE BOOL "" FORCE)
endif()
# Declare gRPC with platform-specific versions
# - macOS/Linux: v1.75.1 (has ARM64 + modern Clang fixes)
# - Windows: v1.68.0 (stable, no protobuf resource file issues)
# Declare gRPC version - using latest for all platforms
# v1.75.1 has ARM64 + modern compiler fixes
set(_GRPC_VERSION "v1.75.1")
set(_GRPC_VERSION_REASON "Latest stable - ARM64 macOS + modern Clang/MSVC compatibility")
# Windows-specific: Disable BoringSSL ASM to avoid NASM build issues
if(WIN32)
set(_GRPC_VERSION "v1.68.0")
set(_GRPC_VERSION_REASON "Windows clang-cl + MSVC compatibility, no protobuf LNK1241 errors")
# 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()
message(STATUS "FetchContent gRPC version: ${_GRPC_VERSION} (${_GRPC_VERSION_REASON})")

View File

@@ -242,7 +242,7 @@ 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.68.0 (stable for Windows, no linker errors)")
message(STATUS " Using gRPC v1.75.1 (latest stable)")
message(STATUS " Note: BoringSSL ASM disabled for clang-cl compatibility")
message(STATUS "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━")
endif()