diff --git a/CMakeLists.txt b/CMakeLists.txt index aa9de4ca987..8bfd7453498 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,10 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}") set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/") project(${PACKAGE_NAME} LANGUAGES C CXX) +if(BUILD_SHARED_LIBS AND MSVC) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +endif() + set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables") set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries") set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers") @@ -267,6 +271,8 @@ if(MSVC) set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4503") # Tell MSVC to build grpc using utf-8 set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /utf-8") + # Inconsistent object sizes can cause stack corruption and should be treated as an error + set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /we4789") endif() if (MINGW) add_definitions(-D_WIN32_WINNT=0x600) @@ -427,12 +433,12 @@ if(WIN32) set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} ws2_32 crypt32) set(_gRPC_STATIC_WIN32 STATIC) endif() - + if(BUILD_SHARED_LIBS AND WIN32) # Currently for shared lib on Windows (i.e. a DLL) certain bits of source code # are generated from protobuf definitions by upbc. This source code does not include -# annotations needed to export these functions from gprc.lib so we have to +# annotations needed to export these functions from grpc.lib so we have to # re-include a small subset of these. # # This is not an ideal situation because these functions will be unavailable @@ -445,9 +451,18 @@ set(gRPC_UPB_GEN_DUPL_SRC src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c ) + set(gRPC_ADDITIONAL_DLL_SRC src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc + src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc + src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +) + +set(gRPC_ADDITIONAL_DLL_CXX_SRC + src/cpp/common/tls_certificate_provider.cc + src/cpp/common/tls_certificate_verifier.cc + src/cpp/common/tls_credentials_options.cc ) endif() # BUILD_SHARED_LIBS AND WIN32 @@ -1650,9 +1665,11 @@ if(WIN32 AND MSVC) set_target_properties(gpr PROPERTIES COMPILE_PDB_NAME "gpr" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) - set_target_properties(gpr PROPERTIES DEFINE_SYMBOL "GPR_DLL_EXPORTS") if(BUILD_SHARED_LIBS) - target_compile_definitions(gpr INTERFACE GPR_DLL_IMPORTS) + target_compile_definitions(gpr + PRIVATE + "GPR_DLL_EXPORTS" + ) endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gpr.pdb @@ -2560,9 +2577,12 @@ if(WIN32 AND MSVC) set_target_properties(grpc PROPERTIES COMPILE_PDB_NAME "grpc" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) - set_target_properties(grpc PROPERTIES DEFINE_SYMBOL "GRPC_DLL_EXPORTS") if(BUILD_SHARED_LIBS) - target_compile_definitions(grpc INTERFACE GRPC_DLL_IMPORTS) + target_compile_definitions(grpc + PRIVATE + "GRPC_DLL_EXPORTS" + "GPR_DLL_IMPORTS" + ) endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc.pdb @@ -2731,6 +2751,13 @@ if(WIN32 AND MSVC) set_target_properties(grpc_test_util PROPERTIES COMPILE_PDB_NAME "grpc_test_util" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_test_util + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_test_util.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -2790,6 +2817,13 @@ if(WIN32 AND MSVC) set_target_properties(grpc_test_util_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_test_util_unsecure" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_test_util_unsecure + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_test_util_unsecure.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -3241,9 +3275,12 @@ if(WIN32 AND MSVC) set_target_properties(grpc_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_unsecure" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) - set_target_properties(grpc_unsecure PROPERTIES DEFINE_SYMBOL "GRPC_DLL_EXPORTS") if(BUILD_SHARED_LIBS) - target_compile_definitions(grpc_unsecure INTERFACE GRPC_DLL_IMPORTS) + target_compile_definitions(grpc_unsecure + PRIVATE + "GRPC_DLL_EXPORTS" + "GPR_DLL_IMPORTS" + ) endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_unsecure.pdb @@ -3856,7 +3893,7 @@ if(gRPC_BUILD_TESTS) if(gRPC_BUILD_CODEGEN) -add_library(benchmark_helpers +add_library(benchmark_helpers ${_gRPC_STATIC_WIN32} ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h @@ -3898,6 +3935,14 @@ if(WIN32 AND MSVC) set_target_properties(benchmark_helpers PROPERTIES COMPILE_PDB_NAME "benchmark_helpers" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(benchmark_helpers + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/benchmark_helpers.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -4012,9 +4057,13 @@ if(WIN32 AND MSVC) set_target_properties(grpc++ PROPERTIES COMPILE_PDB_NAME "grpc++" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) - set_target_properties(grpc++ PROPERTIES DEFINE_SYMBOL "GRPCXX_DLL_EXPORTS") if(BUILD_SHARED_LIBS) - target_compile_definitions(grpc++ INTERFACE GRPCXX_DLL_IMPORTS) + target_compile_definitions(grpc++ + PRIVATE + "GRPCXX_DLL_EXPORTS" + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++.pdb @@ -4286,6 +4335,14 @@ if(WIN32 AND MSVC) set_target_properties(grpc++_alts PROPERTIES COMPILE_PDB_NAME "grpc++_alts" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc++_alts + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_alts.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -4350,6 +4407,14 @@ if(WIN32 AND MSVC) set_target_properties(grpc++_error_details PROPERTIES COMPILE_PDB_NAME "grpc++_error_details" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc++_error_details + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_error_details.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -4400,7 +4465,7 @@ endif() if(gRPC_BUILD_CODEGEN) -add_library(grpc++_reflection +add_library(grpc++_reflection ${_gRPC_STATIC_WIN32} ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1/reflection.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1/reflection.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1/reflection.pb.h @@ -4424,6 +4489,14 @@ if(WIN32 AND MSVC) set_target_properties(grpc++_reflection PROPERTIES COMPILE_PDB_NAME "grpc++_reflection" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc++_reflection + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_reflection.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -4492,6 +4565,14 @@ if(WIN32 AND MSVC) set_target_properties(grpc++_test PROPERTIES COMPILE_PDB_NAME "grpc++_test" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc++_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -4558,6 +4639,12 @@ if(WIN32 AND MSVC) set_target_properties(grpc++_test_config PROPERTIES COMPILE_PDB_NAME "grpc++_test_config" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc++_test_config + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_config.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -4625,6 +4712,14 @@ if(WIN32 AND MSVC) set_target_properties(grpc++_test_util PROPERTIES COMPILE_PDB_NAME "grpc++_test_util" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc++_test_util + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_util.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -4694,6 +4789,7 @@ add_library(grpc++_unsecure src/cpp/util/string_ref.cc src/cpp/util/time_cc.cc ${gRPC_UPB_GEN_DUPL_SRC} + ${gRPC_ADDITIONAL_DLL_CXX_SRC} ) target_compile_features(grpc++_unsecure PUBLIC cxx_std_14) @@ -4707,9 +4803,13 @@ if(WIN32 AND MSVC) set_target_properties(grpc++_unsecure PROPERTIES COMPILE_PDB_NAME "grpc++_unsecure" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) - set_target_properties(grpc++_unsecure PROPERTIES DEFINE_SYMBOL "GRPCXX_DLL_EXPORTS") if(BUILD_SHARED_LIBS) - target_compile_definitions(grpc++_unsecure INTERFACE GRPCXX_DLL_IMPORTS) + target_compile_definitions(grpc++_unsecure + PRIVATE + "GRPCXX_DLL_EXPORTS" + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_unsecure.pdb @@ -5250,6 +5350,12 @@ if(WIN32 AND MSVC) set_target_properties(grpc_authorization_provider PROPERTIES COMPILE_PDB_NAME "grpc_authorization_provider" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_authorization_provider + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_authorization_provider.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -5460,7 +5566,7 @@ endif() # See https://github.com/grpc/grpc/issues/19473 if(gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE) -add_library(grpcpp_channelz +add_library(grpcpp_channelz ${_gRPC_STATIC_WIN32} ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h @@ -5480,6 +5586,14 @@ if(WIN32 AND MSVC) set_target_properties(grpcpp_channelz PROPERTIES COMPILE_PDB_NAME "grpcpp_channelz" COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" ) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpcpp_channelz + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() if(gRPC_INSTALL) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpcpp_channelz.pdb DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL @@ -5548,6 +5662,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(fd_conservation_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(fd_conservation_posix_test PUBLIC cxx_std_14) target_include_directories(fd_conservation_posix_test PRIVATE @@ -5576,6 +5699,15 @@ if(gRPC_BUILD_TESTS) add_executable(multiple_server_queues_test test/core/end2end/multiple_server_queues_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(multiple_server_queues_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(multiple_server_queues_test PUBLIC cxx_std_14) target_include_directories(multiple_server_queues_test PRIVATE @@ -5604,6 +5736,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX OR _gRPC_PLATFORM_WINDOWS) add_executable(pollset_windows_starvation_test test/core/iomgr/pollset_windows_starvation_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(pollset_windows_starvation_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(pollset_windows_starvation_test PUBLIC cxx_std_14) target_include_directories(pollset_windows_starvation_test PRIVATE @@ -5634,6 +5775,14 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc test/core/client_channel/lb_policy/static_stride_scheduler_benchmark.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(static_stride_scheduler_benchmark + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(static_stride_scheduler_benchmark PUBLIC cxx_std_14) target_include_directories(static_stride_scheduler_benchmark PRIVATE @@ -5675,6 +5824,15 @@ add_executable(test_core_iomgr_timer_list_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_iomgr_timer_list_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_iomgr_timer_list_test PUBLIC cxx_std_14) target_include_directories(test_core_iomgr_timer_list_test PRIVATE @@ -5705,6 +5863,14 @@ add_executable(activity_test src/core/lib/promise/trace.cc test/core/promise/activity_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(activity_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(activity_test PUBLIC cxx_std_14) target_include_directories(activity_test PRIVATE @@ -5742,6 +5908,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(address_sorting_test test/cpp/naming/address_sorting_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(address_sorting_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(address_sorting_test PUBLIC cxx_std_14) target_include_directories(address_sorting_test PRIVATE @@ -5793,6 +5969,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/util/string_ref_helper.cc test/cpp/util/subprocess.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(address_sorting_test_unsecure + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(address_sorting_test_unsecure PUBLIC cxx_std_14) target_include_directories(address_sorting_test_unsecure PRIVATE @@ -5847,6 +6033,16 @@ add_executable(admin_services_end2end_test src/cpp/server/csds/csds.cc test/cpp/end2end/admin_services_end2end_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(admin_services_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(admin_services_end2end_test PUBLIC cxx_std_14) target_include_directories(admin_services_end2end_test PRIVATE @@ -5893,6 +6089,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/tracer_util.cc test/cpp/common/alarm_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alarm_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(alarm_test PUBLIC cxx_std_14) target_include_directories(alarm_test PRIVATE @@ -5930,6 +6136,14 @@ add_executable(all_ok_test src/core/lib/promise/trace.cc test/core/promise/all_ok_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(all_ok_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(all_ok_test PUBLIC cxx_std_14) target_include_directories(all_ok_test PRIVATE @@ -5966,6 +6180,15 @@ if(gRPC_BUILD_TESTS) add_executable(alloc_test test/core/gpr/alloc_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alloc_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alloc_test PUBLIC cxx_std_14) target_include_directories(alloc_test PRIVATE @@ -5999,6 +6222,15 @@ if(gRPC_BUILD_TESTS) add_executable(alpn_test test/core/transport/chttp2/alpn_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alpn_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alpn_test PUBLIC cxx_std_14) target_include_directories(alpn_test PRIVATE @@ -6044,6 +6276,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/core/tsi/alts/handshaker/alts_concurrent_connectivity_test.cc test/core/util/fake_udp_and_tcp_server.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_concurrent_connectivity_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(alts_concurrent_connectivity_test PUBLIC cxx_std_14) target_include_directories(alts_concurrent_connectivity_test PRIVATE @@ -6080,6 +6322,15 @@ add_executable(alts_counter_test test/core/tsi/alts/crypt/gsec_test_util.cc test/core/tsi/alts/frame_protector/alts_counter_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_counter_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_counter_test PUBLIC cxx_std_14) target_include_directories(alts_counter_test PRIVATE @@ -6114,6 +6365,15 @@ add_executable(alts_crypt_test test/core/tsi/alts/crypt/aes_gcm_test.cc test/core/tsi/alts/crypt/gsec_test_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_crypt_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_crypt_test PUBLIC cxx_std_14) target_include_directories(alts_crypt_test PRIVATE @@ -6148,6 +6408,15 @@ add_executable(alts_crypter_test test/core/tsi/alts/crypt/gsec_test_util.cc test/core/tsi/alts/frame_protector/alts_crypter_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_crypter_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_crypter_test PUBLIC cxx_std_14) target_include_directories(alts_crypter_test PRIVATE @@ -6183,6 +6452,15 @@ add_executable(alts_frame_protector_test test/core/tsi/alts/frame_protector/alts_frame_protector_test.cc test/core/tsi/transport_security_test_lib.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_frame_protector_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_frame_protector_test PUBLIC cxx_std_14) target_include_directories(alts_frame_protector_test PRIVATE @@ -6217,6 +6495,15 @@ add_executable(alts_grpc_record_protocol_test test/core/tsi/alts/crypt/gsec_test_util.cc test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_grpc_record_protocol_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_grpc_record_protocol_test PUBLIC cxx_std_14) target_include_directories(alts_grpc_record_protocol_test PRIVATE @@ -6251,6 +6538,15 @@ add_executable(alts_handshaker_client_test test/core/tsi/alts/handshaker/alts_handshaker_client_test.cc test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_handshaker_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_handshaker_client_test PUBLIC cxx_std_14) target_include_directories(alts_handshaker_client_test PRIVATE @@ -6285,6 +6581,15 @@ add_executable(alts_iovec_record_protocol_test test/core/tsi/alts/crypt/gsec_test_util.cc test/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_iovec_record_protocol_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_iovec_record_protocol_test PUBLIC cxx_std_14) target_include_directories(alts_iovec_record_protocol_test PRIVATE @@ -6328,6 +6633,15 @@ add_executable(alts_security_connector_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_security_connector_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_security_connector_test PUBLIC cxx_std_14) target_include_directories(alts_security_connector_test PRIVATE @@ -6362,6 +6676,15 @@ add_executable(alts_tsi_handshaker_test test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_tsi_handshaker_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_tsi_handshaker_test PUBLIC cxx_std_14) target_include_directories(alts_tsi_handshaker_test PRIVATE @@ -6396,6 +6719,15 @@ add_executable(alts_tsi_utils_test test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc test/core/tsi/alts/handshaker/alts_tsi_utils_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_tsi_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_tsi_utils_test PUBLIC cxx_std_14) target_include_directories(alts_tsi_utils_test PRIVATE @@ -6429,6 +6761,16 @@ if(gRPC_BUILD_TESTS) add_executable(alts_util_test test/cpp/common/alts_util_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_util_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_util_test PUBLIC cxx_std_14) target_include_directories(alts_util_test PRIVATE @@ -6464,6 +6806,15 @@ add_executable(alts_zero_copy_grpc_protector_test test/core/tsi/alts/crypt/gsec_test_util.cc test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(alts_zero_copy_grpc_protector_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(alts_zero_copy_grpc_protector_test PUBLIC cxx_std_14) target_include_directories(alts_zero_copy_grpc_protector_test PRIVATE @@ -6497,6 +6848,15 @@ if(gRPC_BUILD_TESTS) add_executable(arena_promise_test test/core/promise/arena_promise_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(arena_promise_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(arena_promise_test PUBLIC cxx_std_14) target_include_directories(arena_promise_test PRIVATE @@ -6530,6 +6890,15 @@ if(gRPC_BUILD_TESTS) add_executable(arena_test test/core/resource_quota/arena_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(arena_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(arena_test PUBLIC cxx_std_14) target_include_directories(arena_test PRIVATE @@ -6587,6 +6956,16 @@ add_executable(async_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/async_end2end_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(async_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(async_end2end_test PUBLIC cxx_std_14) target_include_directories(async_end2end_test PRIVATE @@ -6630,6 +7009,15 @@ add_executable(auth_context_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(auth_context_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(auth_context_test PUBLIC cxx_std_14) target_include_directories(auth_context_test PRIVATE @@ -6663,6 +7051,16 @@ if(gRPC_BUILD_TESTS) add_executable(auth_property_iterator_test test/cpp/common/auth_property_iterator_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(auth_property_iterator_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(auth_property_iterator_test PUBLIC cxx_std_14) target_include_directories(auth_property_iterator_test PRIVATE @@ -6706,6 +7104,15 @@ add_executable(authorization_matchers_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(authorization_matchers_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(authorization_matchers_test PUBLIC cxx_std_14) target_include_directories(authorization_matchers_test PRIVATE @@ -6740,6 +7147,16 @@ add_executable(authorization_policy_provider_test src/cpp/server/authorization_policy_provider.cc test/cpp/server/authorization_policy_provider_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(authorization_policy_provider_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(authorization_policy_provider_test PUBLIC cxx_std_14) target_include_directories(authorization_policy_provider_test PRIVATE @@ -6775,6 +7192,14 @@ if(gRPC_BUILD_TESTS) add_executable(avl_test test/core/avl/avl_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(avl_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(avl_test PUBLIC cxx_std_14) target_include_directories(avl_test PRIVATE @@ -6819,6 +7244,15 @@ add_executable(aws_request_signer_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(aws_request_signer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(aws_request_signer_test PUBLIC cxx_std_14) target_include_directories(aws_request_signer_test PRIVATE @@ -6852,6 +7286,15 @@ if(gRPC_BUILD_TESTS) add_executable(b64_test test/core/slice/b64_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(b64_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(b64_test PUBLIC cxx_std_14) target_include_directories(b64_test PRIVATE @@ -6899,9 +7342,19 @@ add_executable(backend_metrics_lb_policy_test test/cpp/interop/backend_metrics_lb_policy.cc test/cpp/interop/backend_metrics_lb_policy_test.cc ) -target_compile_features(backend_metrics_lb_policy_test PUBLIC cxx_std_14) -target_include_directories(backend_metrics_lb_policy_test - PRIVATE +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(backend_metrics_lb_policy_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() +target_compile_features(backend_metrics_lb_policy_test PUBLIC cxx_std_14) +target_include_directories(backend_metrics_lb_policy_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} @@ -6934,6 +7387,15 @@ if(gRPC_BUILD_TESTS) add_executable(backoff_test test/core/backoff/backoff_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(backoff_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(backoff_test PUBLIC cxx_std_14) target_include_directories(backoff_test PRIVATE @@ -6976,6 +7438,15 @@ add_executable(bad_ping_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(bad_ping_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(bad_ping_test PUBLIC cxx_std_14) target_include_directories(bad_ping_test PRIVATE @@ -7012,6 +7483,15 @@ add_executable(bad_server_response_test test/core/end2end/bad_server_response_test.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(bad_server_response_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(bad_server_response_test PUBLIC cxx_std_14) target_include_directories(bad_server_response_test PRIVATE @@ -7059,6 +7539,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(bad_ssl_alpn_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(bad_ssl_alpn_test PUBLIC cxx_std_14) target_include_directories(bad_ssl_alpn_test PRIVATE @@ -7107,6 +7596,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(bad_ssl_cert_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(bad_ssl_cert_test PUBLIC cxx_std_14) target_include_directories(bad_ssl_cert_test PRIVATE @@ -7143,6 +7641,15 @@ add_executable(bad_streaming_id_bad_client_test test/core/bad_client/tests/bad_streaming_id.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(bad_streaming_id_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(bad_streaming_id_bad_client_test PUBLIC cxx_std_14) target_include_directories(bad_streaming_id_bad_client_test PRIVATE @@ -7178,6 +7685,15 @@ add_executable(badreq_bad_client_test test/core/bad_client/tests/badreq.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(badreq_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(badreq_bad_client_test PUBLIC cxx_std_14) target_include_directories(badreq_bad_client_test PRIVATE @@ -7211,6 +7727,15 @@ if(gRPC_BUILD_TESTS) add_executable(basic_work_queue_test test/core/event_engine/work_queue/basic_work_queue_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(basic_work_queue_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(basic_work_queue_test PUBLIC cxx_std_14) target_include_directories(basic_work_queue_test PRIVATE @@ -7245,6 +7770,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(bdp_estimator_test test/core/transport/bdp_estimator_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(bdp_estimator_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(bdp_estimator_test PUBLIC cxx_std_14) target_include_directories(bdp_estimator_test PRIVATE @@ -7279,6 +7813,15 @@ if(gRPC_BUILD_TESTS) add_executable(bin_decoder_test test/core/transport/chttp2/bin_decoder_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(bin_decoder_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(bin_decoder_test PUBLIC cxx_std_14) target_include_directories(bin_decoder_test PRIVATE @@ -7312,6 +7855,15 @@ if(gRPC_BUILD_TESTS) add_executable(bin_encoder_test test/core/transport/chttp2/bin_encoder_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(bin_encoder_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(bin_encoder_test PUBLIC cxx_std_14) target_include_directories(bin_encoder_test PRIVATE @@ -7354,6 +7906,15 @@ add_executable(binary_metadata_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(binary_metadata_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(binary_metadata_test PUBLIC cxx_std_14) target_include_directories(binary_metadata_test PRIVATE @@ -7389,6 +7950,15 @@ if(gRPC_BUILD_TESTS) add_executable(binder_resolver_test test/core/client_channel/resolvers/binder_resolver_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(binder_resolver_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(binder_resolver_test PUBLIC cxx_std_14) target_include_directories(binder_resolver_test PRIVATE @@ -7440,6 +8010,16 @@ add_executable(binder_server_test test/core/transport/binder/end2end/fake_binder.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(binder_server_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(binder_server_test PUBLIC cxx_std_14) target_include_directories(binder_server_test PRIVATE @@ -7536,6 +8116,15 @@ add_executable(binder_transport_test test/core/transport/binder/binder_transport_test.cc test/core/transport/binder/mock_objects.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(binder_transport_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(binder_transport_test PUBLIC cxx_std_14) target_include_directories(binder_transport_test PRIVATE @@ -7612,6 +8201,15 @@ add_executable(buffer_list_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(buffer_list_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(buffer_list_test PUBLIC cxx_std_14) target_include_directories(buffer_list_test PRIVATE @@ -7645,6 +8243,16 @@ if(gRPC_BUILD_TESTS) add_executable(byte_buffer_test test/cpp/util/byte_buffer_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(byte_buffer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(byte_buffer_test PUBLIC cxx_std_14) target_include_directories(byte_buffer_test PRIVATE @@ -7678,6 +8286,15 @@ if(gRPC_BUILD_TESTS) add_executable(c_slice_buffer_test test/core/slice/c_slice_buffer_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(c_slice_buffer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(c_slice_buffer_test PUBLIC cxx_std_14) target_include_directories(c_slice_buffer_test PRIVATE @@ -7720,6 +8337,15 @@ add_executable(call_creds_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(call_creds_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(call_creds_test PUBLIC cxx_std_14) target_include_directories(call_creds_test PRIVATE @@ -7755,6 +8381,15 @@ if(gRPC_BUILD_TESTS) add_executable(call_finalization_test test/core/channel/call_finalization_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(call_finalization_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(call_finalization_test PUBLIC cxx_std_14) target_include_directories(call_finalization_test PRIVATE @@ -7797,6 +8432,15 @@ add_executable(call_host_override_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(call_host_override_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(call_host_override_test PUBLIC cxx_std_14) target_include_directories(call_host_override_test PRIVATE @@ -7833,6 +8477,15 @@ add_executable(call_tracer_test test/core/channel/call_tracer_test.cc test/core/util/fake_stats_plugin.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(call_tracer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(call_tracer_test PUBLIC cxx_std_14) target_include_directories(call_tracer_test PRIVATE @@ -7875,6 +8528,15 @@ add_executable(cancel_after_accept_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_after_accept_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_after_accept_test PUBLIC cxx_std_14) target_include_directories(cancel_after_accept_test PRIVATE @@ -7919,6 +8581,15 @@ add_executable(cancel_after_client_done_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_after_client_done_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_after_client_done_test PUBLIC cxx_std_14) target_include_directories(cancel_after_client_done_test PRIVATE @@ -7963,6 +8634,15 @@ add_executable(cancel_after_invoke_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_after_invoke_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_after_invoke_test PUBLIC cxx_std_14) target_include_directories(cancel_after_invoke_test PRIVATE @@ -8007,6 +8687,15 @@ add_executable(cancel_after_round_trip_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_after_round_trip_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_after_round_trip_test PUBLIC cxx_std_14) target_include_directories(cancel_after_round_trip_test PRIVATE @@ -8045,6 +8734,16 @@ add_executable(cancel_ares_query_test test/core/util/socket_use_after_close_detector.cc test/cpp/naming/cancel_ares_query_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_ares_query_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_ares_query_test PUBLIC cxx_std_14) target_include_directories(cancel_ares_query_test PRIVATE @@ -8088,6 +8787,15 @@ add_executable(cancel_before_invoke_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_before_invoke_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_before_invoke_test PUBLIC cxx_std_14) target_include_directories(cancel_before_invoke_test PRIVATE @@ -8123,6 +8831,14 @@ if(gRPC_BUILD_TESTS) add_executable(cancel_callback_test test/core/promise/cancel_callback_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_callback_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_callback_test PUBLIC cxx_std_14) target_include_directories(cancel_callback_test PRIVATE @@ -8166,6 +8882,15 @@ add_executable(cancel_in_a_vacuum_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_in_a_vacuum_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_in_a_vacuum_test PUBLIC cxx_std_14) target_include_directories(cancel_in_a_vacuum_test PRIVATE @@ -8210,6 +8935,15 @@ add_executable(cancel_with_status_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cancel_with_status_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cancel_with_status_test PUBLIC cxx_std_14) target_include_directories(cancel_with_status_test PRIVATE @@ -8343,6 +9077,15 @@ add_executable(cel_authorization_engine_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cel_authorization_engine_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cel_authorization_engine_test PUBLIC cxx_std_14) target_include_directories(cel_authorization_engine_test PRIVATE @@ -8376,6 +9119,15 @@ if(gRPC_BUILD_TESTS) add_executable(certificate_provider_registry_test test/core/security/certificate_provider_registry_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(certificate_provider_registry_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(certificate_provider_registry_test PUBLIC cxx_std_14) target_include_directories(certificate_provider_registry_test PRIVATE @@ -8409,6 +9161,15 @@ if(gRPC_BUILD_TESTS) add_executable(certificate_provider_store_test test/core/xds/certificate_provider_store_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(certificate_provider_store_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(certificate_provider_store_test PUBLIC cxx_std_14) target_include_directories(certificate_provider_store_test PRIVATE @@ -8443,6 +9204,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(cf_engine_test test/core/event_engine/cf/cf_engine_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cf_engine_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(cf_engine_test PUBLIC cxx_std_14) target_include_directories(cf_engine_test PRIVATE @@ -8483,6 +9253,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/event_engine/test_suite/tests/client_test.cc test/core/event_engine/test_suite/tests/timer_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cf_event_engine_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(cf_event_engine_test PUBLIC cxx_std_14) target_include_directories(cf_event_engine_test PRIVATE @@ -8534,6 +9313,16 @@ add_executable(cfstream_test test/cpp/end2end/cfstream_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cfstream_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cfstream_test PUBLIC cxx_std_14) target_include_directories(cfstream_test PRIVATE @@ -8567,6 +9356,15 @@ if(gRPC_BUILD_TESTS) add_executable(channel_args_test test/core/channel/channel_args_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channel_args_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(channel_args_test PUBLIC cxx_std_14) target_include_directories(channel_args_test PRIVATE @@ -8600,6 +9398,16 @@ if(gRPC_BUILD_TESTS) add_executable(channel_arguments_test test/cpp/common/channel_arguments_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channel_arguments_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(channel_arguments_test PUBLIC cxx_std_14) target_include_directories(channel_arguments_test PRIVATE @@ -8644,6 +9452,15 @@ add_executable(channel_creds_registry_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channel_creds_registry_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(channel_creds_registry_test PUBLIC cxx_std_14) target_include_directories(channel_creds_registry_test PRIVATE @@ -8677,6 +9494,15 @@ if(gRPC_BUILD_TESTS) add_executable(channel_init_test test/core/surface/channel_init_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channel_init_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(channel_init_test PUBLIC cxx_std_14) target_include_directories(channel_init_test PRIVATE @@ -8710,6 +9536,15 @@ if(gRPC_BUILD_TESTS) add_executable(channel_stack_builder_test test/core/channel/channel_stack_builder_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channel_stack_builder_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(channel_stack_builder_test PUBLIC cxx_std_14) target_include_directories(channel_stack_builder_test PRIVATE @@ -8743,6 +9578,15 @@ if(gRPC_BUILD_TESTS) add_executable(channel_stack_test test/core/channel/channel_stack_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channel_stack_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(channel_stack_test PUBLIC cxx_std_14) target_include_directories(channel_stack_test PRIVATE @@ -8781,6 +9625,16 @@ add_executable(channel_trace_test test/core/channel/channel_trace_test.cc test/cpp/util/channel_trace_proto_helper.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channel_trace_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(channel_trace_test PUBLIC cxx_std_14) target_include_directories(channel_trace_test PRIVATE @@ -8815,9 +9669,19 @@ if(gRPC_BUILD_TESTS) add_executable(channelz_registry_test test/core/channel/channelz_registry_test.cc ) -target_compile_features(channelz_registry_test PUBLIC cxx_std_14) -target_include_directories(channelz_registry_test - PRIVATE +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channelz_registry_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() +target_compile_features(channelz_registry_test PUBLIC cxx_std_14) +target_include_directories(channelz_registry_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} @@ -8867,6 +9731,16 @@ add_executable(channelz_service_test test/cpp/end2end/channelz_service_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(channelz_service_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(channelz_service_test PUBLIC cxx_std_14) target_include_directories(channelz_service_test PRIVATE @@ -8911,6 +9785,15 @@ add_executable(check_gcp_environment_linux_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(check_gcp_environment_linux_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(check_gcp_environment_linux_test PUBLIC cxx_std_14) target_include_directories(check_gcp_environment_linux_test PRIVATE @@ -8954,6 +9837,15 @@ add_executable(check_gcp_environment_windows_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(check_gcp_environment_windows_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(check_gcp_environment_windows_test PUBLIC cxx_std_14) target_include_directories(check_gcp_environment_windows_test PRIVATE @@ -9024,6 +9916,14 @@ add_executable(chunked_vector_test third_party/upb/upb/wire/eps_copy_input_stream.c third_party/upb/upb/wire/reader.c ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(chunked_vector_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(chunked_vector_test PUBLIC cxx_std_14) target_include_directories(chunked_vector_test PRIVATE @@ -9089,6 +9989,16 @@ add_executable(cli_call_test test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cli_call_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cli_call_test PUBLIC cxx_std_14) target_include_directories(cli_call_test PRIVATE @@ -9129,6 +10039,15 @@ add_executable(client_auth_filter_test test/core/filters/client_auth_filter_test.cc test/core/filters/filter_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_auth_filter_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(client_auth_filter_test PUBLIC cxx_std_14) target_include_directories(client_auth_filter_test PRIVATE @@ -9169,6 +10088,15 @@ add_executable(client_authority_filter_test test/core/filters/client_authority_filter_test.cc test/core/filters/filter_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_authority_filter_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(client_authority_filter_test PUBLIC cxx_std_14) target_include_directories(client_authority_filter_test PRIVATE @@ -9221,6 +10149,16 @@ add_executable(client_callback_end2end_test test/cpp/end2end/interceptors_util.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_callback_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(client_callback_end2end_test PUBLIC cxx_std_14) target_include_directories(client_callback_end2end_test PRIVATE @@ -9254,6 +10192,15 @@ if(gRPC_BUILD_TESTS) add_executable(client_channel_service_config_test test/core/client_channel/client_channel_service_config_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_channel_service_config_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(client_channel_service_config_test PUBLIC cxx_std_14) target_include_directories(client_channel_service_config_test PRIVATE @@ -9287,6 +10234,15 @@ if(gRPC_BUILD_TESTS) add_executable(client_channel_test test/core/client_channel/client_channel_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_channel_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(client_channel_test PUBLIC cxx_std_14) target_include_directories(client_channel_test PRIVATE @@ -9320,6 +10276,16 @@ if(gRPC_BUILD_TESTS) add_executable(client_context_test_peer_test test/cpp/test/client_context_test_peer_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_context_test_peer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(client_context_test_peer_test PUBLIC cxx_std_14) target_include_directories(client_context_test_peer_test PRIVATE @@ -9374,6 +10340,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/client_fork_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_fork_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(client_fork_test PUBLIC cxx_std_14) target_include_directories(client_fork_test PRIVATE @@ -9428,6 +10404,16 @@ add_executable(client_interceptors_end2end_test test/cpp/end2end/interceptors_util.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_interceptors_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(client_interceptors_end2end_test PUBLIC cxx_std_14) target_include_directories(client_interceptors_end2end_test PRIVATE @@ -9490,6 +10476,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/connection_attempt_injector.cc test/cpp/end2end/test_service_impl.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_lb_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(client_lb_end2end_test PUBLIC cxx_std_14) target_include_directories(client_lb_end2end_test PRIVATE @@ -9525,6 +10521,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(client_ssl_test test/core/handshake/client_ssl.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_ssl_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(client_ssl_test PUBLIC cxx_std_14) target_include_directories(client_ssl_test PRIVATE @@ -9568,6 +10573,15 @@ add_executable(client_streaming_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(client_streaming_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(client_streaming_test PUBLIC cxx_std_14) target_include_directories(client_streaming_test PRIVATE @@ -9613,6 +10627,15 @@ add_executable(cmdline_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cmdline_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cmdline_test PUBLIC cxx_std_14) target_include_directories(cmdline_test PRIVATE @@ -9646,6 +10669,16 @@ if(gRPC_BUILD_TESTS) add_executable(codegen_test_full test/cpp/codegen/codegen_test_full.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(codegen_test_full + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(codegen_test_full PUBLIC cxx_std_14) target_include_directories(codegen_test_full PRIVATE @@ -9680,6 +10713,16 @@ if(gRPC_BUILD_TESTS) add_executable(codegen_test_minimal test/cpp/codegen/codegen_test_minimal.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(codegen_test_minimal + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(codegen_test_minimal PUBLIC cxx_std_14) target_include_directories(codegen_test_minimal PRIVATE @@ -9725,6 +10768,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(combiner_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(combiner_test PUBLIC cxx_std_14) target_include_directories(combiner_test PRIVATE @@ -9759,6 +10811,14 @@ if(gRPC_BUILD_TESTS) add_executable(common_closures_test test/core/event_engine/common_closures_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(common_closures_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(common_closures_test PUBLIC cxx_std_14) target_include_directories(common_closures_test PRIVATE @@ -9793,6 +10853,15 @@ if(gRPC_BUILD_TESTS) add_executable(completion_queue_threading_test test/core/surface/completion_queue_threading_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(completion_queue_threading_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(completion_queue_threading_test PUBLIC cxx_std_14) target_include_directories(completion_queue_threading_test PRIVATE @@ -9835,6 +10904,15 @@ add_executable(compressed_payload_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(compressed_payload_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(compressed_payload_test PUBLIC cxx_std_14) target_include_directories(compressed_payload_test PRIVATE @@ -9870,6 +10948,15 @@ if(gRPC_BUILD_TESTS) add_executable(compression_test test/core/compression/compression_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(compression_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(compression_test PUBLIC cxx_std_14) target_include_directories(compression_test PRIVATE @@ -9903,6 +10990,15 @@ if(gRPC_BUILD_TESTS) add_executable(concurrent_connectivity_test test/core/surface/concurrent_connectivity_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(concurrent_connectivity_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(concurrent_connectivity_test PUBLIC cxx_std_14) target_include_directories(concurrent_connectivity_test PRIVATE @@ -9938,6 +11034,15 @@ add_executable(connection_prefix_bad_client_test test/core/bad_client/tests/connection_prefix.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(connection_prefix_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(connection_prefix_bad_client_test PUBLIC cxx_std_14) target_include_directories(connection_prefix_bad_client_test PRIVATE @@ -9972,6 +11077,15 @@ add_executable(connection_refused_test test/core/end2end/connection_refused_test.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(connection_refused_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(connection_refused_test PUBLIC cxx_std_14) target_include_directories(connection_refused_test PRIVATE @@ -10015,6 +11129,15 @@ add_executable(connectivity_state_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(connectivity_state_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(connectivity_state_test PUBLIC cxx_std_14) target_include_directories(connectivity_state_test PRIVATE @@ -10057,6 +11180,15 @@ add_executable(connectivity_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(connectivity_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(connectivity_test PUBLIC cxx_std_14) target_include_directories(connectivity_test PRIVATE @@ -10109,6 +11241,16 @@ add_executable(context_allocator_end2end_test test/cpp/end2end/context_allocator_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(context_allocator_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(context_allocator_end2end_test PUBLIC cxx_std_14) target_include_directories(context_allocator_end2end_test PRIVATE @@ -10142,6 +11284,14 @@ if(gRPC_BUILD_TESTS) add_executable(context_test test/core/promise/context_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(context_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(context_test PUBLIC cxx_std_14) target_include_directories(context_test PRIVATE @@ -10175,6 +11325,15 @@ if(gRPC_BUILD_TESTS) add_executable(core_configuration_test test/core/config/core_configuration_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(core_configuration_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(core_configuration_test PUBLIC cxx_std_14) target_include_directories(core_configuration_test PRIVATE @@ -10240,6 +11399,15 @@ if(gRPC_BUILD_TESTS) add_executable(cpu_test test/core/gpr/cpu_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(cpu_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(cpu_test PUBLIC cxx_std_14) target_include_directories(cpu_test PRIVATE @@ -10290,6 +11458,16 @@ add_executable(crl_provider_test test/cpp/end2end/crl_provider_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(crl_provider_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(crl_provider_test PUBLIC cxx_std_14) target_include_directories(crl_provider_test PRIVATE @@ -10325,6 +11503,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/tsi/crl_ssl_transport_security_test.cc test/core/tsi/transport_security_test_lib.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(crl_ssl_transport_security_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(crl_ssl_transport_security_test PUBLIC cxx_std_14) target_include_directories(crl_ssl_transport_security_test PRIVATE @@ -10359,6 +11546,15 @@ if(gRPC_BUILD_TESTS) add_executable(default_engine_methods_test test/core/event_engine/default_engine_methods_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(default_engine_methods_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(default_engine_methods_test PUBLIC cxx_std_14) target_include_directories(default_engine_methods_test PRIVATE @@ -10401,6 +11597,15 @@ add_executable(default_host_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(default_host_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(default_host_test PUBLIC cxx_std_14) target_include_directories(default_host_test PRIVATE @@ -10453,6 +11658,16 @@ add_executable(delegating_channel_test test/cpp/end2end/delegating_channel_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(delegating_channel_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(delegating_channel_test PUBLIC cxx_std_14) target_include_directories(delegating_channel_test PRIVATE @@ -10486,6 +11701,16 @@ if(gRPC_BUILD_TESTS) add_executable(destroy_grpclb_channel_with_active_connect_stress_test test/cpp/client/destroy_grpclb_channel_with_active_connect_stress_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(destroy_grpclb_channel_with_active_connect_stress_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(destroy_grpclb_channel_with_active_connect_stress_test PUBLIC cxx_std_14) target_include_directories(destroy_grpclb_channel_with_active_connect_stress_test PRIVATE @@ -10519,6 +11744,15 @@ if(gRPC_BUILD_TESTS) add_executable(directory_reader_test test/core/gprpp/directory_reader_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(directory_reader_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(directory_reader_test PUBLIC cxx_std_14) target_include_directories(directory_reader_test PRIVATE @@ -10561,6 +11795,15 @@ add_executable(disappearing_server_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(disappearing_server_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(disappearing_server_test PUBLIC cxx_std_14) target_include_directories(disappearing_server_test PRIVATE @@ -10596,6 +11839,15 @@ if(gRPC_BUILD_TESTS) add_executable(dns_resolver_cooldown_test test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(dns_resolver_cooldown_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(dns_resolver_cooldown_test PUBLIC cxx_std_14) target_include_directories(dns_resolver_cooldown_test PRIVATE @@ -10629,6 +11881,15 @@ if(gRPC_BUILD_TESTS) add_executable(dns_resolver_test test/core/client_channel/resolvers/dns_resolver_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(dns_resolver_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(dns_resolver_test PUBLIC cxx_std_14) target_include_directories(dns_resolver_test PRIVATE @@ -10662,6 +11923,15 @@ if(gRPC_BUILD_TESTS) add_executable(dual_ref_counted_test test/core/gprpp/dual_ref_counted_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(dual_ref_counted_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(dual_ref_counted_test PUBLIC cxx_std_14) target_include_directories(dual_ref_counted_test PRIVATE @@ -10697,6 +11967,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/end2end/cq_verifier.cc test/core/end2end/dualstack_socket_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(dualstack_socket_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(dualstack_socket_test PUBLIC cxx_std_14) target_include_directories(dualstack_socket_test PRIVATE @@ -10733,7 +12012,16 @@ add_executable(duplicate_header_bad_client_test test/core/bad_client/tests/duplicate_header.cc test/core/end2end/cq_verifier.cc ) -target_compile_features(duplicate_header_bad_client_test PUBLIC cxx_std_14) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(duplicate_header_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() +target_compile_features(duplicate_header_bad_client_test PUBLIC cxx_std_14) target_include_directories(duplicate_header_bad_client_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} @@ -10775,6 +12063,15 @@ add_executable(empty_batch_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(empty_batch_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(empty_batch_test PUBLIC cxx_std_14) target_include_directories(empty_batch_test PRIVATE @@ -10830,6 +12127,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/core/transport/binder/end2end/testing_channel_create.cc test/cpp/end2end/test_service_impl.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(end2end_binder_transport_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(end2end_binder_transport_test PUBLIC cxx_std_14) target_include_directories(end2end_binder_transport_test PRIVATE @@ -10886,6 +12193,16 @@ add_executable(end2end_test test/cpp/end2end/interceptors_util.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(end2end_test PUBLIC cxx_std_14) target_include_directories(end2end_test PRIVATE @@ -10919,6 +12236,15 @@ if(gRPC_BUILD_TESTS) add_executable(endpoint_addresses_test test/core/resolver/endpoint_addresses_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(endpoint_addresses_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(endpoint_addresses_test PUBLIC cxx_std_14) target_include_directories(endpoint_addresses_test PRIVATE @@ -11015,6 +12341,15 @@ add_executable(endpoint_binder_pool_test test/core/transport/binder/endpoint_binder_pool_test.cc test/core/transport/binder/mock_objects.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(endpoint_binder_pool_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(endpoint_binder_pool_test PUBLIC cxx_std_14) target_include_directories(endpoint_binder_pool_test PRIVATE @@ -11054,6 +12389,14 @@ add_executable(endpoint_config_test src/core/lib/surface/channel_stack_type.cc test/core/event_engine/endpoint_config_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(endpoint_config_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(endpoint_config_test PUBLIC cxx_std_14) target_include_directories(endpoint_config_test PRIVATE @@ -11101,6 +12444,15 @@ add_executable(endpoint_pair_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(endpoint_pair_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(endpoint_pair_test PUBLIC cxx_std_14) target_include_directories(endpoint_pair_test PRIVATE @@ -11134,6 +12486,15 @@ if(gRPC_BUILD_TESTS) add_executable(env_test test/core/gpr/env_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(env_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(env_test PUBLIC cxx_std_14) target_include_directories(env_test PRIVATE @@ -11179,6 +12540,16 @@ add_executable(error_details_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/util/error_details_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(error_details_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(error_details_test PUBLIC cxx_std_14) target_include_directories(error_details_test PRIVATE @@ -11224,6 +12595,15 @@ add_executable(error_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(error_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(error_test PUBLIC cxx_std_14) target_include_directories(error_test PRIVATE @@ -11267,6 +12647,15 @@ add_executable(error_utils_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(error_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(error_utils_test PUBLIC cxx_std_14) target_include_directories(error_utils_test PRIVATE @@ -11310,6 +12699,15 @@ add_executable(evaluate_args_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(evaluate_args_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(evaluate_args_test PUBLIC cxx_std_14) target_include_directories(evaluate_args_test PRIVATE @@ -11343,6 +12741,15 @@ if(gRPC_BUILD_TESTS) add_executable(event_engine_wakeup_scheduler_test test/core/promise/event_engine_wakeup_scheduler_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(event_engine_wakeup_scheduler_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(event_engine_wakeup_scheduler_test PUBLIC cxx_std_14) target_include_directories(event_engine_wakeup_scheduler_test PRIVATE @@ -11378,6 +12785,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/event_engine/posix/event_poller_posix_test.cc test/core/event_engine/posix/posix_engine_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(event_poller_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(event_poller_posix_test PUBLIC cxx_std_14) target_include_directories(event_poller_posix_test PRIVATE @@ -11413,6 +12829,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(examine_stack_test test/core/gprpp/examine_stack_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(examine_stack_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(examine_stack_test PUBLIC cxx_std_14) target_include_directories(examine_stack_test PRIVATE @@ -11463,6 +12888,16 @@ add_executable(exception_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/exception_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(exception_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(exception_test PUBLIC cxx_std_14) target_include_directories(exception_test PRIVATE @@ -11526,6 +12961,14 @@ add_executable(exec_ctx_wakeup_scheduler_test third_party/upb/upb/wire/eps_copy_input_stream.c third_party/upb/upb/wire/reader.c ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(exec_ctx_wakeup_scheduler_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(exec_ctx_wakeup_scheduler_test PUBLIC cxx_std_14) target_include_directories(exec_ctx_wakeup_scheduler_test PRIVATE @@ -11567,6 +13010,14 @@ add_executable(experiments_tag_test test/core/experiments/experiments_tag_test.cc test/core/experiments/fixtures/experiments.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(experiments_tag_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(experiments_tag_test PUBLIC cxx_std_14) target_include_directories(experiments_tag_test PRIVATE @@ -11604,6 +13055,14 @@ add_executable(experiments_test test/core/experiments/experiments_test.cc test/core/experiments/fixtures/experiments.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(experiments_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(experiments_test PUBLIC cxx_std_14) target_include_directories(experiments_test PRIVATE @@ -11637,6 +13096,15 @@ if(gRPC_BUILD_TESTS) add_executable(factory_test test/core/event_engine/factory_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(factory_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(factory_test PUBLIC cxx_std_14) target_include_directories(factory_test PRIVATE @@ -11733,6 +13201,15 @@ add_executable(fake_binder_test test/core/transport/binder/end2end/fake_binder.cc test/core/transport/binder/end2end/fake_binder_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(fake_binder_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(fake_binder_test PUBLIC cxx_std_14) target_include_directories(fake_binder_test PRIVATE @@ -11767,6 +13244,15 @@ if(gRPC_BUILD_TESTS) add_executable(fake_resolver_test test/core/client_channel/resolvers/fake_resolver_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(fake_resolver_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(fake_resolver_test PUBLIC cxx_std_14) target_include_directories(fake_resolver_test PRIVATE @@ -11801,6 +13287,15 @@ add_executable(fake_transport_security_test test/core/tsi/fake_transport_security_test.cc test/core/tsi/transport_security_test_lib.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(fake_transport_security_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(fake_transport_security_test PUBLIC cxx_std_14) target_include_directories(fake_transport_security_test PRIVATE @@ -11845,6 +13340,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(fd_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(fd_posix_test PUBLIC cxx_std_14) target_include_directories(fd_posix_test PRIVATE @@ -11879,6 +13383,15 @@ if(gRPC_BUILD_TESTS) add_executable(file_watcher_certificate_provider_factory_test test/core/xds/file_watcher_certificate_provider_factory_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(file_watcher_certificate_provider_factory_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(file_watcher_certificate_provider_factory_test PUBLIC cxx_std_14) target_include_directories(file_watcher_certificate_provider_factory_test PRIVATE @@ -11921,6 +13434,15 @@ add_executable(filter_causes_close_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(filter_causes_close_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(filter_causes_close_test PUBLIC cxx_std_14) target_include_directories(filter_causes_close_test PRIVATE @@ -11965,6 +13487,15 @@ add_executable(filter_context_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(filter_context_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(filter_context_test PUBLIC cxx_std_14) target_include_directories(filter_context_test PRIVATE @@ -12009,6 +13540,15 @@ add_executable(filter_init_fails_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(filter_init_fails_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(filter_init_fails_test PUBLIC cxx_std_14) target_include_directories(filter_init_fails_test PRIVATE @@ -12050,6 +13590,15 @@ add_executable(filter_test_test test/core/filters/filter_test.cc test/core/filters/filter_test_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(filter_test_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(filter_test_test PUBLIC cxx_std_14) target_include_directories(filter_test_test PRIVATE @@ -12094,6 +13643,15 @@ add_executable(filtered_metadata_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(filtered_metadata_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(filtered_metadata_test PUBLIC cxx_std_14) target_include_directories(filtered_metadata_test PRIVATE @@ -12146,6 +13704,16 @@ add_executable(flaky_network_test test/cpp/end2end/flaky_network_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(flaky_network_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(flaky_network_test PUBLIC cxx_std_14) target_include_directories(flaky_network_test PRIVATE @@ -12220,6 +13788,14 @@ add_executable(flow_control_test third_party/upb/upb/wire/eps_copy_input_stream.c third_party/upb/upb/wire/reader.c ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(flow_control_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(flow_control_test PUBLIC cxx_std_14) target_include_directories(flow_control_test PRIVATE @@ -12297,6 +13873,14 @@ add_executable(for_each_test third_party/upb/upb/wire/eps_copy_input_stream.c third_party/upb/upb/wire/reader.c ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(for_each_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(for_each_test PUBLIC cxx_std_14) target_include_directories(for_each_test PRIVATE @@ -12337,6 +13921,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(fork_test test/core/gprpp/fork_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(fork_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(fork_test PUBLIC cxx_std_14) target_include_directories(fork_test PRIVATE @@ -12373,6 +13966,14 @@ add_executable(forkable_test src/core/lib/event_engine/forkable.cc test/core/event_engine/forkable_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(forkable_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(forkable_test PUBLIC cxx_std_14) target_include_directories(forkable_test PRIVATE @@ -12421,6 +14022,15 @@ add_executable(format_request_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(format_request_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(format_request_test PUBLIC cxx_std_14) target_include_directories(format_request_test PRIVATE @@ -12455,6 +14065,15 @@ add_executable(frame_handler_test test/core/tsi/alts/crypt/gsec_test_util.cc test/core/tsi/alts/frame_protector/frame_handler_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(frame_handler_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(frame_handler_test PUBLIC cxx_std_14) target_include_directories(frame_handler_test PRIVATE @@ -12494,6 +14113,14 @@ add_executable(frame_test src/core/lib/slice/slice_string_helpers.cc test/core/transport/chttp2/frame_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(frame_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(frame_test PUBLIC cxx_std_14) target_include_directories(frame_test PRIVATE @@ -12541,6 +14168,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/core/event_engine/test_suite/tests/server_test.cc test/core/event_engine/test_suite/tests/timer_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(fuzzing_event_engine_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(fuzzing_event_engine_test PUBLIC cxx_std_14) target_include_directories(fuzzing_event_engine_test PRIVATE @@ -12581,6 +14217,15 @@ add_executable(fuzzing_event_engine_unittest test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine_unittest.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(fuzzing_event_engine_unittest + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(fuzzing_event_engine_unittest PUBLIC cxx_std_14) target_include_directories(fuzzing_event_engine_unittest PRIVATE @@ -12635,6 +14280,16 @@ add_executable(generic_end2end_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/generic_end2end_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(generic_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(generic_end2end_test PUBLIC cxx_std_14) target_include_directories(generic_end2end_test PRIVATE @@ -12669,6 +14324,15 @@ add_executable(goaway_server_test test/core/end2end/cq_verifier.cc test/core/end2end/goaway_server_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(goaway_server_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(goaway_server_test PUBLIC cxx_std_14) target_include_directories(goaway_server_test PRIVATE @@ -12703,6 +14367,16 @@ add_executable(google_c2p_resolver_test test/core/client_channel/resolvers/google_c2p_resolver_test.cc test/core/util/fake_udp_and_tcp_server.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(google_c2p_resolver_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(google_c2p_resolver_test PUBLIC cxx_std_14) target_include_directories(google_c2p_resolver_test PRIVATE @@ -12745,6 +14419,15 @@ add_executable(graceful_server_shutdown_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(graceful_server_shutdown_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(graceful_server_shutdown_test PUBLIC cxx_std_14) target_include_directories(graceful_server_shutdown_test PRIVATE @@ -12781,6 +14464,15 @@ add_executable(graceful_shutdown_test test/core/end2end/cq_verifier.cc test/core/transport/chttp2/graceful_shutdown_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(graceful_shutdown_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(graceful_shutdown_test PUBLIC cxx_std_14) target_include_directories(graceful_shutdown_test PRIVATE @@ -12824,9 +14516,18 @@ add_executable(grpc_alts_credentials_options_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) -target_compile_features(grpc_alts_credentials_options_test PUBLIC cxx_std_14) -target_include_directories(grpc_alts_credentials_options_test - PRIVATE +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_alts_credentials_options_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() +target_compile_features(grpc_alts_credentials_options_test PUBLIC cxx_std_14) +target_include_directories(grpc_alts_credentials_options_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} @@ -12857,6 +14558,15 @@ if(gRPC_BUILD_TESTS) add_executable(grpc_audit_logging_test test/core/security/grpc_audit_logging_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_audit_logging_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_audit_logging_test PUBLIC cxx_std_14) target_include_directories(grpc_audit_logging_test PRIVATE @@ -12901,6 +14611,15 @@ add_executable(grpc_authorization_engine_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_authorization_engine_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_authorization_engine_test PUBLIC cxx_std_14) target_include_directories(grpc_authorization_engine_test PRIVATE @@ -12944,6 +14663,15 @@ add_executable(grpc_authorization_policy_provider_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_authorization_policy_provider_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_authorization_policy_provider_test PUBLIC cxx_std_14) target_include_directories(grpc_authorization_policy_provider_test PRIVATE @@ -12997,6 +14725,16 @@ add_executable(grpc_authz_end2end_test test/cpp/end2end/grpc_authz_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_authz_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_authz_end2end_test PUBLIC cxx_std_14) target_include_directories(grpc_authz_end2end_test PRIVATE @@ -13040,6 +14778,15 @@ add_executable(grpc_authz_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_authz_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_authz_test PUBLIC cxx_std_14) target_include_directories(grpc_authz_test PRIVATE @@ -13075,6 +14822,15 @@ if(gRPC_BUILD_TESTS) add_executable(grpc_byte_buffer_reader_test test/core/surface/byte_buffer_reader_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_byte_buffer_reader_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_byte_buffer_reader_test PUBLIC cxx_std_14) target_include_directories(grpc_byte_buffer_reader_test PRIVATE @@ -13118,6 +14874,16 @@ add_executable(grpc_cli test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_cli + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_cli PUBLIC cxx_std_14) target_include_directories(grpc_cli PRIVATE @@ -13148,6 +14914,15 @@ if(gRPC_BUILD_TESTS) add_executable(grpc_completion_queue_test test/core/surface/completion_queue_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_completion_queue_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_completion_queue_test PUBLIC cxx_std_14) target_include_directories(grpc_completion_queue_test PRIVATE @@ -13267,6 +15042,15 @@ add_executable(grpc_ipv6_loopback_available_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_ipv6_loopback_available_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_ipv6_loopback_available_test PUBLIC cxx_std_14) target_include_directories(grpc_ipv6_loopback_available_test PRIVATE @@ -13500,6 +15284,15 @@ add_executable(grpc_tls_certificate_distributor_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_tls_certificate_distributor_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_tls_certificate_distributor_test PUBLIC cxx_std_14) target_include_directories(grpc_tls_certificate_distributor_test PRIVATE @@ -13543,6 +15336,15 @@ add_executable(grpc_tls_certificate_provider_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_tls_certificate_provider_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_tls_certificate_provider_test PUBLIC cxx_std_14) target_include_directories(grpc_tls_certificate_provider_test PRIVATE @@ -13586,6 +15388,15 @@ add_executable(grpc_tls_certificate_verifier_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_tls_certificate_verifier_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_tls_certificate_verifier_test PUBLIC cxx_std_14) target_include_directories(grpc_tls_certificate_verifier_test PRIVATE @@ -13629,6 +15440,15 @@ add_executable(grpc_tls_credentials_options_comparator_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_tls_credentials_options_comparator_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_tls_credentials_options_comparator_test PUBLIC cxx_std_14) target_include_directories(grpc_tls_credentials_options_comparator_test PRIVATE @@ -13672,6 +15492,15 @@ add_executable(grpc_tls_credentials_options_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_tls_credentials_options_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_tls_credentials_options_test PUBLIC cxx_std_14) target_include_directories(grpc_tls_credentials_options_test PRIVATE @@ -13715,6 +15544,15 @@ add_executable(grpc_tls_crl_provider_test test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc test/core/security/grpc_tls_crl_provider_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_tls_crl_provider_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpc_tls_crl_provider_test PUBLIC cxx_std_14) target_include_directories(grpc_tls_crl_provider_test PRIVATE @@ -13772,6 +15610,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpc_tool_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(grpc_tool_test PUBLIC cxx_std_14) target_include_directories(grpc_tool_test PRIVATE @@ -13813,6 +15661,16 @@ add_executable(grpclb_api_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h test/cpp/grpclb/grpclb_api_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpclb_api_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(grpclb_api_test PUBLIC cxx_std_14) target_include_directories(grpclb_api_test PRIVATE @@ -13872,6 +15730,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/grpclb_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(grpclb_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(grpclb_end2end_test PUBLIC cxx_std_14) target_include_directories(grpclb_end2end_test PRIVATE @@ -13915,6 +15783,15 @@ add_executable(h2_ssl_cert_test test/core/end2end/h2_ssl_cert_test.cc test/core/event_engine/event_engine_test_utils.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(h2_ssl_cert_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(h2_ssl_cert_test PUBLIC cxx_std_14) target_include_directories(h2_ssl_cert_test PRIVATE @@ -13949,6 +15826,15 @@ add_executable(h2_ssl_session_reuse_test test/core/end2end/cq_verifier.cc test/core/end2end/h2_ssl_session_reuse_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(h2_ssl_session_reuse_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(h2_ssl_session_reuse_test PUBLIC cxx_std_14) target_include_directories(h2_ssl_session_reuse_test PRIVATE @@ -13983,6 +15869,15 @@ add_executable(h2_tls_peer_property_external_verifier_test test/core/end2end/cq_verifier.cc test/core/end2end/h2_tls_peer_property_external_verifier_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(h2_tls_peer_property_external_verifier_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(h2_tls_peer_property_external_verifier_test PUBLIC cxx_std_14) target_include_directories(h2_tls_peer_property_external_verifier_test PRIVATE @@ -14016,6 +15911,15 @@ if(gRPC_BUILD_TESTS) add_executable(handle_tests test/core/event_engine/handle_tests.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(handle_tests + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(handle_tests PUBLIC cxx_std_14) target_include_directories(handle_tests PRIVATE @@ -14051,6 +15955,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/handshake/readahead_handshaker_server_ssl.cc test/core/handshake/server_ssl_common.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(handshake_server_with_readahead_handshaker_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(handshake_server_with_readahead_handshaker_test PUBLIC cxx_std_14) target_include_directories(handshake_server_with_readahead_handshaker_test PRIVATE @@ -14087,6 +16000,15 @@ add_executable(head_of_line_blocking_bad_client_test test/core/bad_client/tests/head_of_line_blocking.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(head_of_line_blocking_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(head_of_line_blocking_bad_client_test PUBLIC cxx_std_14) target_include_directories(head_of_line_blocking_bad_client_test PRIVATE @@ -14122,6 +16044,15 @@ add_executable(headers_bad_client_test test/core/bad_client/tests/headers.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(headers_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(headers_bad_client_test PUBLIC cxx_std_14) target_include_directories(headers_bad_client_test PRIVATE @@ -14181,6 +16112,16 @@ add_executable(health_service_end2end_test test/cpp/end2end/test_health_check_service_impl.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(health_service_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(health_service_end2end_test PUBLIC cxx_std_14) target_include_directories(health_service_end2end_test PRIVATE @@ -14223,6 +16164,15 @@ add_executable(high_initial_seqno_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(high_initial_seqno_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(high_initial_seqno_test PUBLIC cxx_std_14) target_include_directories(high_initial_seqno_test PRIVATE @@ -14268,6 +16218,15 @@ add_executable(histogram_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(histogram_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(histogram_test PUBLIC cxx_std_14) target_include_directories(histogram_test PRIVATE @@ -14301,6 +16260,15 @@ if(gRPC_BUILD_TESTS) add_executable(host_port_test test/core/gprpp/host_port_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(host_port_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(host_port_test PUBLIC cxx_std_14) target_include_directories(host_port_test PRIVATE @@ -14344,6 +16312,15 @@ add_executable(hpack_encoder_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(hpack_encoder_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(hpack_encoder_test PUBLIC cxx_std_14) target_include_directories(hpack_encoder_test PRIVATE @@ -14387,6 +16364,15 @@ add_executable(hpack_parser_table_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(hpack_parser_table_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(hpack_parser_table_test PUBLIC cxx_std_14) target_include_directories(hpack_parser_table_test PRIVATE @@ -14430,6 +16416,15 @@ add_executable(hpack_parser_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(hpack_parser_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(hpack_parser_test PUBLIC cxx_std_14) target_include_directories(hpack_parser_test PRIVATE @@ -14472,6 +16467,15 @@ add_executable(hpack_size_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(hpack_size_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(hpack_size_test PUBLIC cxx_std_14) target_include_directories(hpack_size_test PRIVATE @@ -14519,6 +16523,16 @@ add_executable(http2_client ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h test/cpp/interop/http2_client.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(http2_client + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(http2_client PUBLIC cxx_std_14) target_include_directories(http2_client PRIVATE @@ -14590,6 +16604,15 @@ add_executable(http2_stats_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(http2_stats_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(http2_stats_test PUBLIC cxx_std_14) target_include_directories(http2_stats_test PRIVATE @@ -14625,6 +16648,15 @@ if(gRPC_BUILD_TESTS) add_executable(http_proxy_mapper_test test/core/client_channel/http_proxy_mapper_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(http_proxy_mapper_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(http_proxy_mapper_test PUBLIC cxx_std_14) target_include_directories(http_proxy_mapper_test PRIVATE @@ -14661,6 +16693,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/http/httpcli_test_util.cc test/core/util/fake_udp_and_tcp_server.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(httpcli_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(httpcli_test PUBLIC cxx_std_14) target_include_directories(httpcli_test PRIVATE @@ -14698,6 +16740,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/http/httpscli_test.cc test/core/util/fake_udp_and_tcp_server.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(httpscli_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(httpscli_test PUBLIC cxx_std_14) target_include_directories(httpscli_test PRIVATE @@ -14753,6 +16805,16 @@ add_executable(hybrid_end2end_test test/cpp/end2end/hybrid_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(hybrid_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(hybrid_end2end_test PUBLIC cxx_std_14) target_include_directories(hybrid_end2end_test PRIVATE @@ -14851,6 +16913,14 @@ if(gRPC_BUILD_TESTS) add_executable(if_test test/core/promise/if_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(if_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(if_test PUBLIC cxx_std_14) target_include_directories(if_test PRIVATE @@ -14886,6 +16956,15 @@ if(gRPC_BUILD_TESTS) add_executable(init_test test/core/surface/init_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(init_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(init_test PUBLIC cxx_std_14) target_include_directories(init_test PRIVATE @@ -14921,6 +17000,15 @@ add_executable(initial_settings_frame_bad_client_test test/core/bad_client/tests/initial_settings_frame.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(initial_settings_frame_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(initial_settings_frame_bad_client_test PUBLIC cxx_std_14) target_include_directories(initial_settings_frame_bad_client_test PRIVATE @@ -14964,6 +17052,15 @@ add_executable(insecure_security_connector_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(insecure_security_connector_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(insecure_security_connector_test PUBLIC cxx_std_14) target_include_directories(insecure_security_connector_test PRIVATE @@ -14997,6 +17094,15 @@ if(gRPC_BUILD_TESTS) add_executable(inter_activity_latch_test test/core/promise/inter_activity_latch_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(inter_activity_latch_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(inter_activity_latch_test PUBLIC cxx_std_14) target_include_directories(inter_activity_latch_test PRIVATE @@ -15033,9 +17139,17 @@ add_executable(inter_activity_pipe_test src/core/lib/promise/trace.cc test/core/promise/inter_activity_pipe_test.cc ) -target_compile_features(inter_activity_pipe_test PUBLIC cxx_std_14) -target_include_directories(inter_activity_pipe_test - PRIVATE +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(inter_activity_pipe_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() +target_compile_features(inter_activity_pipe_test PUBLIC cxx_std_14) +target_include_directories(inter_activity_pipe_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} @@ -15106,6 +17220,14 @@ add_executable(interceptor_list_test third_party/upb/upb/wire/eps_copy_input_stream.c third_party/upb/upb/wire/reader.c ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(interceptor_list_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(interceptor_list_test PUBLIC cxx_std_14) target_include_directories(interceptor_list_test PRIVATE @@ -15161,6 +17283,16 @@ add_executable(interop_client test/cpp/interop/client_helper.cc test/cpp/interop/interop_client.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(interop_client + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(interop_client PUBLIC cxx_std_14) target_include_directories(interop_client PRIVATE @@ -15205,6 +17337,16 @@ add_executable(interop_server test/cpp/interop/interop_server_bootstrap.cc test/cpp/interop/server_helper.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(interop_server + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(interop_server PUBLIC cxx_std_14) target_include_directories(interop_server PRIVATE @@ -15235,6 +17377,15 @@ add_executable(invalid_call_argument_test test/core/end2end/cq_verifier.cc test/core/end2end/invalid_call_argument_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(invalid_call_argument_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(invalid_call_argument_test PUBLIC cxx_std_14) target_include_directories(invalid_call_argument_test PRIVATE @@ -15277,6 +17428,15 @@ add_executable(invoke_large_request_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(invoke_large_request_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(invoke_large_request_test PUBLIC cxx_std_14) target_include_directories(invoke_large_request_test PRIVATE @@ -15314,6 +17474,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX OR _gRPC_PLATFORM_WINDOWS) test/core/event_engine/windows/create_sockpair.cc test/core/event_engine/windows/iocp_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(iocp_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(iocp_test PUBLIC cxx_std_14) target_include_directories(iocp_test PRIVATE @@ -15353,6 +17522,16 @@ add_executable(istio_echo_server_test test/cpp/interop/istio_echo_server_lib.cc test/cpp/interop/istio_echo_server_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(istio_echo_server_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(istio_echo_server_test PUBLIC cxx_std_14) target_include_directories(istio_echo_server_test PRIVATE @@ -15390,6 +17569,14 @@ add_executable(join_test src/core/lib/promise/trace.cc test/core/promise/join_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(join_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(join_test PUBLIC cxx_std_14) target_include_directories(join_test PRIVATE @@ -15425,6 +17612,15 @@ if(gRPC_BUILD_TESTS) add_executable(json_object_loader_test test/core/json/json_object_loader_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(json_object_loader_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(json_object_loader_test PUBLIC cxx_std_14) target_include_directories(json_object_loader_test PRIVATE @@ -15458,6 +17654,15 @@ if(gRPC_BUILD_TESTS) add_executable(json_test test/core/json/json_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(json_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(json_test PUBLIC cxx_std_14) target_include_directories(json_test PRIVATE @@ -15501,6 +17706,15 @@ add_executable(json_token_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(json_token_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(json_token_test PUBLIC cxx_std_14) target_include_directories(json_token_test PRIVATE @@ -15544,6 +17758,15 @@ add_executable(jwt_verifier_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(jwt_verifier_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(jwt_verifier_test PUBLIC cxx_std_14) target_include_directories(jwt_verifier_test PRIVATE @@ -15586,6 +17809,15 @@ add_executable(keepalive_timeout_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(keepalive_timeout_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(keepalive_timeout_test PUBLIC cxx_std_14) target_include_directories(keepalive_timeout_test PRIVATE @@ -15622,6 +17854,15 @@ add_executable(lame_client_test test/core/end2end/cq_verifier.cc test/core/surface/lame_client_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(lame_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(lame_client_test PUBLIC cxx_std_14) target_include_directories(lame_client_test PRIVATE @@ -15664,6 +17905,15 @@ add_executable(large_metadata_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(large_metadata_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(large_metadata_test PUBLIC cxx_std_14) target_include_directories(large_metadata_test PRIVATE @@ -15702,6 +17952,14 @@ add_executable(latch_test src/core/lib/promise/trace.cc test/core/promise/latch_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(latch_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(latch_test PUBLIC cxx_std_14) target_include_directories(latch_test PRIVATE @@ -15742,6 +18000,15 @@ add_executable(lb_get_cpu_stats_test src/cpp/server/load_reporter/get_cpu_stats_windows.cc test/cpp/server/load_reporter/get_cpu_stats_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(lb_get_cpu_stats_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(lb_get_cpu_stats_test PUBLIC cxx_std_14) target_include_directories(lb_get_cpu_stats_test PRIVATE @@ -15776,6 +18043,16 @@ add_executable(lb_load_data_store_test src/cpp/server/load_reporter/load_data_store.cc test/cpp/server/load_reporter/load_data_store_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(lb_load_data_store_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(lb_load_data_store_test PUBLIC cxx_std_14) target_include_directories(lb_load_data_store_test PRIVATE @@ -15810,6 +18087,15 @@ if(gRPC_BUILD_TESTS) add_executable(load_config_test test/core/config/load_config_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(load_config_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(load_config_test PUBLIC cxx_std_14) target_include_directories(load_config_test PRIVATE @@ -15844,6 +18130,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) add_executable(lock_free_event_test test/core/event_engine/posix/lock_free_event_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(lock_free_event_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(lock_free_event_test PUBLIC cxx_std_14) target_include_directories(lock_free_event_test PRIVATE @@ -15879,6 +18174,15 @@ if(gRPC_BUILD_TESTS) add_executable(log_test test/core/gpr/log_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(log_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(log_test PUBLIC cxx_std_14) target_include_directories(log_test PRIVATE @@ -15913,6 +18217,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(log_too_many_open_files_test test/core/event_engine/posix/log_too_many_open_files_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(log_too_many_open_files_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(log_too_many_open_files_test PUBLIC cxx_std_14) target_include_directories(log_too_many_open_files_test PRIVATE @@ -15949,6 +18262,14 @@ add_executable(loop_test src/core/lib/promise/trace.cc test/core/promise/loop_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(loop_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(loop_test PUBLIC cxx_std_14) target_include_directories(loop_test PRIVATE @@ -16021,6 +18342,14 @@ add_executable(map_pipe_test third_party/upb/upb/wire/eps_copy_input_stream.c third_party/upb/upb/wire/reader.c ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(map_pipe_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(map_pipe_test PUBLIC cxx_std_14) target_include_directories(map_pipe_test PRIVATE @@ -16102,6 +18431,15 @@ add_executable(matchers_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(matchers_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(matchers_test PUBLIC cxx_std_14) target_include_directories(matchers_test PRIVATE @@ -16136,6 +18474,14 @@ add_executable(max_concurrent_streams_policy_test src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc test/core/transport/chttp2/max_concurrent_streams_policy_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(max_concurrent_streams_policy_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(max_concurrent_streams_policy_test PUBLIC cxx_std_14) target_include_directories(max_concurrent_streams_policy_test PRIVATE @@ -16178,6 +18524,15 @@ add_executable(max_concurrent_streams_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(max_concurrent_streams_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(max_concurrent_streams_test PUBLIC cxx_std_14) target_include_directories(max_concurrent_streams_test PRIVATE @@ -16222,6 +18577,15 @@ add_executable(max_connection_age_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(max_connection_age_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(max_connection_age_test PUBLIC cxx_std_14) target_include_directories(max_connection_age_test PRIVATE @@ -16266,6 +18630,15 @@ add_executable(max_connection_idle_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(max_connection_idle_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(max_connection_idle_test PUBLIC cxx_std_14) target_include_directories(max_connection_idle_test PRIVATE @@ -16310,6 +18683,15 @@ add_executable(max_message_length_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(max_message_length_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(max_message_length_test PUBLIC cxx_std_14) target_include_directories(max_message_length_test PRIVATE @@ -16346,6 +18728,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) add_executable(memory_quota_stress_test test/core/resource_quota/memory_quota_stress_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(memory_quota_stress_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(memory_quota_stress_test PUBLIC cxx_std_14) target_include_directories(memory_quota_stress_test PRIVATE @@ -16380,6 +18771,15 @@ if(gRPC_BUILD_TESTS) add_executable(memory_quota_test test/core/resource_quota/memory_quota_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(memory_quota_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(memory_quota_test PUBLIC cxx_std_14) target_include_directories(memory_quota_test PRIVATE @@ -16430,6 +18830,16 @@ add_executable(message_allocator_end2end_test test/cpp/end2end/message_allocator_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(message_allocator_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(message_allocator_end2end_test PUBLIC cxx_std_14) target_include_directories(message_allocator_end2end_test PRIVATE @@ -16473,6 +18883,15 @@ add_executable(message_compress_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(message_compress_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(message_compress_test PUBLIC cxx_std_14) target_include_directories(message_compress_test PRIVATE @@ -16506,6 +18925,15 @@ if(gRPC_BUILD_TESTS) add_executable(message_size_service_config_test test/core/message_size/message_size_service_config_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(message_size_service_config_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(message_size_service_config_test PUBLIC cxx_std_14) target_include_directories(message_size_service_config_test PRIVATE @@ -16549,6 +18977,15 @@ add_executable(metadata_map_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(metadata_map_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(metadata_map_test PUBLIC cxx_std_14) target_include_directories(metadata_map_test PRIVATE @@ -16582,6 +19019,15 @@ if(gRPC_BUILD_TESTS) add_executable(minimal_stack_is_minimal_test test/core/channel/minimal_stack_is_minimal_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(minimal_stack_is_minimal_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(minimal_stack_is_minimal_test PUBLIC cxx_std_14) target_include_directories(minimal_stack_is_minimal_test PRIVATE @@ -16663,6 +19109,16 @@ add_executable(mock_stream_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/test/mock_stream_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(mock_stream_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(mock_stream_test PUBLIC cxx_std_14) target_include_directories(mock_stream_test PRIVATE @@ -16716,6 +19172,16 @@ add_executable(mock_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/mock_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(mock_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(mock_test PUBLIC cxx_std_14) target_include_directories(mock_test PRIVATE @@ -16750,6 +19216,14 @@ add_executable(mpsc_test src/core/lib/promise/activity.cc test/core/promise/mpsc_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(mpsc_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(mpsc_test PUBLIC cxx_std_14) target_include_directories(mpsc_test PRIVATE @@ -16787,6 +19261,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(mpscq_test test/core/gprpp/mpscq_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(mpscq_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(mpscq_test PUBLIC cxx_std_14) target_include_directories(mpscq_test PRIVATE @@ -16830,6 +19313,15 @@ add_executable(negative_deadline_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(negative_deadline_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(negative_deadline_test PUBLIC cxx_std_14) target_include_directories(negative_deadline_test PRIVATE @@ -16906,6 +19398,15 @@ add_executable(no_logging_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(no_logging_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(no_logging_test PUBLIC cxx_std_14) target_include_directories(no_logging_test PRIVATE @@ -16950,6 +19451,15 @@ add_executable(no_op_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(no_op_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(no_op_test PUBLIC cxx_std_14) target_include_directories(no_op_test PRIVATE @@ -16986,9 +19496,18 @@ add_executable(no_server_test test/core/end2end/cq_verifier.cc test/core/end2end/no_server_test.cc ) -target_compile_features(no_server_test PUBLIC cxx_std_14) -target_include_directories(no_server_test - PRIVATE +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(no_server_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() +target_compile_features(no_server_test PUBLIC cxx_std_14) +target_include_directories(no_server_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} @@ -17035,6 +19554,16 @@ add_executable(nonblocking_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/nonblocking_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(nonblocking_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(nonblocking_test PUBLIC cxx_std_14) target_include_directories(nonblocking_test PRIVATE @@ -17068,6 +19597,14 @@ if(gRPC_BUILD_TESTS) add_executable(notification_test test/core/gprpp/notification_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(notification_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(notification_test PUBLIC cxx_std_14) target_include_directories(notification_test PRIVATE @@ -17101,6 +19638,15 @@ if(gRPC_BUILD_TESTS) add_executable(num_external_connectivity_watchers_test test/core/surface/num_external_connectivity_watchers_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(num_external_connectivity_watchers_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(num_external_connectivity_watchers_test PUBLIC cxx_std_14) target_include_directories(num_external_connectivity_watchers_test PRIVATE @@ -17140,6 +19686,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/event_engine/test_suite/tests/client_test.cc test/core/event_engine/test_suite/tests/server_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(oracle_event_engine_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(oracle_event_engine_posix_test PUBLIC cxx_std_14) target_include_directories(oracle_event_engine_posix_test PRIVATE @@ -17183,6 +19738,16 @@ add_executable(orca_service_end2end_test src/cpp/server/orca/orca_service.cc test/cpp/end2end/orca_service_end2end_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(orca_service_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(orca_service_end2end_test PUBLIC cxx_std_14) target_include_directories(orca_service_end2end_test PRIVATE @@ -17216,6 +19781,15 @@ if(gRPC_BUILD_TESTS) add_executable(orphanable_test test/core/gprpp/orphanable_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(orphanable_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(orphanable_test PUBLIC cxx_std_14) target_include_directories(orphanable_test PRIVATE @@ -17284,6 +19858,15 @@ add_executable(out_of_bounds_bad_client_test test/core/bad_client/tests/out_of_bounds.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(out_of_bounds_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(out_of_bounds_bad_client_test PUBLIC cxx_std_14) target_include_directories(out_of_bounds_bad_client_test PRIVATE @@ -17317,6 +19900,15 @@ if(gRPC_BUILD_TESTS) add_executable(outlier_detection_lb_config_parser_test test/core/client_channel/lb_policy/outlier_detection_lb_config_parser_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(outlier_detection_lb_config_parser_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(outlier_detection_lb_config_parser_test PUBLIC cxx_std_14) target_include_directories(outlier_detection_lb_config_parser_test PRIVATE @@ -17356,6 +19948,15 @@ add_executable(outlier_detection_test test/core/event_engine/event_engine_test_utils.cc test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(outlier_detection_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(outlier_detection_test PUBLIC cxx_std_14) target_include_directories(outlier_detection_test PRIVATE @@ -17422,6 +20023,15 @@ if(gRPC_BUILD_TESTS) add_executable(parse_address_test test/core/address_utils/parse_address_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(parse_address_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(parse_address_test PUBLIC cxx_std_14) target_include_directories(parse_address_test PRIVATE @@ -17456,6 +20066,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(parse_address_with_named_scope_id_test test/core/address_utils/parse_address_with_named_scope_id_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(parse_address_with_named_scope_id_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(parse_address_with_named_scope_id_test PUBLIC cxx_std_14) target_include_directories(parse_address_with_named_scope_id_test PRIVATE @@ -17490,6 +20109,15 @@ if(gRPC_BUILD_TESTS) add_executable(parsed_metadata_test test/core/transport/parsed_metadata_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(parsed_metadata_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(parsed_metadata_test PUBLIC cxx_std_14) target_include_directories(parsed_metadata_test PRIVATE @@ -17537,6 +20165,15 @@ add_executable(parser_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(parser_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(parser_test PUBLIC cxx_std_14) target_include_directories(parser_test PRIVATE @@ -17570,6 +20207,15 @@ if(gRPC_BUILD_TESTS) add_executable(party_test test/core/promise/party_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(party_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(party_test PUBLIC cxx_std_14) target_include_directories(party_test PRIVATE @@ -17612,6 +20258,15 @@ add_executable(payload_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(payload_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(payload_test PUBLIC cxx_std_14) target_include_directories(payload_test PRIVATE @@ -17647,6 +20302,15 @@ if(gRPC_BUILD_TESTS) add_executable(percent_encoding_test test/core/slice/percent_encoding_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(percent_encoding_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(percent_encoding_test PUBLIC cxx_std_14) target_include_directories(percent_encoding_test PRIVATE @@ -17710,6 +20374,14 @@ add_executable(periodic_update_test third_party/upb/upb/wire/eps_copy_input_stream.c third_party/upb/upb/wire/reader.c ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(periodic_update_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(periodic_update_test PUBLIC cxx_std_14) target_include_directories(periodic_update_test PRIVATE @@ -17754,6 +20426,15 @@ add_executable(pick_first_test test/core/event_engine/event_engine_test_utils.cc test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(pick_first_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(pick_first_test PUBLIC cxx_std_14) target_include_directories(pick_first_test PRIVATE @@ -17798,6 +20479,15 @@ add_executable(ping_abuse_policy_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ping_abuse_policy_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ping_abuse_policy_test PUBLIC cxx_std_14) target_include_directories(ping_abuse_policy_test PRIVATE @@ -17831,6 +20521,15 @@ if(gRPC_BUILD_TESTS) add_executable(ping_callbacks_test test/core/transport/chttp2/ping_callbacks_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ping_callbacks_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ping_callbacks_test PUBLIC cxx_std_14) target_include_directories(ping_callbacks_test PRIVATE @@ -17874,6 +20573,15 @@ add_executable(ping_configuration_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ping_configuration_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ping_configuration_test PUBLIC cxx_std_14) target_include_directories(ping_configuration_test PRIVATE @@ -17916,6 +20624,15 @@ add_executable(ping_pong_streaming_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ping_pong_streaming_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ping_pong_streaming_test PUBLIC cxx_std_14) target_include_directories(ping_pong_streaming_test PRIVATE @@ -17961,6 +20678,15 @@ add_executable(ping_rate_policy_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ping_rate_policy_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ping_rate_policy_test PUBLIC cxx_std_14) target_include_directories(ping_rate_policy_test PRIVATE @@ -18003,6 +20729,15 @@ add_executable(ping_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ping_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ping_test PUBLIC cxx_std_14) target_include_directories(ping_test PRIVATE @@ -18038,6 +20773,15 @@ if(gRPC_BUILD_TESTS) add_executable(pipe_test test/core/promise/pipe_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(pipe_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(pipe_test PUBLIC cxx_std_14) target_include_directories(pipe_test PRIVATE @@ -18071,6 +20815,14 @@ if(gRPC_BUILD_TESTS) add_executable(poll_test test/core/promise/poll_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(poll_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(poll_test PUBLIC cxx_std_14) target_include_directories(poll_test PRIVATE @@ -18121,6 +20873,16 @@ add_executable(port_sharing_end2end_test test/cpp/end2end/port_sharing_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(port_sharing_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(port_sharing_end2end_test PUBLIC cxx_std_14) target_include_directories(port_sharing_end2end_test PRIVATE @@ -18159,6 +20921,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/event_engine/test_suite/event_engine_test_framework.cc test/core/event_engine/test_suite/posix/oracle_event_engine_posix.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(posix_endpoint_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(posix_endpoint_test PUBLIC cxx_std_14) target_include_directories(posix_endpoint_test PRIVATE @@ -18194,6 +20965,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(posix_engine_listener_utils_test test/core/event_engine/posix/posix_engine_listener_utils_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(posix_engine_listener_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(posix_engine_listener_utils_test PUBLIC cxx_std_14) target_include_directories(posix_engine_listener_utils_test PRIVATE @@ -18232,6 +21012,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/core/event_engine/test_suite/event_engine_test_framework.cc test/core/event_engine/test_suite/posix/oracle_event_engine_posix.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(posix_event_engine_connect_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(posix_event_engine_connect_test PUBLIC cxx_std_14) target_include_directories(posix_event_engine_connect_test PRIVATE @@ -18274,6 +21063,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/cpp/util/get_grpc_test_runfile_dir.cc test/cpp/util/windows/manifest_file.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(posix_event_engine_native_dns_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(posix_event_engine_native_dns_test PUBLIC cxx_std_14) target_include_directories(posix_event_engine_native_dns_test PRIVATE @@ -18319,6 +21118,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/cpp/util/get_grpc_test_runfile_dir.cc test/cpp/util/windows/manifest_file.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(posix_event_engine_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(posix_event_engine_test PUBLIC cxx_std_14) target_include_directories(posix_event_engine_test PRIVATE @@ -18394,6 +21203,16 @@ add_executable(pre_stop_hook_server_test test/cpp/interop/pre_stop_hook_server_test.cc test/cpp/interop/xds_interop_server_lib.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(pre_stop_hook_server_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(pre_stop_hook_server_test PUBLIC cxx_std_14) target_include_directories(pre_stop_hook_server_test PRIVATE @@ -18430,6 +21249,14 @@ if(gRPC_BUILD_TESTS) add_executable(prioritized_race_test test/core/promise/prioritized_race_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(prioritized_race_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(prioritized_race_test PUBLIC cxx_std_14) target_include_directories(prioritized_race_test PRIVATE @@ -18464,6 +21291,15 @@ add_executable(promise_endpoint_test src/core/lib/transport/promise_endpoint.cc test/core/transport/promise_endpoint_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(promise_endpoint_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(promise_endpoint_test PUBLIC cxx_std_14) target_include_directories(promise_endpoint_test PRIVATE @@ -18497,6 +21333,14 @@ if(gRPC_BUILD_TESTS) add_executable(promise_factory_test test/core/promise/promise_factory_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(promise_factory_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(promise_factory_test PUBLIC cxx_std_14) target_include_directories(promise_factory_test PRIVATE @@ -18532,6 +21376,14 @@ if(gRPC_BUILD_TESTS) add_executable(promise_map_test test/core/promise/map_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(promise_map_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(promise_map_test PUBLIC cxx_std_14) target_include_directories(promise_map_test PRIVATE @@ -18569,6 +21421,14 @@ add_executable(promise_mutex_test src/core/lib/promise/trace.cc test/core/promise/promise_mutex_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(promise_mutex_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(promise_mutex_test PUBLIC cxx_std_14) target_include_directories(promise_mutex_test PRIVATE @@ -18605,6 +21465,14 @@ if(gRPC_BUILD_TESTS) add_executable(promise_test test/core/promise/promise_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(promise_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(promise_test PUBLIC cxx_std_14) target_include_directories(promise_test PRIVATE @@ -18639,6 +21507,16 @@ if(gRPC_BUILD_TESTS) add_executable(proto_buffer_reader_test test/cpp/util/proto_buffer_reader_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(proto_buffer_reader_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(proto_buffer_reader_test PUBLIC cxx_std_14) target_include_directories(proto_buffer_reader_test PRIVATE @@ -18672,6 +21550,16 @@ if(gRPC_BUILD_TESTS) add_executable(proto_buffer_writer_test test/cpp/util/proto_buffer_writer_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(proto_buffer_writer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(proto_buffer_writer_test PUBLIC cxx_std_14) target_include_directories(proto_buffer_writer_test PRIVATE @@ -18727,6 +21615,16 @@ add_executable(proto_server_reflection_test test/cpp/end2end/test_service_impl.cc test/cpp/util/proto_reflection_descriptor_database.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(proto_server_reflection_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(proto_server_reflection_test PUBLIC cxx_std_14) target_include_directories(proto_server_reflection_test PRIVATE @@ -18761,6 +21659,16 @@ if(gRPC_BUILD_TESTS) add_executable(proto_utils_test test/cpp/codegen/proto_utils_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(proto_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(proto_utils_test PUBLIC cxx_std_14) target_include_directories(proto_utils_test PRIVATE @@ -18804,6 +21712,15 @@ add_executable(proxy_auth_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(proxy_auth_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(proxy_auth_test PUBLIC cxx_std_14) target_include_directories(proxy_auth_test PRIVATE @@ -18880,6 +21797,16 @@ add_executable(qps_json_driver test/cpp/qps/server_sync.cc test/cpp/qps/usage_timer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(qps_json_driver + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(qps_json_driver PUBLIC cxx_std_14) target_include_directories(qps_json_driver PRIVATE @@ -18942,11 +21869,21 @@ add_executable(qps_worker test/cpp/qps/usage_timer.cc test/cpp/qps/worker.cc ) -target_compile_features(qps_worker PUBLIC cxx_std_14) -target_include_directories(qps_worker - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(qps_worker + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() +target_compile_features(qps_worker PUBLIC cxx_std_14) +target_include_directories(qps_worker + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/include ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} ${_gRPC_RE2_INCLUDE_DIR} ${_gRPC_SSL_INCLUDE_DIR} @@ -18971,6 +21908,14 @@ if(gRPC_BUILD_TESTS) add_executable(query_extensions_test test/core/event_engine/query_extensions_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(query_extensions_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(query_extensions_test PUBLIC cxx_std_14) target_include_directories(query_extensions_test PRIVATE @@ -19005,6 +21950,14 @@ if(gRPC_BUILD_TESTS) add_executable(race_test test/core/promise/race_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(race_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(race_test PUBLIC cxx_std_14) target_include_directories(race_test PRIVATE @@ -19095,6 +22048,16 @@ add_executable(raw_end2end_test test/cpp/end2end/raw_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(raw_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(raw_end2end_test PUBLIC cxx_std_14) target_include_directories(raw_end2end_test PRIVATE @@ -19128,6 +22091,15 @@ if(gRPC_BUILD_TESTS) add_executable(rbac_service_config_parser_test test/core/ext/filters/rbac/rbac_service_config_parser_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(rbac_service_config_parser_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(rbac_service_config_parser_test PUBLIC cxx_std_14) target_include_directories(rbac_service_config_parser_test PRIVATE @@ -19171,6 +22143,15 @@ add_executable(rbac_translator_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(rbac_translator_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(rbac_translator_test PUBLIC cxx_std_14) target_include_directories(rbac_translator_test PRIVATE @@ -19205,6 +22186,15 @@ if(gRPC_BUILD_TESTS) add_executable(ref_counted_ptr_test test/core/gprpp/ref_counted_ptr_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ref_counted_ptr_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ref_counted_ptr_test PUBLIC cxx_std_14) target_include_directories(ref_counted_ptr_test PRIVATE @@ -19238,6 +22228,15 @@ if(gRPC_BUILD_TESTS) add_executable(ref_counted_test test/core/gprpp/ref_counted_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ref_counted_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ref_counted_test PUBLIC cxx_std_14) target_include_directories(ref_counted_test PRIVATE @@ -19280,6 +22279,15 @@ add_executable(registered_call_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(registered_call_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(registered_call_test PUBLIC cxx_std_14) target_include_directories(registered_call_test PRIVATE @@ -19316,6 +22324,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(remove_stream_from_stalled_lists_test test/core/transport/chttp2/remove_stream_from_stalled_lists_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(remove_stream_from_stalled_lists_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(remove_stream_from_stalled_lists_test PUBLIC cxx_std_14) target_include_directories(remove_stream_from_stalled_lists_test PRIVATE @@ -19359,6 +22376,15 @@ add_executable(request_with_flags_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(request_with_flags_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(request_with_flags_test PUBLIC cxx_std_14) target_include_directories(request_with_flags_test PRIVATE @@ -19403,6 +22429,15 @@ add_executable(request_with_payload_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(request_with_payload_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(request_with_payload_test PUBLIC cxx_std_14) target_include_directories(request_with_payload_test PRIVATE @@ -19449,6 +22484,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(resolve_address_using_ares_resolver_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(resolve_address_using_ares_resolver_posix_test PUBLIC cxx_std_14) target_include_directories(resolve_address_using_ares_resolver_posix_test PRIVATE @@ -19494,6 +22538,15 @@ add_executable(resolve_address_using_ares_resolver_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(resolve_address_using_ares_resolver_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(resolve_address_using_ares_resolver_test PUBLIC cxx_std_14) target_include_directories(resolve_address_using_ares_resolver_test PRIVATE @@ -19539,6 +22592,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(resolve_address_using_native_resolver_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(resolve_address_using_native_resolver_posix_test PUBLIC cxx_std_14) target_include_directories(resolve_address_using_native_resolver_posix_test PRIVATE @@ -19584,6 +22646,15 @@ add_executable(resolve_address_using_native_resolver_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(resolve_address_using_native_resolver_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(resolve_address_using_native_resolver_test PUBLIC cxx_std_14) target_include_directories(resolve_address_using_native_resolver_test PRIVATE @@ -19634,6 +22705,16 @@ add_executable(resource_quota_end2end_stress_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/resource_quota_end2end_stress_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(resource_quota_end2end_stress_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(resource_quota_end2end_stress_test PUBLIC cxx_std_14) target_include_directories(resource_quota_end2end_stress_test PRIVATE @@ -19676,6 +22757,15 @@ add_executable(resource_quota_server_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(resource_quota_server_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(resource_quota_server_test PUBLIC cxx_std_14) target_include_directories(resource_quota_server_test PRIVATE @@ -19711,6 +22801,15 @@ if(gRPC_BUILD_TESTS) add_executable(resource_quota_test test/core/resource_quota/resource_quota_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(resource_quota_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(resource_quota_test PUBLIC cxx_std_14) target_include_directories(resource_quota_test PRIVATE @@ -19753,6 +22852,15 @@ add_executable(retry_cancel_after_first_attempt_starts_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_cancel_after_first_attempt_starts_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_cancel_after_first_attempt_starts_test PUBLIC cxx_std_14) target_include_directories(retry_cancel_after_first_attempt_starts_test PRIVATE @@ -19797,6 +22905,15 @@ add_executable(retry_cancel_during_delay_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_cancel_during_delay_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_cancel_during_delay_test PUBLIC cxx_std_14) target_include_directories(retry_cancel_during_delay_test PRIVATE @@ -19841,6 +22958,15 @@ add_executable(retry_cancel_with_multiple_send_batches_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_cancel_with_multiple_send_batches_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_cancel_with_multiple_send_batches_test PUBLIC cxx_std_14) target_include_directories(retry_cancel_with_multiple_send_batches_test PRIVATE @@ -19885,6 +23011,15 @@ add_executable(retry_cancellation_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_cancellation_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_cancellation_test PUBLIC cxx_std_14) target_include_directories(retry_cancellation_test PRIVATE @@ -19929,6 +23064,15 @@ add_executable(retry_disabled_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_disabled_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_disabled_test PUBLIC cxx_std_14) target_include_directories(retry_disabled_test PRIVATE @@ -19973,6 +23117,15 @@ add_executable(retry_exceeds_buffer_size_in_delay_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_exceeds_buffer_size_in_delay_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_exceeds_buffer_size_in_delay_test PUBLIC cxx_std_14) target_include_directories(retry_exceeds_buffer_size_in_delay_test PRIVATE @@ -20017,6 +23170,15 @@ add_executable(retry_exceeds_buffer_size_in_initial_batch_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_exceeds_buffer_size_in_initial_batch_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_exceeds_buffer_size_in_initial_batch_test PUBLIC cxx_std_14) target_include_directories(retry_exceeds_buffer_size_in_initial_batch_test PRIVATE @@ -20061,6 +23223,15 @@ add_executable(retry_exceeds_buffer_size_in_subsequent_batch_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_exceeds_buffer_size_in_subsequent_batch_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_exceeds_buffer_size_in_subsequent_batch_test PUBLIC cxx_std_14) target_include_directories(retry_exceeds_buffer_size_in_subsequent_batch_test PRIVATE @@ -20105,6 +23276,15 @@ add_executable(retry_lb_drop_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_lb_drop_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_lb_drop_test PUBLIC cxx_std_14) target_include_directories(retry_lb_drop_test PRIVATE @@ -20149,6 +23329,15 @@ add_executable(retry_lb_fail_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_lb_fail_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_lb_fail_test PUBLIC cxx_std_14) target_include_directories(retry_lb_fail_test PRIVATE @@ -20193,6 +23382,15 @@ add_executable(retry_non_retriable_status_before_trailers_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_non_retriable_status_before_trailers_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_non_retriable_status_before_trailers_test PUBLIC cxx_std_14) target_include_directories(retry_non_retriable_status_before_trailers_test PRIVATE @@ -20237,6 +23435,15 @@ add_executable(retry_non_retriable_status_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_non_retriable_status_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_non_retriable_status_test PUBLIC cxx_std_14) target_include_directories(retry_non_retriable_status_test PRIVATE @@ -20281,6 +23488,15 @@ add_executable(retry_per_attempt_recv_timeout_on_last_attempt_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_per_attempt_recv_timeout_on_last_attempt_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_per_attempt_recv_timeout_on_last_attempt_test PUBLIC cxx_std_14) target_include_directories(retry_per_attempt_recv_timeout_on_last_attempt_test PRIVATE @@ -20325,6 +23541,15 @@ add_executable(retry_per_attempt_recv_timeout_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_per_attempt_recv_timeout_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_per_attempt_recv_timeout_test PUBLIC cxx_std_14) target_include_directories(retry_per_attempt_recv_timeout_test PRIVATE @@ -20369,6 +23594,15 @@ add_executable(retry_recv_initial_metadata_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_recv_initial_metadata_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_recv_initial_metadata_test PUBLIC cxx_std_14) target_include_directories(retry_recv_initial_metadata_test PRIVATE @@ -20413,6 +23647,15 @@ add_executable(retry_recv_message_replay_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_recv_message_replay_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_recv_message_replay_test PUBLIC cxx_std_14) target_include_directories(retry_recv_message_replay_test PRIVATE @@ -20457,6 +23700,15 @@ add_executable(retry_recv_message_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_recv_message_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_recv_message_test PUBLIC cxx_std_14) target_include_directories(retry_recv_message_test PRIVATE @@ -20501,6 +23753,15 @@ add_executable(retry_recv_trailing_metadata_error_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_recv_trailing_metadata_error_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_recv_trailing_metadata_error_test PUBLIC cxx_std_14) target_include_directories(retry_recv_trailing_metadata_error_test PRIVATE @@ -20545,6 +23806,15 @@ add_executable(retry_send_initial_metadata_refs_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_send_initial_metadata_refs_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_send_initial_metadata_refs_test PUBLIC cxx_std_14) target_include_directories(retry_send_initial_metadata_refs_test PRIVATE @@ -20589,6 +23859,15 @@ add_executable(retry_send_op_fails_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_send_op_fails_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_send_op_fails_test PUBLIC cxx_std_14) target_include_directories(retry_send_op_fails_test PRIVATE @@ -20633,6 +23912,15 @@ add_executable(retry_send_recv_batch_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_send_recv_batch_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_send_recv_batch_test PUBLIC cxx_std_14) target_include_directories(retry_send_recv_batch_test PRIVATE @@ -20677,6 +23965,15 @@ add_executable(retry_server_pushback_delay_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_server_pushback_delay_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_server_pushback_delay_test PUBLIC cxx_std_14) target_include_directories(retry_server_pushback_delay_test PRIVATE @@ -20721,6 +24018,15 @@ add_executable(retry_server_pushback_disabled_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_server_pushback_disabled_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_server_pushback_disabled_test PUBLIC cxx_std_14) target_include_directories(retry_server_pushback_disabled_test PRIVATE @@ -20756,6 +24062,15 @@ if(gRPC_BUILD_TESTS) add_executable(retry_service_config_test test/core/client_channel/retry_service_config_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_service_config_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_service_config_test PUBLIC cxx_std_14) target_include_directories(retry_service_config_test PRIVATE @@ -20798,6 +24113,15 @@ add_executable(retry_streaming_after_commit_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_streaming_after_commit_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_streaming_after_commit_test PUBLIC cxx_std_14) target_include_directories(retry_streaming_after_commit_test PRIVATE @@ -20842,6 +24166,15 @@ add_executable(retry_streaming_succeeds_before_replay_finished_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_streaming_succeeds_before_replay_finished_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_streaming_succeeds_before_replay_finished_test PUBLIC cxx_std_14) target_include_directories(retry_streaming_succeeds_before_replay_finished_test PRIVATE @@ -20886,6 +24219,15 @@ add_executable(retry_streaming_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_streaming_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_streaming_test PUBLIC cxx_std_14) target_include_directories(retry_streaming_test PRIVATE @@ -20930,6 +24272,15 @@ add_executable(retry_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_test PUBLIC cxx_std_14) target_include_directories(retry_test PRIVATE @@ -20965,6 +24316,15 @@ if(gRPC_BUILD_TESTS) add_executable(retry_throttle_test test/core/client_channel/retry_throttle_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_throttle_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_throttle_test PUBLIC cxx_std_14) target_include_directories(retry_throttle_test PRIVATE @@ -21007,6 +24367,15 @@ add_executable(retry_throttled_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_throttled_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_throttled_test PUBLIC cxx_std_14) target_include_directories(retry_throttled_test PRIVATE @@ -21051,6 +24420,15 @@ add_executable(retry_too_many_attempts_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_too_many_attempts_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_too_many_attempts_test PUBLIC cxx_std_14) target_include_directories(retry_too_many_attempts_test PRIVATE @@ -21095,6 +24473,15 @@ add_executable(retry_transparent_goaway_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_transparent_goaway_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_transparent_goaway_test PUBLIC cxx_std_14) target_include_directories(retry_transparent_goaway_test PRIVATE @@ -21139,6 +24526,15 @@ add_executable(retry_transparent_max_concurrent_streams_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_transparent_max_concurrent_streams_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_transparent_max_concurrent_streams_test PUBLIC cxx_std_14) target_include_directories(retry_transparent_max_concurrent_streams_test PRIVATE @@ -21183,6 +24579,15 @@ add_executable(retry_transparent_not_sent_on_wire_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_transparent_not_sent_on_wire_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_transparent_not_sent_on_wire_test PUBLIC cxx_std_14) target_include_directories(retry_transparent_not_sent_on_wire_test PRIVATE @@ -21227,6 +24632,15 @@ add_executable(retry_unref_before_finish_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_unref_before_finish_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_unref_before_finish_test PUBLIC cxx_std_14) target_include_directories(retry_unref_before_finish_test PRIVATE @@ -21271,6 +24685,15 @@ add_executable(retry_unref_before_recv_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(retry_unref_before_recv_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(retry_unref_before_recv_test PUBLIC cxx_std_14) target_include_directories(retry_unref_before_recv_test PRIVATE @@ -21312,6 +24735,15 @@ add_executable(ring_hash_test test/core/event_engine/event_engine_test_utils.cc test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ring_hash_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(ring_hash_test PUBLIC cxx_std_14) target_include_directories(ring_hash_test PRIVATE @@ -21373,6 +24805,16 @@ add_executable(rls_end2end_test test/cpp/end2end/rls_server.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(rls_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(rls_end2end_test PUBLIC cxx_std_14) target_include_directories(rls_end2end_test PRIVATE @@ -21407,6 +24849,15 @@ if(gRPC_BUILD_TESTS) add_executable(rls_lb_config_parser_test test/core/client_channel/lb_policy/rls_lb_config_parser_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(rls_lb_config_parser_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(rls_lb_config_parser_test PUBLIC cxx_std_14) target_include_directories(rls_lb_config_parser_test PRIVATE @@ -21446,6 +24897,15 @@ add_executable(round_robin_test test/core/event_engine/event_engine_test_utils.cc test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(round_robin_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(round_robin_test PUBLIC cxx_std_14) target_include_directories(round_robin_test PRIVATE @@ -21480,6 +24940,16 @@ if(gRPC_BUILD_TESTS) add_executable(secure_auth_context_test test/cpp/common/secure_auth_context_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(secure_auth_context_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(secure_auth_context_test PUBLIC cxx_std_14) target_include_directories(secure_auth_context_test PRIVATE @@ -21513,6 +24983,15 @@ if(gRPC_BUILD_TESTS) add_executable(secure_channel_create_test test/core/surface/secure_channel_create_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(secure_channel_create_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(secure_channel_create_test PUBLIC cxx_std_14) target_include_directories(secure_channel_create_test PRIVATE @@ -21557,6 +25036,15 @@ add_executable(secure_endpoint_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(secure_endpoint_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(secure_endpoint_test PUBLIC cxx_std_14) target_include_directories(secure_endpoint_test PRIVATE @@ -21600,6 +25088,15 @@ add_executable(security_connector_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(security_connector_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(security_connector_test PUBLIC cxx_std_14) target_include_directories(security_connector_test PRIVATE @@ -21635,6 +25132,14 @@ add_executable(seq_test src/core/lib/promise/trace.cc test/core/promise/seq_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(seq_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(seq_test PUBLIC cxx_std_14) target_include_directories(seq_test PRIVATE @@ -21670,6 +25175,15 @@ if(gRPC_BUILD_TESTS) add_executable(sequential_connectivity_test test/core/surface/sequential_connectivity_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(sequential_connectivity_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(sequential_connectivity_test PUBLIC cxx_std_14) target_include_directories(sequential_connectivity_test PRIVATE @@ -21724,6 +25238,16 @@ add_executable(server_builder_plugin_test test/cpp/end2end/server_builder_plugin_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_builder_plugin_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_builder_plugin_test PUBLIC cxx_std_14) target_include_directories(server_builder_plugin_test PRIVATE @@ -21784,6 +25308,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/tracer_util.cc test/cpp/server/server_builder_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_builder_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(server_builder_test PUBLIC cxx_std_14) target_include_directories(server_builder_test PRIVATE @@ -21846,6 +25380,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/tracer_util.cc test/cpp/server/server_builder_with_socket_mutator_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_builder_with_socket_mutator_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(server_builder_with_socket_mutator_test PUBLIC cxx_std_14) target_include_directories(server_builder_with_socket_mutator_test PRIVATE @@ -21881,6 +25425,15 @@ if(gRPC_BUILD_TESTS) add_executable(server_call_tracer_factory_test test/core/channel/server_call_tracer_factory_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_call_tracer_factory_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_call_tracer_factory_test PUBLIC cxx_std_14) target_include_directories(server_call_tracer_factory_test PRIVATE @@ -21914,6 +25467,15 @@ if(gRPC_BUILD_TESTS) add_executable(server_chttp2_test test/core/surface/server_chttp2_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_chttp2_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_chttp2_test PUBLIC cxx_std_14) target_include_directories(server_chttp2_test PRIVATE @@ -21947,6 +25509,15 @@ if(gRPC_BUILD_TESTS) add_executable(server_config_selector_test test/core/server_config_selector/server_config_selector_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_config_selector_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_config_selector_test PUBLIC cxx_std_14) target_include_directories(server_config_selector_test PRIVATE @@ -21980,6 +25551,16 @@ if(gRPC_BUILD_TESTS) add_executable(server_context_test_spouse_test test/cpp/test/server_context_test_spouse_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_context_test_spouse_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_context_test_spouse_test PUBLIC cxx_std_14) target_include_directories(server_context_test_spouse_test PRIVATE @@ -22029,6 +25610,16 @@ add_executable(server_early_return_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/server_early_return_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_early_return_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_early_return_test PUBLIC cxx_std_14) target_include_directories(server_early_return_test PRIVATE @@ -22071,6 +25662,15 @@ add_executable(server_finishes_request_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_finishes_request_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_finishes_request_test PUBLIC cxx_std_14) target_include_directories(server_finishes_request_test PRIVATE @@ -22124,6 +25724,16 @@ add_executable(server_interceptors_end2end_test test/cpp/end2end/server_interceptors_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_interceptors_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_interceptors_end2end_test PUBLIC cxx_std_14) target_include_directories(server_interceptors_end2end_test PRIVATE @@ -22159,6 +25769,15 @@ add_executable(server_registered_method_bad_client_test test/core/bad_client/tests/server_registered_method.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_registered_method_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_registered_method_bad_client_test PUBLIC cxx_std_14) target_include_directories(server_registered_method_bad_client_test PRIVATE @@ -22219,6 +25838,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/tracer_util.cc test/cpp/server/server_request_call_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_request_call_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(server_request_call_test PUBLIC cxx_std_14) target_include_directories(server_request_call_test PRIVATE @@ -22256,6 +25885,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/handshake/server_ssl.cc test/core/handshake/server_ssl_common.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_ssl_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(server_ssl_test PUBLIC cxx_std_14) target_include_directories(server_ssl_test PRIVATE @@ -22299,6 +25937,15 @@ add_executable(server_streaming_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_streaming_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_streaming_test PUBLIC cxx_std_14) target_include_directories(server_streaming_test PRIVATE @@ -22334,6 +25981,15 @@ if(gRPC_BUILD_TESTS) add_executable(server_test test/core/surface/server_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(server_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(server_test PUBLIC cxx_std_14) target_include_directories(server_test PRIVATE @@ -22388,6 +26044,16 @@ add_executable(service_config_end2end_test test/cpp/end2end/service_config_end2end_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(service_config_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(service_config_end2end_test PUBLIC cxx_std_14) target_include_directories(service_config_end2end_test PRIVATE @@ -22421,6 +26087,15 @@ if(gRPC_BUILD_TESTS) add_executable(service_config_test test/core/service_config/service_config_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(service_config_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(service_config_test PUBLIC cxx_std_14) target_include_directories(service_config_test PRIVATE @@ -22464,6 +26139,15 @@ add_executable(settings_timeout_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(settings_timeout_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(settings_timeout_test PUBLIC cxx_std_14) target_include_directories(settings_timeout_test PRIVATE @@ -22506,6 +26190,15 @@ add_executable(shutdown_finishes_calls_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(shutdown_finishes_calls_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(shutdown_finishes_calls_test PUBLIC cxx_std_14) target_include_directories(shutdown_finishes_calls_test PRIVATE @@ -22550,6 +26243,15 @@ add_executable(shutdown_finishes_tags_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(shutdown_finishes_tags_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(shutdown_finishes_tags_test PUBLIC cxx_std_14) target_include_directories(shutdown_finishes_tags_test PRIVATE @@ -22605,6 +26307,16 @@ add_executable(shutdown_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/shutdown_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(shutdown_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(shutdown_test PUBLIC cxx_std_14) target_include_directories(shutdown_test PRIVATE @@ -22647,6 +26359,15 @@ add_executable(simple_delayed_request_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(simple_delayed_request_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(simple_delayed_request_test PUBLIC cxx_std_14) target_include_directories(simple_delayed_request_test PRIVATE @@ -22691,6 +26412,15 @@ add_executable(simple_metadata_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(simple_metadata_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(simple_metadata_test PUBLIC cxx_std_14) target_include_directories(simple_metadata_test PRIVATE @@ -22728,6 +26458,15 @@ add_executable(simple_request_bad_client_test test/core/bad_client/tests/simple_request.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(simple_request_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(simple_request_bad_client_test PUBLIC cxx_std_14) target_include_directories(simple_request_bad_client_test PRIVATE @@ -22770,6 +26509,15 @@ add_executable(simple_request_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(simple_request_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(simple_request_test PUBLIC cxx_std_14) target_include_directories(simple_request_test PRIVATE @@ -22805,6 +26553,14 @@ if(gRPC_BUILD_TESTS) add_executable(single_set_ptr_test test/core/gprpp/single_set_ptr_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(single_set_ptr_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(single_set_ptr_test PUBLIC cxx_std_14) target_include_directories(single_set_ptr_test PRIVATE @@ -22838,6 +26594,15 @@ if(gRPC_BUILD_TESTS) add_executable(sleep_test test/core/promise/sleep_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(sleep_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(sleep_test PUBLIC cxx_std_14) target_include_directories(sleep_test PRIVATE @@ -22875,6 +26640,14 @@ add_executable(slice_string_helpers_test src/core/lib/slice/slice_string_helpers.cc test/core/slice/slice_string_helpers_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(slice_string_helpers_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(slice_string_helpers_test PUBLIC cxx_std_14) target_include_directories(slice_string_helpers_test PRIVATE @@ -22910,6 +26683,15 @@ if(gRPC_BUILD_TESTS) add_executable(smoke_test test/core/event_engine/smoke_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(smoke_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(smoke_test PUBLIC cxx_std_14) target_include_directories(smoke_test PRIVATE @@ -22943,6 +26725,15 @@ if(gRPC_BUILD_TESTS) add_executable(sockaddr_resolver_test test/core/client_channel/resolvers/sockaddr_resolver_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(sockaddr_resolver_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(sockaddr_resolver_test PUBLIC cxx_std_14) target_include_directories(sockaddr_resolver_test PRIVATE @@ -22976,6 +26767,15 @@ if(gRPC_BUILD_TESTS) add_executable(sockaddr_utils_test test/core/address_utils/sockaddr_utils_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(sockaddr_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(sockaddr_utils_test PUBLIC cxx_std_14) target_include_directories(sockaddr_utils_test PRIVATE @@ -23020,6 +26820,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(socket_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(socket_utils_test PUBLIC cxx_std_14) target_include_directories(socket_utils_test PRIVATE @@ -23086,6 +26895,15 @@ if(gRPC_BUILD_TESTS) add_executable(spinlock_test test/core/gpr/spinlock_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(spinlock_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(spinlock_test PUBLIC cxx_std_14) target_include_directories(spinlock_test PRIVATE @@ -23121,6 +26939,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/tsi/ssl_transport_security_test.cc test/core/tsi/transport_security_test_lib.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ssl_transport_security_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(ssl_transport_security_test PUBLIC cxx_std_14) target_include_directories(ssl_transport_security_test PRIVATE @@ -23156,6 +26983,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(ssl_transport_security_utils_test test/core/tsi/ssl_transport_security_utils_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(ssl_transport_security_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(ssl_transport_security_utils_test PUBLIC cxx_std_14) target_include_directories(ssl_transport_security_utils_test PRIVATE @@ -23191,6 +27027,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(stack_tracer_test test/core/util/stack_tracer_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(stack_tracer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(stack_tracer_test PUBLIC cxx_std_14) target_include_directories(stack_tracer_test PRIVATE @@ -23225,6 +27070,15 @@ if(gRPC_BUILD_TESTS) add_executable(stat_test test/core/gprpp/stat_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(stat_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(stat_test PUBLIC cxx_std_14) target_include_directories(stat_test PRIVATE @@ -23259,6 +27113,14 @@ add_executable(static_stride_scheduler_test src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc test/core/client_channel/lb_policy/static_stride_scheduler_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(static_stride_scheduler_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(static_stride_scheduler_test PUBLIC cxx_std_14) target_include_directories(static_stride_scheduler_test PRIVATE @@ -23293,6 +27155,15 @@ if(gRPC_BUILD_TESTS) add_executable(stats_test test/core/debug/stats_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(stats_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(stats_test PUBLIC cxx_std_14) target_include_directories(stats_test PRIVATE @@ -23336,6 +27207,15 @@ add_executable(status_conversion_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(status_conversion_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(status_conversion_test PUBLIC cxx_std_14) target_include_directories(status_conversion_test PRIVATE @@ -23369,6 +27249,14 @@ if(gRPC_BUILD_TESTS) add_executable(status_flag_test test/core/promise/status_flag_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(status_flag_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(status_flag_test PUBLIC cxx_std_14) target_include_directories(status_flag_test PRIVATE @@ -23403,6 +27291,15 @@ if(gRPC_BUILD_TESTS) add_executable(status_helper_test test/core/gprpp/status_helper_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(status_helper_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(status_helper_test PUBLIC cxx_std_14) target_include_directories(status_helper_test PRIVATE @@ -23436,6 +27333,15 @@ if(gRPC_BUILD_TESTS) add_executable(status_util_test test/core/channel/status_util_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(status_util_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(status_util_test PUBLIC cxx_std_14) target_include_directories(status_util_test PRIVATE @@ -23469,6 +27375,15 @@ if(gRPC_BUILD_TESTS) add_executable(stream_leak_with_queued_flow_control_update_test test/core/transport/chttp2/stream_leak_with_queued_flow_control_update_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(stream_leak_with_queued_flow_control_update_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(stream_leak_with_queued_flow_control_update_test PUBLIC cxx_std_14) target_include_directories(stream_leak_with_queued_flow_control_update_test PRIVATE @@ -23511,6 +27426,15 @@ add_executable(streaming_error_response_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(streaming_error_response_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(streaming_error_response_test PUBLIC cxx_std_14) target_include_directories(streaming_error_response_test PRIVATE @@ -23567,6 +27491,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/streaming_throughput_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(streaming_throughput_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(streaming_throughput_test PUBLIC cxx_std_14) target_include_directories(streaming_throughput_test PRIVATE @@ -23612,6 +27546,15 @@ add_executable(streams_not_seen_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(streams_not_seen_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(streams_not_seen_test PUBLIC cxx_std_14) target_include_directories(streams_not_seen_test PRIVATE @@ -23645,6 +27588,16 @@ if(gRPC_BUILD_TESTS) add_executable(string_ref_test test/cpp/util/string_ref_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(string_ref_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(string_ref_test PUBLIC cxx_std_14) target_include_directories(string_ref_test PRIVATE @@ -23679,6 +27632,15 @@ if(gRPC_BUILD_TESTS) add_executable(string_test test/core/gpr/string_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(string_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(string_test PUBLIC cxx_std_14) target_include_directories(string_test PRIVATE @@ -23712,6 +27674,14 @@ if(gRPC_BUILD_TESTS) add_executable(switch_test test/core/promise/switch_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(switch_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(switch_test PUBLIC cxx_std_14) target_include_directories(switch_test PRIVATE @@ -23747,6 +27717,15 @@ if(gRPC_BUILD_TESTS) add_executable(sync_test test/core/gpr/sync_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(sync_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(sync_test PUBLIC cxx_std_14) target_include_directories(sync_test PRIVATE @@ -23790,6 +27769,15 @@ add_executable(system_roots_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(system_roots_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(system_roots_test PUBLIC cxx_std_14) target_include_directories(system_roots_test PRIVATE @@ -23868,6 +27856,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tcp_client_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(tcp_client_posix_test PUBLIC cxx_std_14) target_include_directories(tcp_client_posix_test PRIVATE @@ -23903,6 +27900,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(tcp_posix_socket_utils_test test/core/event_engine/posix/tcp_posix_socket_utils_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tcp_posix_socket_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(tcp_posix_socket_utils_test PUBLIC cxx_std_14) target_include_directories(tcp_posix_socket_utils_test PRIVATE @@ -23949,6 +27955,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tcp_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(tcp_posix_test PUBLIC cxx_std_14) target_include_directories(tcp_posix_test PRIVATE @@ -23994,6 +28009,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tcp_server_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(tcp_server_posix_test PUBLIC cxx_std_14) target_include_directories(tcp_server_posix_test PRIVATE @@ -24028,6 +28052,15 @@ if(gRPC_BUILD_TESTS) add_executable(tcp_socket_utils_test test/core/event_engine/tcp_socket_utils_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tcp_socket_utils_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(tcp_socket_utils_test PUBLIC cxx_std_14) target_include_directories(tcp_socket_utils_test PRIVATE @@ -24067,6 +28100,16 @@ add_executable(test_core_channel_channelz_test test/core/event_engine/event_engine_test_utils.cc test/cpp/util/channel_trace_proto_helper.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_channel_channelz_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_channel_channelz_test PUBLIC cxx_std_14) target_include_directories(test_core_channel_channelz_test PRIVATE @@ -24110,6 +28153,15 @@ add_executable(test_core_end2end_channelz_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_end2end_channelz_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_end2end_channelz_test PUBLIC cxx_std_14) target_include_directories(test_core_end2end_channelz_test PRIVATE @@ -24149,6 +28201,14 @@ add_executable(test_core_event_engine_posix_timer_heap_test src/core/lib/gprpp/time_averaged_stats.cc test/core/event_engine/posix/timer_heap_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_event_engine_posix_timer_heap_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_event_engine_posix_timer_heap_test PUBLIC cxx_std_14) target_include_directories(test_core_event_engine_posix_timer_heap_test PRIVATE @@ -24187,6 +28247,14 @@ add_executable(test_core_event_engine_posix_timer_list_test src/core/lib/gprpp/time_averaged_stats.cc test/core/event_engine/posix/timer_list_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_event_engine_posix_timer_list_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_event_engine_posix_timer_list_test PUBLIC cxx_std_14) target_include_directories(test_core_event_engine_posix_timer_list_test PRIVATE @@ -24230,6 +28298,14 @@ add_executable(test_core_event_engine_slice_buffer_test src/core/lib/slice/slice_string_helpers.cc test/core/event_engine/slice_buffer_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_event_engine_slice_buffer_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_event_engine_slice_buffer_test PUBLIC cxx_std_14) target_include_directories(test_core_event_engine_slice_buffer_test PRIVATE @@ -24266,6 +28342,15 @@ if(gRPC_BUILD_TESTS) add_executable(test_core_gpr_time_test test/core/gpr/time_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_gpr_time_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_gpr_time_test PUBLIC cxx_std_14) target_include_directories(test_core_gpr_time_test PRIVATE @@ -24299,6 +28384,15 @@ if(gRPC_BUILD_TESTS) add_executable(test_core_gprpp_load_file_test test/core/gprpp/load_file_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_gprpp_load_file_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_gprpp_load_file_test PUBLIC cxx_std_14) target_include_directories(test_core_gprpp_load_file_test PRIVATE @@ -24333,6 +28427,14 @@ add_executable(test_core_gprpp_time_test src/core/lib/gprpp/time.cc test/core/gprpp/time_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_gprpp_time_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_gprpp_time_test PUBLIC cxx_std_14) target_include_directories(test_core_gprpp_time_test PRIVATE @@ -24377,6 +28479,15 @@ add_executable(test_core_iomgr_load_file_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_iomgr_load_file_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_iomgr_load_file_test PUBLIC cxx_std_14) target_include_directories(test_core_iomgr_load_file_test PRIVATE @@ -24420,6 +28531,15 @@ add_executable(test_core_iomgr_timer_heap_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_iomgr_timer_heap_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_iomgr_timer_heap_test PUBLIC cxx_std_14) target_include_directories(test_core_iomgr_timer_heap_test PRIVATE @@ -24463,6 +28583,15 @@ add_executable(test_core_security_credentials_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_security_credentials_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_security_credentials_test PUBLIC cxx_std_14) target_include_directories(test_core_security_credentials_test PRIVATE @@ -24506,6 +28635,15 @@ add_executable(test_core_security_ssl_credentials_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_security_ssl_credentials_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_security_ssl_credentials_test PUBLIC cxx_std_14) target_include_directories(test_core_security_ssl_credentials_test PRIVATE @@ -24539,6 +28677,15 @@ if(gRPC_BUILD_TESTS) add_executable(test_core_slice_slice_buffer_test test/core/slice/slice_buffer_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_slice_slice_buffer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_slice_slice_buffer_test PUBLIC cxx_std_14) target_include_directories(test_core_slice_slice_buffer_test PRIVATE @@ -24573,6 +28720,15 @@ add_executable(test_core_slice_slice_test test/core/slice/slice_test.cc test/core/util/build.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_core_slice_slice_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_core_slice_slice_test PUBLIC cxx_std_14) target_include_directories(test_core_slice_slice_test PRIVATE @@ -24607,6 +28763,16 @@ add_executable(test_cpp_client_credentials_test test/cpp/client/credentials_test.cc test/cpp/util/tls_test_utils.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_cpp_client_credentials_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_cpp_client_credentials_test PUBLIC cxx_std_14) target_include_directories(test_cpp_client_credentials_test PRIVATE @@ -24658,6 +28824,16 @@ add_executable(test_cpp_end2end_ssl_credentials_test test/cpp/end2end/ssl_credentials_test.cc test/cpp/end2end/test_service_impl.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_cpp_end2end_ssl_credentials_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_cpp_end2end_ssl_credentials_test PUBLIC cxx_std_14) target_include_directories(test_cpp_end2end_ssl_credentials_test PRIVATE @@ -24692,6 +28868,16 @@ add_executable(test_cpp_server_credentials_test test/cpp/server/credentials_test.cc test/cpp/util/tls_test_utils.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_cpp_server_credentials_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_cpp_server_credentials_test PUBLIC cxx_std_14) target_include_directories(test_cpp_server_credentials_test PRIVATE @@ -24726,6 +28912,16 @@ if(gRPC_BUILD_TESTS) add_executable(test_cpp_util_slice_test test/cpp/util/slice_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_cpp_util_slice_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_cpp_util_slice_test PUBLIC cxx_std_14) target_include_directories(test_cpp_util_slice_test PRIVATE @@ -24759,6 +28955,16 @@ if(gRPC_BUILD_TESTS) add_executable(test_cpp_util_time_test test/cpp/util/time_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(test_cpp_util_time_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(test_cpp_util_time_test PUBLIC cxx_std_14) target_include_directories(test_cpp_util_time_test PRIVATE @@ -24792,6 +28998,15 @@ if(gRPC_BUILD_TESTS) add_executable(thd_test test/core/gprpp/thd_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(thd_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(thd_test PUBLIC cxx_std_14) target_include_directories(thd_test PRIVATE @@ -24825,6 +29040,16 @@ if(gRPC_BUILD_TESTS) add_executable(thread_manager_test test/cpp/thread_manager/thread_manager_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(thread_manager_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(thread_manager_test PUBLIC cxx_std_14) target_include_directories(thread_manager_test PRIVATE @@ -24859,6 +29084,15 @@ if(gRPC_BUILD_TESTS) add_executable(thread_pool_test test/core/event_engine/thread_pool_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(thread_pool_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(thread_pool_test PUBLIC cxx_std_14) target_include_directories(thread_pool_test PRIVATE @@ -24894,6 +29128,14 @@ add_executable(thread_quota_test src/core/lib/resource_quota/thread_quota.cc test/core/resource_quota/thread_quota_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(thread_quota_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(thread_quota_test PUBLIC cxx_std_14) target_include_directories(thread_quota_test PRIVATE @@ -24949,6 +29191,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/thread_stress_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(thread_stress_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(thread_stress_test PUBLIC cxx_std_14) target_include_directories(thread_stress_test PRIVATE @@ -24990,6 +29242,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/event_engine/test_suite/tests/timer_test.cc test/core/event_engine/test_suite/thready_posix_event_engine_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(thready_posix_event_engine_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(thready_posix_event_engine_test PUBLIC cxx_std_14) target_include_directories(thready_posix_event_engine_test PRIVATE @@ -25025,6 +29286,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(time_jump_test test/cpp/common/time_jump_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(time_jump_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(time_jump_test PUBLIC cxx_std_14) target_include_directories(time_jump_test PRIVATE @@ -25060,6 +29331,15 @@ if(gRPC_BUILD_TESTS) add_executable(time_util_test test/core/gprpp/time_util_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(time_util_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(time_util_test PUBLIC cxx_std_14) target_include_directories(time_util_test PRIVATE @@ -25102,6 +29382,15 @@ add_executable(timeout_before_request_call_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(timeout_before_request_call_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(timeout_before_request_call_test PUBLIC cxx_std_14) target_include_directories(timeout_before_request_call_test PRIVATE @@ -25147,6 +29436,15 @@ add_executable(timeout_encoding_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(timeout_encoding_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(timeout_encoding_test PUBLIC cxx_std_14) target_include_directories(timeout_encoding_test PRIVATE @@ -25180,6 +29478,15 @@ if(gRPC_BUILD_TESTS) add_executable(timer_manager_test test/core/event_engine/posix/timer_manager_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(timer_manager_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(timer_manager_test PUBLIC cxx_std_14) target_include_directories(timer_manager_test PRIVATE @@ -25213,6 +29520,16 @@ if(gRPC_BUILD_TESTS) add_executable(timer_test test/cpp/common/timer_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(timer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(timer_test PUBLIC cxx_std_14) target_include_directories(timer_test PRIVATE @@ -25248,6 +29565,16 @@ add_executable(tls_certificate_verifier_test test/cpp/security/tls_certificate_verifier_test.cc test/cpp/util/tls_test_utils.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tls_certificate_verifier_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(tls_certificate_verifier_test PUBLIC cxx_std_14) target_include_directories(tls_certificate_verifier_test PRIVATE @@ -25299,6 +29626,16 @@ add_executable(tls_credentials_test test/cpp/end2end/test_service_impl.cc test/cpp/end2end/tls_credentials_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tls_credentials_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(tls_credentials_test PUBLIC cxx_std_14) target_include_directories(tls_credentials_test PRIVATE @@ -25348,6 +29685,16 @@ add_executable(tls_key_export_test ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/orca_load_report.grpc.pb.h test/cpp/end2end/tls_key_export_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tls_key_export_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(tls_key_export_test PUBLIC cxx_std_14) target_include_directories(tls_key_export_test PRIVATE @@ -25391,6 +29738,15 @@ add_executable(tls_security_connector_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(tls_security_connector_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(tls_security_connector_test PUBLIC cxx_std_14) target_include_directories(tls_security_connector_test PRIVATE @@ -25425,6 +29781,16 @@ add_executable(too_many_pings_test test/core/end2end/cq_verifier.cc test/core/transport/chttp2/too_many_pings_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(too_many_pings_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(too_many_pings_test PUBLIC cxx_std_14) target_include_directories(too_many_pings_test PRIVATE @@ -25460,6 +29826,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(traced_buffer_list_test test/core/event_engine/posix/traced_buffer_list_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(traced_buffer_list_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(traced_buffer_list_test PUBLIC cxx_std_14) target_include_directories(traced_buffer_list_test PRIVATE @@ -25503,6 +29878,15 @@ add_executable(trailing_metadata_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(trailing_metadata_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(trailing_metadata_test PUBLIC cxx_std_14) target_include_directories(trailing_metadata_test PRIVATE @@ -25538,6 +29922,15 @@ if(gRPC_BUILD_TESTS) add_executable(transport_security_common_api_test test/core/tsi/alts/handshaker/transport_security_common_api_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(transport_security_common_api_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(transport_security_common_api_test PUBLIC cxx_std_14) target_include_directories(transport_security_common_api_test PRIVATE @@ -25571,6 +29964,15 @@ if(gRPC_BUILD_TESTS) add_executable(transport_security_test test/core/tsi/transport_security_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(transport_security_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(transport_security_test PUBLIC cxx_std_14) target_include_directories(transport_security_test PRIVATE @@ -25666,6 +30068,15 @@ add_executable(transport_stream_receiver_test src/cpp/util/time_cc.cc test/core/transport/binder/transport_stream_receiver_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(transport_stream_receiver_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(transport_stream_receiver_test PUBLIC cxx_std_14) target_include_directories(transport_stream_receiver_test PRIVATE @@ -25702,6 +30113,14 @@ add_executable(try_join_test src/core/lib/promise/trace.cc test/core/promise/try_join_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(try_join_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(try_join_test PUBLIC cxx_std_14) target_include_directories(try_join_test PRIVATE @@ -25738,6 +30157,15 @@ if(gRPC_BUILD_TESTS) add_executable(try_seq_metadata_test test/core/promise/try_seq_metadata_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(try_seq_metadata_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(try_seq_metadata_test PUBLIC cxx_std_14) target_include_directories(try_seq_metadata_test PRIVATE @@ -25773,6 +30201,14 @@ add_executable(try_seq_test src/core/lib/promise/trace.cc test/core/promise/try_seq_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(try_seq_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(try_seq_test PUBLIC cxx_std_14) target_include_directories(try_seq_test PRIVATE @@ -25843,6 +30279,15 @@ add_executable(unknown_frame_bad_client_test test/core/bad_client/tests/unknown_frame.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(unknown_frame_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(unknown_frame_bad_client_test PUBLIC cxx_std_14) target_include_directories(unknown_frame_bad_client_test PRIVATE @@ -25876,6 +30321,15 @@ if(gRPC_BUILD_TESTS) add_executable(uri_parser_test test/core/uri/uri_parser_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(uri_parser_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(uri_parser_test PUBLIC cxx_std_14) target_include_directories(uri_parser_test PRIVATE @@ -25942,6 +30396,15 @@ add_executable(uuid_v4_test src/core/lib/gprpp/uuid_v4.cc test/core/gprpp/uuid_v4_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(uuid_v4_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(uuid_v4_test PUBLIC cxx_std_14) target_include_directories(uuid_v4_test PRIVATE @@ -25975,6 +30438,15 @@ if(gRPC_BUILD_TESTS) add_executable(validation_errors_test test/core/gprpp/validation_errors_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(validation_errors_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(validation_errors_test PUBLIC cxx_std_14) target_include_directories(validation_errors_test PRIVATE @@ -26008,6 +30480,15 @@ if(gRPC_BUILD_TESTS) add_executable(varint_test test/core/transport/chttp2/varint_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(varint_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(varint_test PUBLIC cxx_std_14) target_include_directories(varint_test PRIVATE @@ -26042,6 +30523,14 @@ add_executable(wait_for_callback_test src/core/lib/promise/activity.cc test/core/promise/wait_for_callback_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(wait_for_callback_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(wait_for_callback_test PUBLIC cxx_std_14) target_include_directories(wait_for_callback_test PRIVATE @@ -26079,6 +30568,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) add_executable(wakeup_fd_posix_test test/core/event_engine/posix/wakeup_fd_posix_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(wakeup_fd_posix_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(wakeup_fd_posix_test PUBLIC cxx_std_14) target_include_directories(wakeup_fd_posix_test PRIVATE @@ -26113,6 +30611,15 @@ if(gRPC_BUILD_TESTS) add_executable(weighted_round_robin_config_test test/core/client_channel/lb_policy/weighted_round_robin_config_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(weighted_round_robin_config_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(weighted_round_robin_config_test PUBLIC cxx_std_14) target_include_directories(weighted_round_robin_config_test PRIVATE @@ -26152,6 +30659,15 @@ add_executable(weighted_round_robin_test test/core/event_engine/event_engine_test_utils.cc test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(weighted_round_robin_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(weighted_round_robin_test PUBLIC cxx_std_14) target_include_directories(weighted_round_robin_test PRIVATE @@ -26188,6 +30704,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX OR _gRPC_PLATFORM_WINDOWS) test/core/event_engine/windows/create_sockpair.cc test/core/event_engine/windows/win_socket_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(win_socket_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(win_socket_test PUBLIC cxx_std_14) target_include_directories(win_socket_test PRIVATE @@ -26224,6 +30749,15 @@ add_executable(window_overflow_bad_client_test test/core/bad_client/tests/window_overflow.cc test/core/end2end/cq_verifier.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(window_overflow_bad_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(window_overflow_bad_client_test PUBLIC cxx_std_14) target_include_directories(window_overflow_bad_client_test PRIVATE @@ -26259,6 +30793,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX OR _gRPC_PLATFORM_WINDOWS) test/core/event_engine/windows/create_sockpair.cc test/core/event_engine/windows/windows_endpoint_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(windows_endpoint_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(windows_endpoint_test PUBLIC cxx_std_14) target_include_directories(windows_endpoint_test PRIVATE @@ -26356,6 +30899,15 @@ add_executable(wire_reader_test test/core/transport/binder/mock_objects.cc test/core/transport/binder/wire_reader_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(wire_reader_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(wire_reader_test PUBLIC cxx_std_14) target_include_directories(wire_reader_test PRIVATE @@ -26453,6 +31005,15 @@ add_executable(wire_writer_test test/core/transport/binder/mock_objects.cc test/core/transport/binder/wire_writer_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(wire_writer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(wire_writer_test PUBLIC cxx_std_14) target_include_directories(wire_writer_test PRIVATE @@ -26489,6 +31050,15 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/event_engine/event_engine_test_utils.cc test/core/gprpp/work_serializer_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(work_serializer_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(work_serializer_test PUBLIC cxx_std_14) target_include_directories(work_serializer_test PRIVATE @@ -26532,6 +31102,15 @@ add_executable(write_buffering_at_end_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(write_buffering_at_end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(write_buffering_at_end_test PUBLIC cxx_std_14) target_include_directories(write_buffering_at_end_test PRIVATE @@ -26576,6 +31155,15 @@ add_executable(write_buffering_test test/core/event_engine/event_engine_test_utils.cc test/core/util/test_lb_policies.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(write_buffering_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(write_buffering_test PUBLIC cxx_std_14) target_include_directories(write_buffering_test PRIVATE @@ -26613,6 +31201,14 @@ add_executable(write_size_policy_test src/core/lib/gprpp/time.cc test/core/transport/chttp2/write_size_policy_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(write_size_policy_test + PRIVATE + "GPR_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(write_size_policy_test PUBLIC cxx_std_14) target_include_directories(write_size_policy_test PRIVATE @@ -26674,6 +31270,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/core/util/tracer_util.cc test/cpp/performance/writes_per_rpc_test.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(writes_per_rpc_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(writes_per_rpc_test PUBLIC cxx_std_14) target_include_directories(writes_per_rpc_test PRIVATE @@ -26774,6 +31380,16 @@ add_executable(xds_audit_logger_registry_test test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_audit_logger_registry_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_audit_logger_registry_test PUBLIC cxx_std_14) target_include_directories(xds_audit_logger_registry_test PRIVATE @@ -26809,6 +31425,15 @@ if(gRPC_BUILD_TESTS) add_executable(xds_bootstrap_test test/core/xds/xds_bootstrap_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_bootstrap_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_bootstrap_test PUBLIC cxx_std_14) target_include_directories(xds_bootstrap_test PRIVATE @@ -26842,6 +31467,15 @@ if(gRPC_BUILD_TESTS) add_executable(xds_certificate_provider_test test/core/xds/xds_certificate_provider_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_certificate_provider_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_certificate_provider_test PUBLIC cxx_std_14) target_include_directories(xds_certificate_provider_test PRIVATE @@ -26889,6 +31523,15 @@ add_executable(xds_client_test test/core/xds/xds_client_test.cc test/core/xds/xds_transport_fake.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_client_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_client_test PUBLIC cxx_std_14) target_include_directories(xds_client_test PRIVATE @@ -27055,6 +31698,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_cluster_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_cluster_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_cluster_end2end_test PRIVATE @@ -27162,6 +31815,15 @@ add_executable(xds_cluster_resource_type_test src/cpp/util/status.cc test/core/xds/xds_cluster_resource_type_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_cluster_resource_type_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_cluster_resource_type_test PUBLIC cxx_std_14) target_include_directories(xds_cluster_resource_type_test PRIVATE @@ -27331,6 +31993,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_cluster_type_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_cluster_type_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_cluster_type_end2end_test PRIVATE @@ -27406,6 +32078,16 @@ add_executable(xds_common_types_test test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_common_types_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_common_types_test PUBLIC cxx_std_14) target_include_directories(xds_common_types_test PRIVATE @@ -27571,6 +32253,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_core_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_core_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_core_end2end_test PRIVATE @@ -27622,6 +32314,16 @@ add_executable(xds_credentials_end2end_test test/cpp/end2end/test_service_impl.cc test/cpp/end2end/xds/xds_credentials_end2end_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_credentials_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_credentials_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_credentials_end2end_test PRIVATE @@ -27665,6 +32367,15 @@ add_executable(xds_credentials_test test/core/util/slice_splitter.cc test/core/util/tracer_util.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_credentials_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_credentials_test PUBLIC cxx_std_14) target_include_directories(xds_credentials_test PRIVATE @@ -27837,6 +32548,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_csds_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_csds_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_csds_end2end_test PRIVATE @@ -28022,6 +32743,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_end2end_test PRIVATE @@ -28078,6 +32809,15 @@ add_executable(xds_endpoint_resource_type_test src/cpp/util/status.cc test/core/xds/xds_endpoint_resource_type_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_endpoint_resource_type_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_endpoint_resource_type_test PUBLIC cxx_std_14) target_include_directories(xds_endpoint_resource_type_test PRIVATE @@ -28250,6 +32990,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_fault_injection_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_fault_injection_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_fault_injection_end2end_test PRIVATE @@ -28373,6 +33123,16 @@ add_executable(xds_http_filters_test test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_http_filters_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_http_filters_test PUBLIC cxx_std_14) target_include_directories(xds_http_filters_test PRIVATE @@ -28481,6 +33241,16 @@ add_executable(xds_lb_policy_registry_test test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_lb_policy_registry_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_lb_policy_registry_test PUBLIC cxx_std_14) target_include_directories(xds_lb_policy_registry_test PRIVATE @@ -28613,6 +33383,16 @@ add_executable(xds_listener_resource_type_test test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_listener_resource_type_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_listener_resource_type_test PUBLIC cxx_std_14) target_include_directories(xds_listener_resource_type_test PRIVATE @@ -28786,6 +33566,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_outlier_detection_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_outlier_detection_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_outlier_detection_end2end_test PRIVATE @@ -28962,6 +33752,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_override_host_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_override_host_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_override_host_end2end_test PRIVATE @@ -28996,6 +33796,15 @@ if(gRPC_BUILD_TESTS) add_executable(xds_override_host_lb_config_parser_test test/core/client_channel/lb_policy/xds_override_host_lb_config_parser_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_override_host_lb_config_parser_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_override_host_lb_config_parser_test PUBLIC cxx_std_14) target_include_directories(xds_override_host_lb_config_parser_test PRIVATE @@ -29035,6 +33844,15 @@ add_executable(xds_override_host_test test/core/event_engine/event_engine_test_utils.cc test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_override_host_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_override_host_test PUBLIC cxx_std_14) target_include_directories(xds_override_host_test PRIVATE @@ -29208,6 +34026,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_pick_first_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_pick_first_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_pick_first_end2end_test PRIVATE @@ -29377,6 +34205,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_ring_hash_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_ring_hash_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_ring_hash_end2end_test PRIVATE @@ -29550,6 +34388,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_rls_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_rls_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_rls_end2end_test PRIVATE @@ -29661,6 +34509,16 @@ add_executable(xds_route_config_resource_type_test test/cpp/util/proto_reflection_descriptor_database.cc test/cpp/util/service_describer.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_route_config_resource_type_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_route_config_resource_type_test PUBLIC cxx_std_14) target_include_directories(xds_route_config_resource_type_test PRIVATE @@ -29834,6 +34692,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_utils.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_routing_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_routing_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_routing_end2end_test PRIVATE @@ -29900,6 +34768,16 @@ add_executable(xds_stats_watcher_test test/cpp/interop/xds_stats_watcher.cc test/cpp/interop/xds_stats_watcher_test.cc ) +if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_stats_watcher_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() +endif() target_compile_features(xds_stats_watcher_test PUBLIC cxx_std_14) target_include_directories(xds_stats_watcher_test PRIVATE @@ -30074,6 +34952,16 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) test/cpp/end2end/xds/xds_wrr_end2end_test.cc test/cpp/util/tls_test_utils.cc ) + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(xds_wrr_end2end_test + PRIVATE + "GPR_DLL_IMPORTS" + "GRPC_DLL_IMPORTS" + "GRPCXX_DLL_IMPORTS" + ) + endif() + endif() target_compile_features(xds_wrr_end2end_test PUBLIC cxx_std_14) target_include_directories(xds_wrr_end2end_test PRIVATE diff --git a/include/grpcpp/support/proto_buffer_reader.h b/include/grpcpp/support/proto_buffer_reader.h index dc0c29601ed..6f1d4806395 100644 --- a/include/grpcpp/support/proto_buffer_reader.h +++ b/include/grpcpp/support/proto_buffer_reader.h @@ -148,7 +148,7 @@ class ProtoBufferReader : public grpc::protobuf::io::ZeroCopyInputStream { *slice(), GRPC_SLICE_LENGTH(*slice()) - backup_count(), GRPC_SLICE_LENGTH(*slice()) - backup_count() + count))); } - int64_t take = std::min(backup_count(), static_cast(count)); + int64_t take = (std::min)(backup_count(), static_cast(count)); set_backup_count(backup_count() - take); count -= take; if (count == 0) { diff --git a/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc b/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc index 7a8992404a6..673e3e29d25 100644 --- a/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +++ b/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc @@ -24,6 +24,7 @@ #include "absl/functional/any_invocable.h" #include "absl/status/status.h" +#include "absl/strings/str_format.h" #include diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template index 914fe3b7942..06a2fd6f890 100644 --- a/templates/CMakeLists.txt.template +++ b/templates/CMakeLists.txt.template @@ -29,6 +29,11 @@ third_party_proto_prefixes = {lib.proto_prefix for lib in external_proto_libraries} + gpr_libs = ['gpr'] + grpc_libs = ['grpc', 'grpc_unsecure'] + grpcxx_libs = ['grpc++', 'grpc++_unsecure'] + protoc_libs = ['benchmark_helpers', 'grpc++_reflection', 'grpcpp_channelz'] + def third_party_proto_import_path(path): """Removes third_party prefix to match ProtoBuf's relative import path.""" for prefix in third_party_proto_prefixes: @@ -158,7 +163,7 @@ return ' SHARED' # upb always compiles as a static library on Windows - elif lib_name in ['upb','upb_collections_lib','upb_json_lib','upb_textformat_lib']: + elif lib_name in ['upb','upb_collections_lib','upb_json_lib','upb_textformat_lib'] + protoc_libs: return ' ${_gRPC_STATIC_WIN32}' else: @@ -192,6 +197,19 @@ deps.append(d) return deps + def get_all_deps(target_dict, all_libs): + ret = set() + get_all_deps_recurse(target_dict, all_libs, ret) + return ret + + def get_all_deps_recurse(target_dict, all_libs, all_deps): + for d in target_dict.get('deps', []): + if not d in all_deps: + all_deps.add(d) + for other_lib in all_libs: + if other_lib.name == d: + get_all_deps_recurse(other_lib, all_libs, all_deps) + def is_generate_cmake_target(lib_or_target): """Returns True if a cmake target should be generated for given library/target.""" # TODO(jtattermusch): extract the metadata to a centralized location. @@ -250,12 +268,6 @@ return '\n'.join(lines) return _func - def add_dll_annotation_macros(lib, prefix): - return """set_target_properties(%s PROPERTIES DEFINE_SYMBOL "%s_DLL_EXPORTS") - if(BUILD_SHARED_LIBS) - target_compile_definitions(%s INTERFACE %s_DLL_IMPORTS) - endif()""" % (lib, prefix, lib, prefix) - %> <% # These files are added to a set so that they are not duplicated if multiple @@ -286,6 +298,10 @@ set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/") project(<%text>${PACKAGE_NAME} LANGUAGES C CXX) + if(BUILD_SHARED_LIBS AND MSVC) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + endif() + set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables") set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries") set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers") @@ -410,6 +426,8 @@ set(_gRPC_C_CXX_FLAGS "<%text>${_gRPC_C_CXX_FLAGS} /wd4503") # Tell MSVC to build grpc using utf-8 set(_gRPC_C_CXX_FLAGS "<%text>${_gRPC_C_CXX_FLAGS} /utf-8") + # Inconsistent object sizes can cause stack corruption and should be treated as an error + set(_gRPC_C_CXX_FLAGS "<%text>${_gRPC_C_CXX_FLAGS} /we4789") endif() if (MINGW) add_definitions(-D_WIN32_WINNT=0x600) @@ -512,12 +530,12 @@ set(_gRPC_ALLTARGETS_LIBRARIES <%text>${_gRPC_ALLTARGETS_LIBRARIES} ws2_32 crypt32) set(_gRPC_STATIC_WIN32 STATIC) endif() - + if(BUILD_SHARED_LIBS AND WIN32) # Currently for shared lib on Windows (i.e. a DLL) certain bits of source code # are generated from protobuf definitions by upbc. This source code does not include - # annotations needed to export these functions from gprc.lib so we have to + # annotations needed to export these functions from grpc.lib so we have to # re-include a small subset of these. # # This is not an ideal situation because these functions will be unavailable @@ -530,9 +548,18 @@ src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c ) + set(gRPC_ADDITIONAL_DLL_SRC src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc + src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc + src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc + ) + + set(gRPC_ADDITIONAL_DLL_CXX_SRC + src/cpp/common/tls_certificate_provider.cc + src/cpp/common/tls_certificate_verifier.cc + src/cpp/common/tls_credentials_options.cc ) endif() # BUILD_SHARED_LIBS AND WIN32 @@ -792,10 +819,13 @@ % endif % endfor % if lib.name in ['grpc++_alts', 'grpc++_unsecure', 'grpc++']: - ${'${gRPC_UPB_GEN_DUPL_SRC}'} + <%text>${gRPC_UPB_GEN_DUPL_SRC} % endif % if lib.name in ['grpc_unsecure']: - ${'${gRPC_ADDITIONAL_DLL_SRC}'} + <%text>${gRPC_ADDITIONAL_DLL_SRC} + % endif + % if lib.name in ['grpc++_unsecure']: + <%text>${gRPC_ADDITIONAL_DLL_CXX_SRC} % endif ) @@ -814,17 +844,30 @@ if(WIN32 AND MSVC) set_target_properties(${lib.name} PROPERTIES COMPILE_PDB_NAME "${lib.name}" COMPILE_PDB_OUTPUT_DIRECTORY <%text>"${CMAKE_BINARY_DIR}" - ) - % if lib.name == 'gpr': - ${add_dll_annotation_macros(lib.name, 'GPR')} - % elif lib.name == 'grpc': - ${add_dll_annotation_macros(lib.name, 'GRPC')} - % elif lib.name == 'grpc_unsecure': - ${add_dll_annotation_macros(lib.name, 'GRPC')} - % elif lib.name == 'grpc++': - ${add_dll_annotation_macros(lib.name, 'GRPCXX')} - % elif lib.name == 'grpc++_unsecure': - ${add_dll_annotation_macros(lib.name, 'GRPCXX')} + )<% + dll_annotations = [] + if lib.name in gpr_libs: + dll_annotations.append("GPR_DLL_EXPORTS") + if lib.name in grpc_libs: + dll_annotations.append("GRPC_DLL_EXPORTS") + if lib.name in grpcxx_libs: + dll_annotations.append("GRPCXX_DLL_EXPORTS") + if set(gpr_libs) & set(get_all_deps(lib, libs)): + dll_annotations.append("GPR_DLL_IMPORTS") + if set(grpc_libs) & set(get_all_deps(lib, libs)): + dll_annotations.append("GRPC_DLL_IMPORTS") + if set(grpcxx_libs) & set(get_all_deps(lib, libs)): + dll_annotations.append("GRPCXX_DLL_IMPORTS") + %> + % if dll_annotations: + if(BUILD_SHARED_LIBS) + target_compile_definitions(${lib.name} + PRIVATE + % for definition in dll_annotations: + "${definition}" + % endfor + ) + endif() % endif if(gRPC_INSTALL) install(FILES <%text>${CMAKE_CURRENT_BINARY_DIR}/${lib.name}.pdb @@ -908,7 +951,27 @@ ${proto_replace_ext(src, '.grpc.pb.h')} % endif % endfor - ) + )<% + dll_annotations = [] + if set(gpr_libs) & set(get_all_deps(tgt, libs)): + dll_annotations.append("GPR_DLL_IMPORTS") + if set(grpc_libs) & set(get_all_deps(tgt, libs)): + dll_annotations.append("GRPC_DLL_IMPORTS") + if set(grpcxx_libs) & set(get_all_deps(tgt, libs)): + dll_annotations.append("GRPCXX_DLL_IMPORTS") + %> + % if dll_annotations: + if(WIN32 AND MSVC) + if(BUILD_SHARED_LIBS) + target_compile_definitions(${tgt.name} + PRIVATE + % for definition in dll_annotations: + "${definition}" + % endfor + ) + endif() + endif() + % endif target_compile_features(${tgt.name} PUBLIC cxx_std_14) target_include_directories(${tgt.name} PRIVATE