backend-infra-engineer: Release v0.3.3 snapshot
This commit is contained in:
@@ -29,9 +29,10 @@ target_precompile_headers(yaze_net PRIVATE
|
||||
|
||||
target_include_directories(yaze_net PUBLIC
|
||||
${CMAKE_SOURCE_DIR}/src
|
||||
${CMAKE_SOURCE_DIR}/src/lib
|
||||
${CMAKE_SOURCE_DIR}/src/lib/imgui
|
||||
${SDL2_INCLUDE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/ext
|
||||
${CMAKE_SOURCE_DIR}/ext/imgui
|
||||
${CMAKE_SOURCE_DIR}/ext/json/include
|
||||
${CMAKE_SOURCE_DIR}/ext/httplib
|
||||
${PROJECT_BINARY_DIR}
|
||||
)
|
||||
|
||||
@@ -39,13 +40,14 @@ target_link_libraries(yaze_net PUBLIC
|
||||
yaze_util
|
||||
yaze_common
|
||||
${ABSL_TARGETS}
|
||||
${YAZE_SDL2_TARGETS}
|
||||
)
|
||||
|
||||
# Add JSON and httplib support if enabled
|
||||
if(YAZE_WITH_JSON)
|
||||
target_include_directories(yaze_net PUBLIC
|
||||
${CMAKE_SOURCE_DIR}/third_party/json/include
|
||||
${CMAKE_SOURCE_DIR}/third_party/httplib)
|
||||
# Link nlohmann_json which provides the include directories automatically
|
||||
target_link_libraries(yaze_net PUBLIC nlohmann_json::nlohmann_json)
|
||||
target_include_directories(yaze_net PUBLIC ${CMAKE_SOURCE_DIR}/ext/httplib)
|
||||
target_compile_definitions(yaze_net PUBLIC YAZE_WITH_JSON)
|
||||
|
||||
# Add threading support (cross-platform)
|
||||
@@ -55,18 +57,30 @@ if(YAZE_WITH_JSON)
|
||||
# Only link OpenSSL if gRPC is NOT enabled (to avoid duplicate symbol errors)
|
||||
# When gRPC is enabled, it brings its own OpenSSL which we'll use instead
|
||||
if(NOT YAZE_WITH_GRPC)
|
||||
find_package(OpenSSL QUIET)
|
||||
if(OpenSSL_FOUND)
|
||||
target_link_libraries(yaze_net PUBLIC OpenSSL::SSL OpenSSL::Crypto)
|
||||
target_compile_definitions(yaze_net PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT)
|
||||
message(STATUS " - WebSocket with SSL/TLS support enabled")
|
||||
# CRITICAL FIX: Disable OpenSSL on Windows to avoid missing header errors
|
||||
# Windows CI doesn't have OpenSSL headers properly configured
|
||||
# WebSocket will work with plain HTTP (no SSL/TLS) on Windows
|
||||
if(NOT WIN32)
|
||||
find_package(OpenSSL QUIET)
|
||||
if(OpenSSL_FOUND)
|
||||
target_link_libraries(yaze_net PUBLIC OpenSSL::SSL OpenSSL::Crypto)
|
||||
target_compile_definitions(yaze_net PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT)
|
||||
message(STATUS " - WebSocket with SSL/TLS support enabled")
|
||||
else()
|
||||
message(STATUS " - WebSocket without SSL/TLS (OpenSSL not found)")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS " - WebSocket without SSL/TLS (OpenSSL not found)")
|
||||
message(STATUS " - Windows: WebSocket using plain HTTP (no SSL) - OpenSSL headers not available in CI")
|
||||
endif()
|
||||
else()
|
||||
# When gRPC is enabled, still enable OpenSSL features but use gRPC's OpenSSL
|
||||
target_compile_definitions(yaze_net PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT)
|
||||
message(STATUS " - WebSocket with SSL/TLS support enabled via gRPC's OpenSSL")
|
||||
# CRITICAL: Skip on Windows - gRPC's OpenSSL headers aren't accessible in Windows CI
|
||||
if(NOT WIN32)
|
||||
target_compile_definitions(yaze_net PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT)
|
||||
message(STATUS " - WebSocket with SSL/TLS support enabled via gRPC's OpenSSL")
|
||||
else()
|
||||
message(STATUS " - Windows + gRPC: WebSocket using plain HTTP (no SSL) - OpenSSL headers not available")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Windows-specific socket library
|
||||
@@ -78,21 +92,7 @@ endif()
|
||||
|
||||
# Add gRPC support for ROM service
|
||||
if(YAZE_WITH_GRPC)
|
||||
target_add_protobuf(yaze_net ${PROJECT_SOURCE_DIR}/src/protos/rom_service.proto)
|
||||
|
||||
target_link_libraries(yaze_net PUBLIC
|
||||
grpc++
|
||||
grpc++_reflection
|
||||
)
|
||||
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()
|
||||
endif()
|
||||
|
||||
target_link_libraries(yaze_net PUBLIC yaze_grpc_support)
|
||||
message(STATUS " - gRPC ROM service enabled")
|
||||
endif()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user