diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 4518576b569..8fd070e771d 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -3657,8 +3657,25 @@ macro(build_grpc) # Yuck, see https://stackoverflow.com/a/45433229/776560 string(REPLACE ";" "|" GRPC_PREFIX_PATH_ALT_SEP "${GRPC_CMAKE_PREFIX}") + set(GRPC_C_FLAGS "${EP_C_FLAGS}") + set(GRPC_CXX_FLAGS "${EP_CXX_FLAGS}") + if(NOT MSVC) + # Negate warnings that gRPC cannot build under + # See https://github.com/grpc/grpc/issues/29417 + set(GRPC_C_FLAGS + "${GRPC_C_FLAGS} -Wno-attributes -Wno-format-security -Wno-unknown-warning-option" + ) + set(GRPC_CXX_FLAGS + "${GRPC_CXX_FLAGS} -Wno-attributes -Wno-format-security -Wno-unknown-warning-option" + ) + endif() + set(GRPC_CMAKE_ARGS "${EP_COMMON_CMAKE_ARGS}" + "-DCMAKE_C_FLAGS=${GRPC_C_FLAGS}" + "-DCMAKE_CXX_FLAGS=${GRPC_CXX_FLAGS}" + "-DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${GRPC_C_FLAGS}" + "-DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${GRPC_CXX_FLAGS}" -DCMAKE_PREFIX_PATH='${GRPC_PREFIX_PATH_ALT_SEP}' -DgRPC_ABSL_PROVIDER=package -DgRPC_BUILD_CSHARP_EXT=OFF