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

@@ -129,11 +129,7 @@ if(YAZE_WITH_GRPC)
)
if(YAZE_PROTOBUF_TARGETS)
target_link_libraries(yaze_app_core_lib PUBLIC ${YAZE_PROTOBUF_TARGETS})
if(MSVC AND YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
foreach(_yaze_proto_target IN LISTS YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
target_link_options(yaze_app_core_lib PUBLIC /WHOLEARCHIVE:$<TARGET_FILE:${_yaze_proto_target}>)
endforeach()
endif()
# NOTE: Removed /WHOLEARCHIVE for protobuf - causes duplicate version.res in dependency chain
endif()
message(STATUS " - gRPC ROM service + canvas automation enabled")
@@ -207,11 +203,7 @@ target_link_libraries(yaze PRIVATE
)
if(YAZE_WITH_GRPC AND YAZE_PROTOBUF_TARGETS)
target_link_libraries(yaze PRIVATE ${YAZE_PROTOBUF_TARGETS})
if(MSVC AND YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
foreach(_yaze_proto_target IN LISTS YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
target_link_options(yaze PRIVATE /WHOLEARCHIVE:$<TARGET_FILE:${_yaze_proto_target}>)
endforeach()
endif()
# NOTE: Removed /WHOLEARCHIVE - already linked transitively from libraries
endif()
# Link test support library (yaze_editor needs TestManager)

View File

@@ -157,11 +157,7 @@ if(YAZE_WITH_GRPC)
)
if(YAZE_PROTOBUF_TARGETS)
target_link_libraries(yaze_editor PRIVATE ${YAZE_PROTOBUF_TARGETS})
if(MSVC AND YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
foreach(_yaze_proto_target IN LISTS YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
target_link_options(yaze_editor PRIVATE /WHOLEARCHIVE:$<TARGET_FILE:${_yaze_proto_target}>)
endforeach()
endif()
# NOTE: Removed /WHOLEARCHIVE for protobuf - causes duplicate version.res in dependency chain
endif()
endif()

View File

@@ -86,11 +86,7 @@ if(YAZE_WITH_GRPC)
)
if(YAZE_PROTOBUF_TARGETS)
target_link_libraries(yaze_net PUBLIC ${YAZE_PROTOBUF_TARGETS})
if(MSVC AND YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
foreach(_yaze_proto_target IN LISTS YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
target_link_options(yaze_net PUBLIC /WHOLEARCHIVE:$<TARGET_FILE:${_yaze_proto_target}>)
endforeach()
endif()
# NOTE: Removed /WHOLEARCHIVE for protobuf - causes duplicate version.res in dependency chain
endif()
message(STATUS " - gRPC ROM service enabled")

View File

@@ -163,11 +163,7 @@ if(YAZE_WITH_GRPC)
)
if(YAZE_PROTOBUF_TARGETS)
target_link_libraries(yaze_agent PUBLIC ${YAZE_PROTOBUF_TARGETS})
if(MSVC AND YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
foreach(_yaze_proto_target IN LISTS YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
target_link_options(yaze_agent PUBLIC /WHOLEARCHIVE:$<TARGET_FILE:${_yaze_proto_target}>)
endforeach()
endif()
# NOTE: Removed /WHOLEARCHIVE for protobuf - causes duplicate version.res in dependency chain
endif()
# Note: YAZE_WITH_GRPC is defined globally via add_compile_definitions in root CMakeLists.txt

View File

@@ -42,10 +42,6 @@ if(YAZE_WITH_GRPC)
target_link_libraries(z3ed PRIVATE grpc++ grpc++_reflection)
if(YAZE_PROTOBUF_TARGETS)
target_link_libraries(z3ed PRIVATE ${YAZE_PROTOBUF_TARGETS})
if(MSVC AND YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
foreach(_yaze_proto_target IN LISTS YAZE_PROTOBUF_WHOLEARCHIVE_TARGETS)
target_link_options(z3ed PRIVATE /WHOLEARCHIVE:$<TARGET_FILE:${_yaze_proto_target}>)
endforeach()
endif()
# NOTE: Removed /WHOLEARCHIVE for protobuf - causes duplicate version.res in dependency chain
endif()
endif()