diff --git a/CMakeLists.txt b/CMakeLists.txt index 48a0261825..2ba7077c4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,6 +92,9 @@ if(UNIX) endif() if(WIN32) set(_gRPC_PLATFORM_WINDOWS ON) + if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(_gRPC_PLATFORM_UWP ON) + endif() endif() set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) @@ -109,6 +112,9 @@ if (MSVC) add_definitions(/wd4267) # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later add_definitions(/wd4987 /wd4774 /wd4819 /wd4996 /wd4619) + if(_gRPC_PLATFORM_UWP) + add_definitions(-DGRPC_ARES=0) + endif() endif() if (gRPC_USE_PROTO_LITE) @@ -179,6 +185,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) # ``.proto`` files # function(protobuf_generate_grpc_cpp) + if(_gRPC_PLATFORM_UWP) + return() + endif() + if(NOT ARGN) message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") return() @@ -220,6 +230,7 @@ function(protobuf_generate_grpc_cpp) endforeach() endfunction() +if(NOT _gRPC_PLATFORM_UWP) add_custom_target(plugins DEPENDS grpc_cpp_plugin @@ -249,6 +260,8 @@ add_custom_target(tools_cxx add_custom_target(tools DEPENDS tools_c tools_cxx) +endif() + if (gRPC_BUILD_TESTS) add_custom_target(buildtests_c) add_dependencies(buildtests_c algorithm_test) @@ -3532,7 +3545,6 @@ foreach(_hdr DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" ) endforeach() -endif (gRPC_BUILD_CODEGEN) if (gRPC_BUILD_CODEGEN) @@ -3543,6 +3555,7 @@ if (gRPC_INSTALL) ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} ) endif() +endif (gRPC_BUILD_CODEGEN) endif (gRPC_BUILD_CODEGEN) if (gRPC_BUILD_TESTS) @@ -3666,7 +3679,6 @@ foreach(_hdr DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" ) endforeach() -endif (gRPC_BUILD_CODEGEN) if (gRPC_BUILD_CODEGEN) @@ -3677,6 +3689,7 @@ if (gRPC_INSTALL) ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} ) endif() +endif (gRPC_BUILD_CODEGEN) endif (gRPC_BUILD_CODEGEN) if (gRPC_BUILD_TESTS) @@ -4729,7 +4742,7 @@ foreach(_hdr DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" ) endforeach() -endif (gRPC_BUILD_CODEGEN) + if (gRPC_BUILD_CODEGEN) @@ -4740,6 +4753,7 @@ if (gRPC_INSTALL) ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} ) endif() +endif (gRPC_BUILD_CODEGEN) endif (gRPC_BUILD_CODEGEN) if (gRPC_BUILD_TESTS) diff --git a/src/core/lib/iomgr/resource_quota.cc b/src/core/lib/iomgr/resource_quota.cc index dffac348c5..a59becb046 100644 --- a/src/core/lib/iomgr/resource_quota.cc +++ b/src/core/lib/iomgr/resource_quota.cc @@ -940,7 +940,7 @@ void grpc_resource_user_alloc(grpc_resource_user* resource_user, size_t size, void grpc_resource_user_free(grpc_resource_user* resource_user, size_t size) { gpr_mu_lock(&resource_user->mu); grpc_resource_quota* resource_quota = resource_user->resource_quota; - gpr_atm prior = gpr_atm_no_barrier_fetch_add(&resource_quota->used, -size); + gpr_atm prior = gpr_atm_no_barrier_fetch_add(&resource_quota->used, -static_cast(size)); GPR_ASSERT(prior >= static_cast(size)); bool was_zero_or_negative = resource_user->free_pool <= 0; resource_user->free_pool += static_cast(size); diff --git a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc index 55efe0e9dd..f538f26edf 100644 --- a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +++ b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc @@ -60,6 +60,8 @@ bool check_bios_data(const char* bios_data_file) { static void init_mu(void) { gpr_mu_init(&g_mu); } +#if !defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP + static bool run_powershell() { SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(sa); @@ -97,8 +99,12 @@ static bool run_powershell() { CloseHandle(h); return true; } +#endif bool grpc_alts_is_running_on_gcp() { +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) + g_is_on_compute_engine = false; +#else gpr_once_init(&g_once, init_mu); gpr_mu_lock(&g_mu); if (!g_compute_engine_detection_done) { @@ -108,6 +114,7 @@ bool grpc_alts_is_running_on_gcp() { g_compute_engine_detection_done = true; } gpr_mu_unlock(&g_mu); +#endif return g_is_on_compute_engine; }