Imported Upstream version 1.21.2
[platform/upstream/grpc.git] / CMakeLists.txt
1 # GRPC global cmake file
2 # This currently builds C and C++ code.
3 # This file has been automatically generated from a template file.
4 # Please look at the templates directory instead.
5 # This file can be regenerated from the template by running
6 # tools/buildgen/generate_projects.sh
7 #
8 # Copyright 2015 gRPC authors.
9 #
10 # Licensed under the Apache License, Version 2.0 (the "License");
11 # you may not use this file except in compliance with the License.
12 # You may obtain a copy of the License at
13 #
14 #     http://www.apache.org/licenses/LICENSE-2.0
15 #
16 # Unless required by applicable law or agreed to in writing, software
17 # distributed under the License is distributed on an "AS IS" BASIS,
18 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 # See the License for the specific language governing permissions and
20 # limitations under the License.
21
22
23
24 cmake_minimum_required(VERSION 2.8)
25
26 set(PACKAGE_NAME      "grpc")
27 set(PACKAGE_VERSION   "1.21.2")
28 set(PACKAGE_STRING    "${PACKAGE_NAME} ${PACKAGE_VERSION}")
29 set(PACKAGE_TARNAME   "${PACKAGE_NAME}-${PACKAGE_VERSION}")
30 set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")
31 project(${PACKAGE_NAME} C CXX)
32
33 set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables")
34 set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries")
35 set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers")
36 set(gRPC_INSTALL_CMAKEDIR "lib/cmake/${PACKAGE_NAME}" CACHE STRING "Installation directory for cmake config files")
37 set(gRPC_INSTALL_SHAREDIR "share/grpc" CACHE STRING "Installation directory for root certificates")
38
39 # Options
40 option(gRPC_BUILD_TESTS "Build tests" OFF)
41 option(gRPC_BUILD_CODEGEN "Build codegen" ON)
42 option(gRPC_BUILD_CSHARP_EXT "Build C# extensions" ON)
43 option(gRPC_BACKWARDS_COMPATIBILITY_MODE "Build libraries that are binary compatible across a larger number of OS and libc versions" OFF)
44
45 set(gRPC_INSTALL_default ON)
46 if (NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
47   # Disable gRPC_INSTALL by default if building as a submodule
48   set(gRPC_INSTALL_default OFF)
49 endif()
50 set(gRPC_INSTALL ${gRPC_INSTALL_default} CACHE BOOL
51     "Generate installation target: gRPC_ZLIB_PROVIDER, gRPC_CARES_PROVIDER, gRPC_SSL_PROVIDER and gRPC_PROTOBUF_PROVIDER must all be \"package\"")
52
53 # Providers for third-party dependencies (gRPC_*_PROVIDER properties):
54 # "module": build the dependency using sources from git submodule (under third_party)
55 # "package": use cmake's find_package functionality to locate a pre-installed dependency
56
57 set(gRPC_ZLIB_PROVIDER "module" CACHE STRING "Provider of zlib library")
58 set_property(CACHE gRPC_ZLIB_PROVIDER PROPERTY STRINGS "module" "package")
59
60 set(gRPC_CARES_PROVIDER "module" CACHE STRING "Provider of c-ares library")
61 set_property(CACHE gRPC_CARES_PROVIDER PROPERTY STRINGS "module" "package")
62
63 set(gRPC_SSL_PROVIDER "module" CACHE STRING "Provider of ssl library")
64 set_property(CACHE gRPC_SSL_PROVIDER PROPERTY STRINGS "module" "package")
65
66 set(gRPC_PROTOBUF_PROVIDER "module" CACHE STRING "Provider of protobuf library")
67 set_property(CACHE gRPC_PROTOBUF_PROVIDER PROPERTY STRINGS "module" "package")
68
69 set(gRPC_PROTOBUF_PACKAGE_TYPE "" CACHE STRING "Algorithm for searching protobuf package")
70 set_property(CACHE gRPC_PROTOBUF_PACKAGE_TYPE PROPERTY STRINGS "CONFIG" "MODULE")
71
72 set(gRPC_GFLAGS_PROVIDER "module" CACHE STRING "Provider of gflags library")
73 set_property(CACHE gRPC_GFLAGS_PROVIDER PROPERTY STRINGS "module" "package")
74
75 set(gRPC_BENCHMARK_PROVIDER "module" CACHE STRING "Provider of benchmark library")
76 set_property(CACHE gRPC_BENCHMARK_PROVIDER PROPERTY STRINGS "module" "package")
77
78 set(gRPC_USE_PROTO_LITE OFF CACHE BOOL "Use the protobuf-lite library")
79
80 if(UNIX)
81   if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
82     set(_gRPC_PLATFORM_LINUX ON)
83   elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
84     set(_gRPC_PLATFORM_MAC ON)
85   elseif(${CMAKE_SYSTEM_NAME} MATCHES "Android")
86     set(_gRPC_PLATFORM_ANDROID ON)
87   else()
88     set(_gRPC_PLATFORM_POSIX ON)
89   endif()
90 endif()
91 if(WIN32)
92   set(_gRPC_PLATFORM_WINDOWS ON)
93 endif()
94
95 set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
96
97 add_definitions(-DPB_FIELD_32BIT)
98
99 if (MSVC)
100   include(cmake/msvc_static_runtime.cmake)
101   add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS)
102   # needed to compile protobuf
103   add_definitions(/wd4065 /wd4506)
104   # TODO(jtattermusch): revisit warnings that were silenced as part of upgrade to protobuf3.6.0
105   add_definitions(/wd4200 /wd4291 /wd4244)
106   # TODO(jtattermusch): revisit C4267 occurrences throughout the code
107   add_definitions(/wd4267)
108   # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later
109   add_definitions(/wd4987 /wd4774 /wd4819 /wd4996 /wd4619)
110 endif()
111
112 if (gRPC_USE_PROTO_LITE)
113   set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf-lite")
114   add_definitions("-DGRPC_USE_PROTO_LITE")
115 else()
116   set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf")
117 endif()
118
119 if(gRPC_BACKWARDS_COMPATIBILITY_MODE)
120   add_definitions(-DGPR_BACKWARDS_COMPATIBILITY_MODE)
121   if (_gRPC_PLATFORM_MAC)
122     # some C++11 constructs not supported before OS X 10.9
123     set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
124   endif()
125 endif()
126
127 if (_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC)
128   # C core has C++ source code, but should not depend on libstc++ (for better portability).
129   # We need to use a few tricks to convince cmake to do that.
130   # https://stackoverflow.com/questions/15058403/how-to-stop-cmake-from-linking-against-libstdc
131   set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
132   # Exceptions and RTTI must be off to avoid dependency on libstdc++
133   set(_gRPC_CORE_NOSTDCXX_FLAGS -fno-exceptions -fno-rtti)
134 else()
135   set(_gRPC_CORE_NOSTDCXX_FLAGS "")
136 endif()
137
138 include(cmake/zlib.cmake)
139 include(cmake/cares.cmake)
140 include(cmake/protobuf.cmake)
141 include(cmake/ssl.cmake)
142 include(cmake/gflags.cmake)
143 include(cmake/benchmark.cmake)
144 include(cmake/address_sorting.cmake)
145 include(cmake/nanopb.cmake)
146
147 if(NOT MSVC)
148   set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -std=c99")
149   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
150 endif()
151
152 if(_gRPC_PLATFORM_MAC)
153   set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread)
154 elseif(_gRPC_PLATFORM_ANDROID)
155   set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m)
156 elseif(UNIX)
157   set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread)
158 endif()
159
160 if(WIN32 AND MSVC)
161   set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32)
162 endif()
163
164 # Create directory for generated .proto files
165 set(_gRPC_PROTO_GENS_DIR ${CMAKE_BINARY_DIR}/gens)
166 file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR})
167
168 #  protobuf_generate_grpc_cpp
169 #  --------------------------
170 #
171 #   Add custom commands to process ``.proto`` files to C++ using protoc and
172 #   GRPC plugin::
173 #
174 #     protobuf_generate_grpc_cpp [<ARGN>...]
175 #
176 #   ``ARGN``
177 #     ``.proto`` files
178 #
179 function(protobuf_generate_grpc_cpp)
180   if(NOT ARGN)
181     message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files")
182     return()
183   endif()
184
185   set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
186   foreach(FIL ${ARGN})
187     get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
188     get_filename_component(FIL_WE ${FIL} NAME_WE)
189     file(RELATIVE_PATH REL_FIL ${CMAKE_CURRENT_SOURCE_DIR} ${ABS_FIL})
190     get_filename_component(REL_DIR ${REL_FIL} DIRECTORY)
191     set(RELFIL_WE "${REL_DIR}/${FIL_WE}")
192
193     #if cross-compiling, find host plugin
194     if(CMAKE_CROSSCOMPILING)
195         find_program(_gRPC_CPP_PLUGIN grpc_cpp_plugin)
196     else()
197         set(_gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
198     endif()
199
200     add_custom_command(
201       OUTPUT "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc"
202              "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h"
203              "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h"
204              "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc"
205              "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h"
206       COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}
207       ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}
208            --cpp_out=${_gRPC_PROTO_GENS_DIR}
209            --plugin=protoc-gen-grpc=${_gRPC_CPP_PLUGIN}
210            ${_protobuf_include_path}
211            ${REL_FIL}
212       DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin
213       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
214       COMMENT "Running gRPC C++ protocol buffer compiler on ${FIL}"
215       VERBATIM)
216
217       set_source_files_properties("${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h"  "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h" PROPERTIES GENERATED TRUE)
218   endforeach()
219 endfunction()
220
221 add_custom_target(plugins
222   DEPENDS
223   grpc_cpp_plugin
224   grpc_csharp_plugin
225   grpc_node_plugin
226   grpc_objective_c_plugin
227   grpc_php_plugin
228   grpc_python_plugin
229   grpc_ruby_plugin
230 )
231
232 add_custom_target(tools_c
233   DEPENDS
234   check_epollexclusive
235   grpc_create_jwt
236   grpc_print_google_default_creds_token
237   grpc_verify_jwt
238   gen_hpack_tables
239   gen_legal_metadata_characters
240   gen_percent_encoding_tables
241 )
242
243 add_custom_target(tools_cxx
244   DEPENDS
245 )
246
247 add_custom_target(tools
248   DEPENDS tools_c tools_cxx)
249
250 if (gRPC_BUILD_TESTS)
251 add_custom_target(buildtests_c)
252 add_dependencies(buildtests_c algorithm_test)
253 add_dependencies(buildtests_c alloc_test)
254 add_dependencies(buildtests_c alpn_test)
255 add_dependencies(buildtests_c arena_test)
256 add_dependencies(buildtests_c avl_test)
257 add_dependencies(buildtests_c bad_server_response_test)
258 add_dependencies(buildtests_c bin_decoder_test)
259 add_dependencies(buildtests_c bin_encoder_test)
260 if(_gRPC_PLATFORM_LINUX)
261 add_dependencies(buildtests_c buffer_list_test)
262 endif()
263 add_dependencies(buildtests_c channel_create_test)
264 add_dependencies(buildtests_c chttp2_hpack_encoder_test)
265 add_dependencies(buildtests_c chttp2_stream_map_test)
266 add_dependencies(buildtests_c chttp2_varint_test)
267 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
268 add_dependencies(buildtests_c close_fd_test)
269 endif()
270 add_dependencies(buildtests_c cmdline_test)
271 add_dependencies(buildtests_c combiner_test)
272 add_dependencies(buildtests_c compression_test)
273 add_dependencies(buildtests_c concurrent_connectivity_test)
274 add_dependencies(buildtests_c connection_refused_test)
275 add_dependencies(buildtests_c dns_resolver_connectivity_test)
276 add_dependencies(buildtests_c dns_resolver_cooldown_test)
277 add_dependencies(buildtests_c dns_resolver_test)
278 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
279 add_dependencies(buildtests_c dualstack_socket_test)
280 endif()
281 add_dependencies(buildtests_c endpoint_pair_test)
282 add_dependencies(buildtests_c error_test)
283 if(_gRPC_PLATFORM_LINUX)
284 add_dependencies(buildtests_c ev_epollex_linux_test)
285 endif()
286 add_dependencies(buildtests_c fake_resolver_test)
287 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
288 add_dependencies(buildtests_c fake_transport_security_test)
289 endif()
290 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
291 add_dependencies(buildtests_c fd_conservation_posix_test)
292 endif()
293 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
294 add_dependencies(buildtests_c fd_posix_test)
295 endif()
296 add_dependencies(buildtests_c fling_client)
297 add_dependencies(buildtests_c fling_server)
298 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
299 add_dependencies(buildtests_c fling_stream_test)
300 endif()
301 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
302 add_dependencies(buildtests_c fling_test)
303 endif()
304 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC)
305 add_dependencies(buildtests_c fork_test)
306 endif()
307 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
308 add_dependencies(buildtests_c goaway_server_test)
309 endif()
310 add_dependencies(buildtests_c gpr_cpu_test)
311 add_dependencies(buildtests_c gpr_env_test)
312 add_dependencies(buildtests_c gpr_host_port_test)
313 add_dependencies(buildtests_c gpr_log_test)
314 add_dependencies(buildtests_c gpr_manual_constructor_test)
315 add_dependencies(buildtests_c gpr_mpscq_test)
316 add_dependencies(buildtests_c gpr_spinlock_test)
317 add_dependencies(buildtests_c gpr_string_test)
318 add_dependencies(buildtests_c gpr_sync_test)
319 add_dependencies(buildtests_c gpr_thd_test)
320 add_dependencies(buildtests_c gpr_time_test)
321 add_dependencies(buildtests_c gpr_tls_test)
322 add_dependencies(buildtests_c gpr_useful_test)
323 add_dependencies(buildtests_c grpc_auth_context_test)
324 add_dependencies(buildtests_c grpc_b64_test)
325 add_dependencies(buildtests_c grpc_byte_buffer_reader_test)
326 add_dependencies(buildtests_c grpc_channel_args_test)
327 add_dependencies(buildtests_c grpc_channel_stack_builder_test)
328 add_dependencies(buildtests_c grpc_channel_stack_test)
329 add_dependencies(buildtests_c grpc_completion_queue_test)
330 add_dependencies(buildtests_c grpc_completion_queue_threading_test)
331 add_dependencies(buildtests_c grpc_credentials_test)
332 add_dependencies(buildtests_c grpc_fetch_oauth2)
333 add_dependencies(buildtests_c grpc_ipv6_loopback_available_test)
334 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
335 add_dependencies(buildtests_c grpc_json_token_test)
336 endif()
337 add_dependencies(buildtests_c grpc_jwt_verifier_test)
338 add_dependencies(buildtests_c grpc_security_connector_test)
339 add_dependencies(buildtests_c grpc_ssl_credentials_test)
340 if(_gRPC_PLATFORM_LINUX)
341 add_dependencies(buildtests_c handshake_client_ssl)
342 endif()
343 if(_gRPC_PLATFORM_LINUX)
344 add_dependencies(buildtests_c handshake_server_ssl)
345 endif()
346 if(_gRPC_PLATFORM_LINUX)
347 add_dependencies(buildtests_c handshake_server_with_readahead_handshaker)
348 endif()
349 if(_gRPC_PLATFORM_LINUX)
350 add_dependencies(buildtests_c handshake_verify_peer_options)
351 endif()
352 add_dependencies(buildtests_c histogram_test)
353 add_dependencies(buildtests_c hpack_parser_test)
354 add_dependencies(buildtests_c hpack_table_test)
355 add_dependencies(buildtests_c http_parser_test)
356 add_dependencies(buildtests_c httpcli_format_request_test)
357 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
358 add_dependencies(buildtests_c httpcli_test)
359 endif()
360 if(_gRPC_PLATFORM_LINUX)
361 add_dependencies(buildtests_c httpscli_test)
362 endif()
363 add_dependencies(buildtests_c init_test)
364 add_dependencies(buildtests_c inproc_callback_test)
365 add_dependencies(buildtests_c invalid_call_argument_test)
366 add_dependencies(buildtests_c json_rewrite)
367 add_dependencies(buildtests_c json_rewrite_test)
368 add_dependencies(buildtests_c json_stream_error_test)
369 add_dependencies(buildtests_c json_test)
370 add_dependencies(buildtests_c lame_client_test)
371 add_dependencies(buildtests_c load_file_test)
372 add_dependencies(buildtests_c memory_usage_client)
373 add_dependencies(buildtests_c memory_usage_server)
374 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
375 add_dependencies(buildtests_c memory_usage_test)
376 endif()
377 add_dependencies(buildtests_c message_compress_test)
378 add_dependencies(buildtests_c minimal_stack_is_minimal_test)
379 add_dependencies(buildtests_c multiple_server_queues_test)
380 add_dependencies(buildtests_c murmur_hash_test)
381 add_dependencies(buildtests_c no_server_test)
382 add_dependencies(buildtests_c num_external_connectivity_watchers_test)
383 add_dependencies(buildtests_c parse_address_test)
384 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
385 add_dependencies(buildtests_c parse_address_with_named_scope_id_test)
386 endif()
387 add_dependencies(buildtests_c percent_encoding_test)
388 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
389 add_dependencies(buildtests_c resolve_address_using_ares_resolver_posix_test)
390 endif()
391 add_dependencies(buildtests_c resolve_address_using_ares_resolver_test)
392 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
393 add_dependencies(buildtests_c resolve_address_using_native_resolver_posix_test)
394 endif()
395 add_dependencies(buildtests_c resolve_address_using_native_resolver_test)
396 add_dependencies(buildtests_c resource_quota_test)
397 add_dependencies(buildtests_c secure_channel_create_test)
398 add_dependencies(buildtests_c secure_endpoint_test)
399 add_dependencies(buildtests_c sequential_connectivity_test)
400 add_dependencies(buildtests_c server_chttp2_test)
401 add_dependencies(buildtests_c server_test)
402 add_dependencies(buildtests_c slice_buffer_test)
403 add_dependencies(buildtests_c slice_string_helpers_test)
404 add_dependencies(buildtests_c slice_test)
405 add_dependencies(buildtests_c sockaddr_resolver_test)
406 add_dependencies(buildtests_c sockaddr_utils_test)
407 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
408 add_dependencies(buildtests_c socket_utils_test)
409 endif()
410 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
411 add_dependencies(buildtests_c ssl_transport_security_test)
412 endif()
413 add_dependencies(buildtests_c status_conversion_test)
414 add_dependencies(buildtests_c stream_compression_test)
415 add_dependencies(buildtests_c stream_owned_slice_test)
416 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
417 add_dependencies(buildtests_c tcp_client_posix_test)
418 endif()
419 add_dependencies(buildtests_c tcp_client_uv_test)
420 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
421 add_dependencies(buildtests_c tcp_posix_test)
422 endif()
423 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
424 add_dependencies(buildtests_c tcp_server_posix_test)
425 endif()
426 add_dependencies(buildtests_c tcp_server_uv_test)
427 add_dependencies(buildtests_c time_averaged_stats_test)
428 add_dependencies(buildtests_c timeout_encoding_test)
429 add_dependencies(buildtests_c timer_heap_test)
430 add_dependencies(buildtests_c timer_list_test)
431 add_dependencies(buildtests_c transport_connectivity_state_test)
432 add_dependencies(buildtests_c transport_metadata_test)
433 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
434 add_dependencies(buildtests_c transport_security_test)
435 endif()
436 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
437 add_dependencies(buildtests_c udp_server_test)
438 endif()
439 add_dependencies(buildtests_c uri_parser_test)
440 add_dependencies(buildtests_c public_headers_must_be_c89)
441 add_dependencies(buildtests_c badreq_bad_client_test)
442 add_dependencies(buildtests_c connection_prefix_bad_client_test)
443 add_dependencies(buildtests_c duplicate_header_bad_client_test)
444 add_dependencies(buildtests_c head_of_line_blocking_bad_client_test)
445 add_dependencies(buildtests_c headers_bad_client_test)
446 add_dependencies(buildtests_c initial_settings_frame_bad_client_test)
447 add_dependencies(buildtests_c large_metadata_bad_client_test)
448 add_dependencies(buildtests_c server_registered_method_bad_client_test)
449 add_dependencies(buildtests_c simple_request_bad_client_test)
450 add_dependencies(buildtests_c unknown_frame_bad_client_test)
451 add_dependencies(buildtests_c window_overflow_bad_client_test)
452 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
453 add_dependencies(buildtests_c bad_ssl_cert_server)
454 endif()
455 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
456 add_dependencies(buildtests_c bad_ssl_cert_test)
457 endif()
458 add_dependencies(buildtests_c h2_census_test)
459 add_dependencies(buildtests_c h2_compress_test)
460 add_dependencies(buildtests_c h2_fakesec_test)
461 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
462 add_dependencies(buildtests_c h2_fd_test)
463 endif()
464 add_dependencies(buildtests_c h2_full_test)
465 if(_gRPC_PLATFORM_LINUX)
466 add_dependencies(buildtests_c h2_full+pipe_test)
467 endif()
468 add_dependencies(buildtests_c h2_full+trace_test)
469 add_dependencies(buildtests_c h2_full+workarounds_test)
470 add_dependencies(buildtests_c h2_http_proxy_test)
471 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
472 add_dependencies(buildtests_c h2_local_ipv4_test)
473 endif()
474 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
475 add_dependencies(buildtests_c h2_local_ipv6_test)
476 endif()
477 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
478 add_dependencies(buildtests_c h2_local_uds_test)
479 endif()
480 add_dependencies(buildtests_c h2_oauth2_test)
481 add_dependencies(buildtests_c h2_proxy_test)
482 add_dependencies(buildtests_c h2_sockpair_test)
483 add_dependencies(buildtests_c h2_sockpair+trace_test)
484 add_dependencies(buildtests_c h2_sockpair_1byte_test)
485 add_dependencies(buildtests_c h2_spiffe_test)
486 add_dependencies(buildtests_c h2_ssl_test)
487 add_dependencies(buildtests_c h2_ssl_cred_reload_test)
488 add_dependencies(buildtests_c h2_ssl_proxy_test)
489 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
490 add_dependencies(buildtests_c h2_uds_test)
491 endif()
492 add_dependencies(buildtests_c inproc_test)
493 add_dependencies(buildtests_c h2_census_nosec_test)
494 add_dependencies(buildtests_c h2_compress_nosec_test)
495 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
496 add_dependencies(buildtests_c h2_fd_nosec_test)
497 endif()
498 add_dependencies(buildtests_c h2_full_nosec_test)
499 if(_gRPC_PLATFORM_LINUX)
500 add_dependencies(buildtests_c h2_full+pipe_nosec_test)
501 endif()
502 add_dependencies(buildtests_c h2_full+trace_nosec_test)
503 add_dependencies(buildtests_c h2_full+workarounds_nosec_test)
504 add_dependencies(buildtests_c h2_http_proxy_nosec_test)
505 add_dependencies(buildtests_c h2_proxy_nosec_test)
506 add_dependencies(buildtests_c h2_sockpair_nosec_test)
507 add_dependencies(buildtests_c h2_sockpair+trace_nosec_test)
508 add_dependencies(buildtests_c h2_sockpair_1byte_nosec_test)
509 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
510 add_dependencies(buildtests_c h2_uds_nosec_test)
511 endif()
512 add_dependencies(buildtests_c alts_credentials_fuzzer_one_entry)
513 add_dependencies(buildtests_c api_fuzzer_one_entry)
514 add_dependencies(buildtests_c client_fuzzer_one_entry)
515 add_dependencies(buildtests_c hpack_parser_fuzzer_test_one_entry)
516 add_dependencies(buildtests_c http_request_fuzzer_test_one_entry)
517 add_dependencies(buildtests_c http_response_fuzzer_test_one_entry)
518 add_dependencies(buildtests_c json_fuzzer_test_one_entry)
519 add_dependencies(buildtests_c nanopb_fuzzer_response_test_one_entry)
520 add_dependencies(buildtests_c nanopb_fuzzer_serverlist_test_one_entry)
521 add_dependencies(buildtests_c percent_decode_fuzzer_one_entry)
522 add_dependencies(buildtests_c percent_encode_fuzzer_one_entry)
523 add_dependencies(buildtests_c server_fuzzer_one_entry)
524 add_dependencies(buildtests_c ssl_server_fuzzer_one_entry)
525 add_dependencies(buildtests_c uri_fuzzer_test_one_entry)
526
527 add_custom_target(buildtests_cxx)
528 add_dependencies(buildtests_cxx alarm_test)
529 add_dependencies(buildtests_cxx alts_counter_test)
530 add_dependencies(buildtests_cxx alts_crypt_test)
531 add_dependencies(buildtests_cxx alts_crypter_test)
532 add_dependencies(buildtests_cxx alts_frame_handler_test)
533 add_dependencies(buildtests_cxx alts_frame_protector_test)
534 add_dependencies(buildtests_cxx alts_grpc_record_protocol_test)
535 add_dependencies(buildtests_cxx alts_handshaker_client_test)
536 add_dependencies(buildtests_cxx alts_handshaker_service_api_test)
537 add_dependencies(buildtests_cxx alts_iovec_record_protocol_test)
538 add_dependencies(buildtests_cxx alts_security_connector_test)
539 add_dependencies(buildtests_cxx alts_tsi_handshaker_test)
540 add_dependencies(buildtests_cxx alts_tsi_utils_test)
541 add_dependencies(buildtests_cxx alts_zero_copy_grpc_protector_test)
542 add_dependencies(buildtests_cxx async_end2end_test)
543 add_dependencies(buildtests_cxx auth_property_iterator_test)
544 add_dependencies(buildtests_cxx backoff_test)
545 add_dependencies(buildtests_cxx bdp_estimator_test)
546 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
547 add_dependencies(buildtests_cxx bm_alarm)
548 endif()
549 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
550 add_dependencies(buildtests_cxx bm_arena)
551 endif()
552 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
553 add_dependencies(buildtests_cxx bm_byte_buffer)
554 endif()
555 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
556 add_dependencies(buildtests_cxx bm_call_create)
557 endif()
558 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
559 add_dependencies(buildtests_cxx bm_channel)
560 endif()
561 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
562 add_dependencies(buildtests_cxx bm_chttp2_hpack)
563 endif()
564 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
565 add_dependencies(buildtests_cxx bm_chttp2_transport)
566 endif()
567 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
568 add_dependencies(buildtests_cxx bm_closure)
569 endif()
570 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
571 add_dependencies(buildtests_cxx bm_cq)
572 endif()
573 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
574 add_dependencies(buildtests_cxx bm_cq_multiple_threads)
575 endif()
576 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
577 add_dependencies(buildtests_cxx bm_error)
578 endif()
579 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
580 add_dependencies(buildtests_cxx bm_fullstack_streaming_ping_pong)
581 endif()
582 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
583 add_dependencies(buildtests_cxx bm_fullstack_streaming_pump)
584 endif()
585 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
586 add_dependencies(buildtests_cxx bm_fullstack_trickle)
587 endif()
588 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
589 add_dependencies(buildtests_cxx bm_fullstack_unary_ping_pong)
590 endif()
591 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
592 add_dependencies(buildtests_cxx bm_metadata)
593 endif()
594 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
595 add_dependencies(buildtests_cxx bm_pollset)
596 endif()
597 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
598 add_dependencies(buildtests_cxx bm_timer)
599 endif()
600 add_dependencies(buildtests_cxx byte_stream_test)
601 add_dependencies(buildtests_cxx channel_arguments_test)
602 add_dependencies(buildtests_cxx channel_filter_test)
603 add_dependencies(buildtests_cxx channel_trace_test)
604 add_dependencies(buildtests_cxx channelz_registry_test)
605 add_dependencies(buildtests_cxx channelz_service_test)
606 add_dependencies(buildtests_cxx channelz_test)
607 add_dependencies(buildtests_cxx check_gcp_environment_linux_test)
608 add_dependencies(buildtests_cxx check_gcp_environment_windows_test)
609 add_dependencies(buildtests_cxx chttp2_settings_timeout_test)
610 add_dependencies(buildtests_cxx cli_call_test)
611 add_dependencies(buildtests_cxx client_callback_end2end_test)
612 add_dependencies(buildtests_cxx client_channel_stress_test)
613 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
614 add_dependencies(buildtests_cxx client_crash_test)
615 endif()
616 add_dependencies(buildtests_cxx client_crash_test_server)
617 add_dependencies(buildtests_cxx client_interceptors_end2end_test)
618 add_dependencies(buildtests_cxx client_lb_end2end_test)
619 add_dependencies(buildtests_cxx codegen_test_full)
620 add_dependencies(buildtests_cxx codegen_test_minimal)
621 add_dependencies(buildtests_cxx context_list_test)
622 add_dependencies(buildtests_cxx credentials_test)
623 add_dependencies(buildtests_cxx cxx_byte_buffer_test)
624 add_dependencies(buildtests_cxx cxx_slice_test)
625 add_dependencies(buildtests_cxx cxx_string_ref_test)
626 add_dependencies(buildtests_cxx cxx_time_test)
627 add_dependencies(buildtests_cxx end2end_test)
628 add_dependencies(buildtests_cxx error_details_test)
629 add_dependencies(buildtests_cxx exception_test)
630 add_dependencies(buildtests_cxx filter_end2end_test)
631 add_dependencies(buildtests_cxx generic_end2end_test)
632 add_dependencies(buildtests_cxx global_config_env_test)
633 add_dependencies(buildtests_cxx global_config_test)
634 add_dependencies(buildtests_cxx golden_file_test)
635 add_dependencies(buildtests_cxx grpc_alts_credentials_options_test)
636 add_dependencies(buildtests_cxx grpc_cli)
637 add_dependencies(buildtests_cxx grpc_core_map_test)
638 add_dependencies(buildtests_cxx grpc_linux_system_roots_test)
639 add_dependencies(buildtests_cxx grpc_tool_test)
640 add_dependencies(buildtests_cxx grpclb_api_test)
641 add_dependencies(buildtests_cxx grpclb_end2end_test)
642 add_dependencies(buildtests_cxx h2_ssl_cert_test)
643 add_dependencies(buildtests_cxx h2_ssl_session_reuse_test)
644 add_dependencies(buildtests_cxx health_service_end2end_test)
645 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
646 add_dependencies(buildtests_cxx http2_client)
647 endif()
648 add_dependencies(buildtests_cxx hybrid_end2end_test)
649 add_dependencies(buildtests_cxx inlined_vector_test)
650 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
651 add_dependencies(buildtests_cxx inproc_sync_unary_ping_pong_test)
652 endif()
653 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
654 add_dependencies(buildtests_cxx interop_client)
655 endif()
656 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
657 add_dependencies(buildtests_cxx interop_server)
658 endif()
659 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
660 add_dependencies(buildtests_cxx interop_test)
661 endif()
662 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
663 add_dependencies(buildtests_cxx json_run_localhost)
664 endif()
665 add_dependencies(buildtests_cxx memory_test)
666 add_dependencies(buildtests_cxx message_allocator_end2end_test)
667 add_dependencies(buildtests_cxx metrics_client)
668 add_dependencies(buildtests_cxx mock_test)
669 add_dependencies(buildtests_cxx nonblocking_test)
670 add_dependencies(buildtests_cxx noop-benchmark)
671 add_dependencies(buildtests_cxx optional_test)
672 add_dependencies(buildtests_cxx orphanable_test)
673 add_dependencies(buildtests_cxx proto_server_reflection_test)
674 add_dependencies(buildtests_cxx proto_utils_test)
675 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
676 add_dependencies(buildtests_cxx qps_interarrival_test)
677 endif()
678 add_dependencies(buildtests_cxx qps_json_driver)
679 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
680 add_dependencies(buildtests_cxx qps_openloop_test)
681 endif()
682 add_dependencies(buildtests_cxx qps_worker)
683 add_dependencies(buildtests_cxx raw_end2end_test)
684 add_dependencies(buildtests_cxx reconnect_interop_client)
685 add_dependencies(buildtests_cxx reconnect_interop_server)
686 add_dependencies(buildtests_cxx ref_counted_ptr_test)
687 add_dependencies(buildtests_cxx ref_counted_test)
688 add_dependencies(buildtests_cxx retry_throttle_test)
689 add_dependencies(buildtests_cxx secure_auth_context_test)
690 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
691 add_dependencies(buildtests_cxx secure_sync_unary_ping_pong_test)
692 endif()
693 add_dependencies(buildtests_cxx server_builder_plugin_test)
694 add_dependencies(buildtests_cxx server_builder_test)
695 if(_gRPC_PLATFORM_POSIX)
696 add_dependencies(buildtests_cxx server_builder_with_socket_mutator_test)
697 endif()
698 add_dependencies(buildtests_cxx server_context_test_spouse_test)
699 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
700 add_dependencies(buildtests_cxx server_crash_test)
701 endif()
702 add_dependencies(buildtests_cxx server_crash_test_client)
703 add_dependencies(buildtests_cxx server_early_return_test)
704 add_dependencies(buildtests_cxx server_interceptors_end2end_test)
705 add_dependencies(buildtests_cxx server_request_call_test)
706 add_dependencies(buildtests_cxx service_config_end2end_test)
707 add_dependencies(buildtests_cxx service_config_test)
708 add_dependencies(buildtests_cxx shutdown_test)
709 add_dependencies(buildtests_cxx slice_hash_table_test)
710 add_dependencies(buildtests_cxx slice_weak_hash_table_test)
711 add_dependencies(buildtests_cxx stats_test)
712 add_dependencies(buildtests_cxx status_metadata_test)
713 add_dependencies(buildtests_cxx status_util_test)
714 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
715 add_dependencies(buildtests_cxx streaming_throughput_test)
716 endif()
717 add_dependencies(buildtests_cxx stress_test)
718 add_dependencies(buildtests_cxx thread_manager_test)
719 add_dependencies(buildtests_cxx thread_stress_test)
720 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
721 add_dependencies(buildtests_cxx time_change_test)
722 endif()
723 add_dependencies(buildtests_cxx transport_pid_controller_test)
724 add_dependencies(buildtests_cxx transport_security_common_api_test)
725 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
726 add_dependencies(buildtests_cxx writes_per_rpc_test)
727 endif()
728 add_dependencies(buildtests_cxx xds_end2end_test)
729 add_dependencies(buildtests_cxx resolver_component_test_unsecure)
730 add_dependencies(buildtests_cxx resolver_component_test)
731 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
732 add_dependencies(buildtests_cxx resolver_component_tests_runner_invoker_unsecure)
733 endif()
734 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
735 add_dependencies(buildtests_cxx resolver_component_tests_runner_invoker)
736 endif()
737 add_dependencies(buildtests_cxx address_sorting_test_unsecure)
738 add_dependencies(buildtests_cxx address_sorting_test)
739 add_dependencies(buildtests_cxx cancel_ares_query_test)
740
741 add_custom_target(buildtests
742   DEPENDS buildtests_c buildtests_cxx)
743 endif (gRPC_BUILD_TESTS)
744
745
746 add_library(address_sorting
747   third_party/address_sorting/address_sorting.c
748   third_party/address_sorting/address_sorting_posix.c
749   third_party/address_sorting/address_sorting_windows.c
750 )
751
752 if(WIN32 AND MSVC)
753   set_target_properties(address_sorting PROPERTIES COMPILE_PDB_NAME "address_sorting"
754     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
755   )
756   if (gRPC_INSTALL)
757     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/address_sorting.pdb
758       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
759     )
760   endif()
761 endif()
762
763
764 target_include_directories(address_sorting
765   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
766   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
767   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
768   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
769   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
770   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
771   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
772   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
773   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
774   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
775 )
776   # avoid dependency on libstdc++
777   if (_gRPC_CORE_NOSTDCXX_FLAGS)
778     set_target_properties(address_sorting PROPERTIES LINKER_LANGUAGE C)
779     # only use the flags for C++ source files
780     target_compile_options(address_sorting PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
781   endif()
782 target_link_libraries(address_sorting
783   ${_gRPC_BASELIB_LIBRARIES}
784   ${_gRPC_ALLTARGETS_LIBRARIES}
785 )
786
787
788
789 if (gRPC_INSTALL)
790   install(TARGETS address_sorting EXPORT gRPCTargets
791     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
792     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
793     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
794   )
795 endif()
796
797 if (gRPC_BUILD_TESTS)
798
799 add_library(alts_test_util
800   test/core/tsi/alts/crypt/gsec_test_util.cc
801   test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc
802 )
803
804 if(WIN32 AND MSVC)
805   set_target_properties(alts_test_util PROPERTIES COMPILE_PDB_NAME "alts_test_util"
806     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
807   )
808   if (gRPC_INSTALL)
809     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/alts_test_util.pdb
810       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
811     )
812   endif()
813 endif()
814
815
816 target_include_directories(alts_test_util
817   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
818   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
819   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
820   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
821   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
822   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
823   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
824   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
825   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
826   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
827 )
828   # avoid dependency on libstdc++
829   if (_gRPC_CORE_NOSTDCXX_FLAGS)
830     set_target_properties(alts_test_util PROPERTIES LINKER_LANGUAGE C)
831     # only use the flags for C++ source files
832     target_compile_options(alts_test_util PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
833   endif()
834 target_link_libraries(alts_test_util
835   ${_gRPC_SSL_LIBRARIES}
836   ${_gRPC_ALLTARGETS_LIBRARIES}
837   grpc
838 )
839
840
841 endif (gRPC_BUILD_TESTS)
842
843 add_library(gpr
844   src/core/lib/gpr/alloc.cc
845   src/core/lib/gpr/atm.cc
846   src/core/lib/gpr/cpu_iphone.cc
847   src/core/lib/gpr/cpu_linux.cc
848   src/core/lib/gpr/cpu_posix.cc
849   src/core/lib/gpr/cpu_windows.cc
850   src/core/lib/gpr/env_linux.cc
851   src/core/lib/gpr/env_posix.cc
852   src/core/lib/gpr/env_windows.cc
853   src/core/lib/gpr/host_port.cc
854   src/core/lib/gpr/log.cc
855   src/core/lib/gpr/log_android.cc
856   src/core/lib/gpr/log_linux.cc
857   src/core/lib/gpr/log_posix.cc
858   src/core/lib/gpr/log_windows.cc
859   src/core/lib/gpr/mpscq.cc
860   src/core/lib/gpr/murmur_hash.cc
861   src/core/lib/gpr/string.cc
862   src/core/lib/gpr/string_posix.cc
863   src/core/lib/gpr/string_util_windows.cc
864   src/core/lib/gpr/string_windows.cc
865   src/core/lib/gpr/sync.cc
866   src/core/lib/gpr/sync_posix.cc
867   src/core/lib/gpr/sync_windows.cc
868   src/core/lib/gpr/time.cc
869   src/core/lib/gpr/time_posix.cc
870   src/core/lib/gpr/time_precise.cc
871   src/core/lib/gpr/time_windows.cc
872   src/core/lib/gpr/tls_pthread.cc
873   src/core/lib/gpr/tmpfile_msys.cc
874   src/core/lib/gpr/tmpfile_posix.cc
875   src/core/lib/gpr/tmpfile_windows.cc
876   src/core/lib/gpr/wrap_memcpy.cc
877   src/core/lib/gprpp/arena.cc
878   src/core/lib/gprpp/fork.cc
879   src/core/lib/gprpp/global_config_env.cc
880   src/core/lib/gprpp/thd_posix.cc
881   src/core/lib/gprpp/thd_windows.cc
882   src/core/lib/profiling/basic_timers.cc
883   src/core/lib/profiling/stap_timers.cc
884 )
885
886 if(WIN32 AND MSVC)
887   set_target_properties(gpr PROPERTIES COMPILE_PDB_NAME "gpr"
888     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
889   )
890   if (gRPC_INSTALL)
891     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gpr.pdb
892       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
893     )
894   endif()
895 endif()
896
897
898 target_include_directories(gpr
899   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
900   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
901   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
902   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
903   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
904   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
905   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
906   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
907   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
908   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
909 )
910   # avoid dependency on libstdc++
911   if (_gRPC_CORE_NOSTDCXX_FLAGS)
912     set_target_properties(gpr PROPERTIES LINKER_LANGUAGE C)
913     # only use the flags for C++ source files
914     target_compile_options(gpr PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
915   endif()
916 target_link_libraries(gpr
917   ${_gRPC_ALLTARGETS_LIBRARIES}
918 )
919 if (_gRPC_PLATFORM_ANDROID)
920   target_link_libraries(gpr
921     android
922     log
923   )
924 endif (_gRPC_PLATFORM_ANDROID)
925
926 foreach(_hdr
927   include/grpc/support/alloc.h
928   include/grpc/support/atm.h
929   include/grpc/support/atm_gcc_atomic.h
930   include/grpc/support/atm_gcc_sync.h
931   include/grpc/support/atm_windows.h
932   include/grpc/support/cpu.h
933   include/grpc/support/log.h
934   include/grpc/support/log_windows.h
935   include/grpc/support/port_platform.h
936   include/grpc/support/string_util.h
937   include/grpc/support/sync.h
938   include/grpc/support/sync_custom.h
939   include/grpc/support/sync_generic.h
940   include/grpc/support/sync_posix.h
941   include/grpc/support/sync_windows.h
942   include/grpc/support/thd_id.h
943   include/grpc/support/time.h
944   include/grpc/impl/codegen/atm.h
945   include/grpc/impl/codegen/atm_gcc_atomic.h
946   include/grpc/impl/codegen/atm_gcc_sync.h
947   include/grpc/impl/codegen/atm_windows.h
948   include/grpc/impl/codegen/fork.h
949   include/grpc/impl/codegen/gpr_slice.h
950   include/grpc/impl/codegen/gpr_types.h
951   include/grpc/impl/codegen/log.h
952   include/grpc/impl/codegen/port_platform.h
953   include/grpc/impl/codegen/sync.h
954   include/grpc/impl/codegen/sync_custom.h
955   include/grpc/impl/codegen/sync_generic.h
956   include/grpc/impl/codegen/sync_posix.h
957   include/grpc/impl/codegen/sync_windows.h
958 )
959   string(REPLACE "include/" "" _path ${_hdr})
960   get_filename_component(_path ${_path} PATH)
961   install(FILES ${_hdr}
962     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
963   )
964 endforeach()
965
966
967 if (gRPC_INSTALL)
968   install(TARGETS gpr EXPORT gRPCTargets
969     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
970     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
971     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
972   )
973 endif()
974
975
976 add_library(grpc
977   src/core/lib/surface/init.cc
978   src/core/lib/avl/avl.cc
979   src/core/lib/backoff/backoff.cc
980   src/core/lib/channel/channel_args.cc
981   src/core/lib/channel/channel_stack.cc
982   src/core/lib/channel/channel_stack_builder.cc
983   src/core/lib/channel/channel_trace.cc
984   src/core/lib/channel/channelz.cc
985   src/core/lib/channel/channelz_registry.cc
986   src/core/lib/channel/connected_channel.cc
987   src/core/lib/channel/handshaker.cc
988   src/core/lib/channel/handshaker_registry.cc
989   src/core/lib/channel/status_util.cc
990   src/core/lib/compression/compression.cc
991   src/core/lib/compression/compression_args.cc
992   src/core/lib/compression/compression_internal.cc
993   src/core/lib/compression/message_compress.cc
994   src/core/lib/compression/stream_compression.cc
995   src/core/lib/compression/stream_compression_gzip.cc
996   src/core/lib/compression/stream_compression_identity.cc
997   src/core/lib/debug/stats.cc
998   src/core/lib/debug/stats_data.cc
999   src/core/lib/http/format_request.cc
1000   src/core/lib/http/httpcli.cc
1001   src/core/lib/http/parser.cc
1002   src/core/lib/iomgr/buffer_list.cc
1003   src/core/lib/iomgr/call_combiner.cc
1004   src/core/lib/iomgr/cfstream_handle.cc
1005   src/core/lib/iomgr/combiner.cc
1006   src/core/lib/iomgr/endpoint.cc
1007   src/core/lib/iomgr/endpoint_cfstream.cc
1008   src/core/lib/iomgr/endpoint_pair_posix.cc
1009   src/core/lib/iomgr/endpoint_pair_uv.cc
1010   src/core/lib/iomgr/endpoint_pair_windows.cc
1011   src/core/lib/iomgr/error.cc
1012   src/core/lib/iomgr/error_cfstream.cc
1013   src/core/lib/iomgr/ev_epoll1_linux.cc
1014   src/core/lib/iomgr/ev_epollex_linux.cc
1015   src/core/lib/iomgr/ev_poll_posix.cc
1016   src/core/lib/iomgr/ev_posix.cc
1017   src/core/lib/iomgr/ev_windows.cc
1018   src/core/lib/iomgr/exec_ctx.cc
1019   src/core/lib/iomgr/executor.cc
1020   src/core/lib/iomgr/fork_posix.cc
1021   src/core/lib/iomgr/fork_windows.cc
1022   src/core/lib/iomgr/gethostname_fallback.cc
1023   src/core/lib/iomgr/gethostname_host_name_max.cc
1024   src/core/lib/iomgr/gethostname_sysconf.cc
1025   src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
1026   src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
1027   src/core/lib/iomgr/internal_errqueue.cc
1028   src/core/lib/iomgr/iocp_windows.cc
1029   src/core/lib/iomgr/iomgr.cc
1030   src/core/lib/iomgr/iomgr_custom.cc
1031   src/core/lib/iomgr/iomgr_internal.cc
1032   src/core/lib/iomgr/iomgr_posix.cc
1033   src/core/lib/iomgr/iomgr_posix_cfstream.cc
1034   src/core/lib/iomgr/iomgr_uv.cc
1035   src/core/lib/iomgr/iomgr_windows.cc
1036   src/core/lib/iomgr/is_epollexclusive_available.cc
1037   src/core/lib/iomgr/load_file.cc
1038   src/core/lib/iomgr/lockfree_event.cc
1039   src/core/lib/iomgr/polling_entity.cc
1040   src/core/lib/iomgr/pollset.cc
1041   src/core/lib/iomgr/pollset_custom.cc
1042   src/core/lib/iomgr/pollset_set.cc
1043   src/core/lib/iomgr/pollset_set_custom.cc
1044   src/core/lib/iomgr/pollset_set_windows.cc
1045   src/core/lib/iomgr/pollset_uv.cc
1046   src/core/lib/iomgr/pollset_windows.cc
1047   src/core/lib/iomgr/resolve_address.cc
1048   src/core/lib/iomgr/resolve_address_custom.cc
1049   src/core/lib/iomgr/resolve_address_posix.cc
1050   src/core/lib/iomgr/resolve_address_windows.cc
1051   src/core/lib/iomgr/resource_quota.cc
1052   src/core/lib/iomgr/sockaddr_utils.cc
1053   src/core/lib/iomgr/socket_factory_posix.cc
1054   src/core/lib/iomgr/socket_mutator.cc
1055   src/core/lib/iomgr/socket_utils_common_posix.cc
1056   src/core/lib/iomgr/socket_utils_linux.cc
1057   src/core/lib/iomgr/socket_utils_posix.cc
1058   src/core/lib/iomgr/socket_utils_uv.cc
1059   src/core/lib/iomgr/socket_utils_windows.cc
1060   src/core/lib/iomgr/socket_windows.cc
1061   src/core/lib/iomgr/tcp_client.cc
1062   src/core/lib/iomgr/tcp_client_cfstream.cc
1063   src/core/lib/iomgr/tcp_client_custom.cc
1064   src/core/lib/iomgr/tcp_client_posix.cc
1065   src/core/lib/iomgr/tcp_client_windows.cc
1066   src/core/lib/iomgr/tcp_custom.cc
1067   src/core/lib/iomgr/tcp_posix.cc
1068   src/core/lib/iomgr/tcp_server.cc
1069   src/core/lib/iomgr/tcp_server_custom.cc
1070   src/core/lib/iomgr/tcp_server_posix.cc
1071   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
1072   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
1073   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
1074   src/core/lib/iomgr/tcp_server_windows.cc
1075   src/core/lib/iomgr/tcp_uv.cc
1076   src/core/lib/iomgr/tcp_windows.cc
1077   src/core/lib/iomgr/time_averaged_stats.cc
1078   src/core/lib/iomgr/timer.cc
1079   src/core/lib/iomgr/timer_custom.cc
1080   src/core/lib/iomgr/timer_generic.cc
1081   src/core/lib/iomgr/timer_heap.cc
1082   src/core/lib/iomgr/timer_manager.cc
1083   src/core/lib/iomgr/timer_uv.cc
1084   src/core/lib/iomgr/udp_server.cc
1085   src/core/lib/iomgr/unix_sockets_posix.cc
1086   src/core/lib/iomgr/unix_sockets_posix_noop.cc
1087   src/core/lib/iomgr/wakeup_fd_eventfd.cc
1088   src/core/lib/iomgr/wakeup_fd_nospecial.cc
1089   src/core/lib/iomgr/wakeup_fd_pipe.cc
1090   src/core/lib/iomgr/wakeup_fd_posix.cc
1091   src/core/lib/json/json.cc
1092   src/core/lib/json/json_reader.cc
1093   src/core/lib/json/json_string.cc
1094   src/core/lib/json/json_writer.cc
1095   src/core/lib/slice/b64.cc
1096   src/core/lib/slice/percent_encoding.cc
1097   src/core/lib/slice/slice.cc
1098   src/core/lib/slice/slice_buffer.cc
1099   src/core/lib/slice/slice_intern.cc
1100   src/core/lib/slice/slice_string_helpers.cc
1101   src/core/lib/surface/api_trace.cc
1102   src/core/lib/surface/byte_buffer.cc
1103   src/core/lib/surface/byte_buffer_reader.cc
1104   src/core/lib/surface/call.cc
1105   src/core/lib/surface/call_details.cc
1106   src/core/lib/surface/call_log_batch.cc
1107   src/core/lib/surface/channel.cc
1108   src/core/lib/surface/channel_init.cc
1109   src/core/lib/surface/channel_ping.cc
1110   src/core/lib/surface/channel_stack_type.cc
1111   src/core/lib/surface/completion_queue.cc
1112   src/core/lib/surface/completion_queue_factory.cc
1113   src/core/lib/surface/event_string.cc
1114   src/core/lib/surface/lame_client.cc
1115   src/core/lib/surface/metadata_array.cc
1116   src/core/lib/surface/server.cc
1117   src/core/lib/surface/validate_metadata.cc
1118   src/core/lib/surface/version.cc
1119   src/core/lib/transport/bdp_estimator.cc
1120   src/core/lib/transport/byte_stream.cc
1121   src/core/lib/transport/connectivity_state.cc
1122   src/core/lib/transport/error_utils.cc
1123   src/core/lib/transport/metadata.cc
1124   src/core/lib/transport/metadata_batch.cc
1125   src/core/lib/transport/pid_controller.cc
1126   src/core/lib/transport/static_metadata.cc
1127   src/core/lib/transport/status_conversion.cc
1128   src/core/lib/transport/status_metadata.cc
1129   src/core/lib/transport/timeout_encoding.cc
1130   src/core/lib/transport/transport.cc
1131   src/core/lib/transport/transport_op_string.cc
1132   src/core/lib/uri/uri_parser.cc
1133   src/core/lib/debug/trace.cc
1134   src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc
1135   src/core/ext/transport/chttp2/transport/bin_decoder.cc
1136   src/core/ext/transport/chttp2/transport/bin_encoder.cc
1137   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
1138   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
1139   src/core/ext/transport/chttp2/transport/context_list.cc
1140   src/core/ext/transport/chttp2/transport/flow_control.cc
1141   src/core/ext/transport/chttp2/transport/frame_data.cc
1142   src/core/ext/transport/chttp2/transport/frame_goaway.cc
1143   src/core/ext/transport/chttp2/transport/frame_ping.cc
1144   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
1145   src/core/ext/transport/chttp2/transport/frame_settings.cc
1146   src/core/ext/transport/chttp2/transport/frame_window_update.cc
1147   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
1148   src/core/ext/transport/chttp2/transport/hpack_parser.cc
1149   src/core/ext/transport/chttp2/transport/hpack_table.cc
1150   src/core/ext/transport/chttp2/transport/http2_settings.cc
1151   src/core/ext/transport/chttp2/transport/huffsyms.cc
1152   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
1153   src/core/ext/transport/chttp2/transport/parsing.cc
1154   src/core/ext/transport/chttp2/transport/stream_lists.cc
1155   src/core/ext/transport/chttp2/transport/stream_map.cc
1156   src/core/ext/transport/chttp2/transport/varint.cc
1157   src/core/ext/transport/chttp2/transport/writing.cc
1158   src/core/ext/transport/chttp2/alpn/alpn.cc
1159   src/core/ext/filters/http/client/http_client_filter.cc
1160   src/core/ext/filters/http/http_filters_plugin.cc
1161   src/core/ext/filters/http/message_compress/message_compress_filter.cc
1162   src/core/ext/filters/http/server/http_server_filter.cc
1163   src/core/lib/http/httpcli_security_connector.cc
1164   src/core/lib/security/context/security_context.cc
1165   src/core/lib/security/credentials/alts/alts_credentials.cc
1166   src/core/lib/security/credentials/composite/composite_credentials.cc
1167   src/core/lib/security/credentials/credentials.cc
1168   src/core/lib/security/credentials/credentials_metadata.cc
1169   src/core/lib/security/credentials/fake/fake_credentials.cc
1170   src/core/lib/security/credentials/google_default/credentials_generic.cc
1171   src/core/lib/security/credentials/google_default/google_default_credentials.cc
1172   src/core/lib/security/credentials/iam/iam_credentials.cc
1173   src/core/lib/security/credentials/jwt/json_token.cc
1174   src/core/lib/security/credentials/jwt/jwt_credentials.cc
1175   src/core/lib/security/credentials/jwt/jwt_verifier.cc
1176   src/core/lib/security/credentials/local/local_credentials.cc
1177   src/core/lib/security/credentials/oauth2/oauth2_credentials.cc
1178   src/core/lib/security/credentials/plugin/plugin_credentials.cc
1179   src/core/lib/security/credentials/ssl/ssl_credentials.cc
1180   src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc
1181   src/core/lib/security/credentials/tls/spiffe_credentials.cc
1182   src/core/lib/security/security_connector/alts/alts_security_connector.cc
1183   src/core/lib/security/security_connector/fake/fake_security_connector.cc
1184   src/core/lib/security/security_connector/load_system_roots_fallback.cc
1185   src/core/lib/security/security_connector/load_system_roots_linux.cc
1186   src/core/lib/security/security_connector/local/local_security_connector.cc
1187   src/core/lib/security/security_connector/security_connector.cc
1188   src/core/lib/security/security_connector/ssl/ssl_security_connector.cc
1189   src/core/lib/security/security_connector/ssl_utils.cc
1190   src/core/lib/security/security_connector/tls/spiffe_security_connector.cc
1191   src/core/lib/security/transport/client_auth_filter.cc
1192   src/core/lib/security/transport/secure_endpoint.cc
1193   src/core/lib/security/transport/security_handshaker.cc
1194   src/core/lib/security/transport/server_auth_filter.cc
1195   src/core/lib/security/transport/target_authority_table.cc
1196   src/core/lib/security/transport/tsi_error.cc
1197   src/core/lib/security/util/json_util.cc
1198   src/core/lib/surface/init_secure.cc
1199   src/core/tsi/alts/crypt/aes_gcm.cc
1200   src/core/tsi/alts/crypt/gsec.cc
1201   src/core/tsi/alts/frame_protector/alts_counter.cc
1202   src/core/tsi/alts/frame_protector/alts_crypter.cc
1203   src/core/tsi/alts/frame_protector/alts_frame_protector.cc
1204   src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc
1205   src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc
1206   src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc
1207   src/core/tsi/alts/frame_protector/frame_handler.cc
1208   src/core/tsi/alts/handshaker/alts_handshaker_client.cc
1209   src/core/tsi/alts/handshaker/alts_shared_resource.cc
1210   src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
1211   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc
1212   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc
1213   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc
1214   src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc
1215   src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc
1216   src/core/lib/security/credentials/alts/check_gcp_environment.cc
1217   src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc
1218   src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc
1219   src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
1220   src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc
1221   src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc
1222   src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc
1223   src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc
1224   src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc
1225   src/core/tsi/alts/handshaker/alts_tsi_utils.cc
1226   src/core/tsi/alts/handshaker/transport_security_common_api.cc
1227   src/core/tsi/alts/handshaker/altscontext.pb.c
1228   src/core/tsi/alts/handshaker/handshaker.pb.c
1229   src/core/tsi/alts/handshaker/transport_security_common.pb.c
1230   third_party/nanopb/pb_common.c
1231   third_party/nanopb/pb_decode.c
1232   third_party/nanopb/pb_encode.c
1233   src/core/tsi/transport_security.cc
1234   src/core/ext/transport/chttp2/client/insecure/channel_create.cc
1235   src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
1236   src/core/ext/transport/chttp2/client/authority.cc
1237   src/core/ext/transport/chttp2/client/chttp2_connector.cc
1238   src/core/ext/filters/client_channel/backup_poller.cc
1239   src/core/ext/filters/client_channel/channel_connectivity.cc
1240   src/core/ext/filters/client_channel/client_channel.cc
1241   src/core/ext/filters/client_channel/client_channel_channelz.cc
1242   src/core/ext/filters/client_channel/client_channel_factory.cc
1243   src/core/ext/filters/client_channel/client_channel_plugin.cc
1244   src/core/ext/filters/client_channel/connector.cc
1245   src/core/ext/filters/client_channel/global_subchannel_pool.cc
1246   src/core/ext/filters/client_channel/health/health_check_client.cc
1247   src/core/ext/filters/client_channel/http_connect_handshaker.cc
1248   src/core/ext/filters/client_channel/http_proxy.cc
1249   src/core/ext/filters/client_channel/lb_policy.cc
1250   src/core/ext/filters/client_channel/lb_policy_registry.cc
1251   src/core/ext/filters/client_channel/local_subchannel_pool.cc
1252   src/core/ext/filters/client_channel/parse_address.cc
1253   src/core/ext/filters/client_channel/proxy_mapper.cc
1254   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
1255   src/core/ext/filters/client_channel/resolver.cc
1256   src/core/ext/filters/client_channel/resolver_registry.cc
1257   src/core/ext/filters/client_channel/resolver_result_parsing.cc
1258   src/core/ext/filters/client_channel/resolving_lb_policy.cc
1259   src/core/ext/filters/client_channel/retry_throttle.cc
1260   src/core/ext/filters/client_channel/server_address.cc
1261   src/core/ext/filters/client_channel/service_config.cc
1262   src/core/ext/filters/client_channel/subchannel.cc
1263   src/core/ext/filters/client_channel/subchannel_pool_interface.cc
1264   src/core/ext/filters/deadline/deadline_filter.cc
1265   src/core/ext/filters/client_channel/health/health.pb.c
1266   src/core/tsi/fake_transport_security.cc
1267   src/core/tsi/local_transport_security.cc
1268   src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc
1269   src/core/tsi/ssl/session_cache/ssl_session_cache.cc
1270   src/core/tsi/ssl/session_cache/ssl_session_openssl.cc
1271   src/core/tsi/ssl_transport_security.cc
1272   src/core/tsi/transport_security_grpc.cc
1273   src/core/ext/transport/chttp2/server/chttp2_server.cc
1274   src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc
1275   src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
1276   src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
1277   src/core/ext/transport/inproc/inproc_plugin.cc
1278   src/core/ext/transport/inproc/inproc_transport.cc
1279   src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
1280   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
1281   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc
1282   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
1283   src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
1284   src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
1285   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c
1286   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c
1287   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c
1288   src/core/ext/filters/client_channel/lb_policy/xds/xds.cc
1289   src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_secure.cc
1290   src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.cc
1291   src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.cc
1292   src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
1293   src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
1294   src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
1295   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc
1296   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc
1297   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
1298   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc
1299   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
1300   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc
1301   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc
1302   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc
1303   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc
1304   src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc
1305   src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc
1306   src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
1307   src/core/ext/filters/census/grpc_context.cc
1308   src/core/ext/filters/max_age/max_age_filter.cc
1309   src/core/ext/filters/message_size/message_size_filter.cc
1310   src/core/ext/filters/http/client_authority_filter.cc
1311   src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc
1312   src/core/ext/filters/workarounds/workaround_utils.cc
1313   src/core/plugin_registry/grpc_plugin_registry.cc
1314 )
1315
1316 if(WIN32 AND MSVC)
1317   set_target_properties(grpc PROPERTIES COMPILE_PDB_NAME "grpc"
1318     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
1319   )
1320   if (gRPC_INSTALL)
1321     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc.pdb
1322       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
1323     )
1324   endif()
1325 endif()
1326
1327
1328 target_include_directories(grpc
1329   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
1330   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
1331   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
1332   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
1333   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
1334   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
1335   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
1336   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
1337   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
1338   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
1339 )
1340   # avoid dependency on libstdc++
1341   if (_gRPC_CORE_NOSTDCXX_FLAGS)
1342     set_target_properties(grpc PROPERTIES LINKER_LANGUAGE C)
1343     # only use the flags for C++ source files
1344     target_compile_options(grpc PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
1345   endif()
1346 target_link_libraries(grpc
1347   ${_gRPC_BASELIB_LIBRARIES}
1348   ${_gRPC_SSL_LIBRARIES}
1349   ${_gRPC_ZLIB_LIBRARIES}
1350   ${_gRPC_CARES_LIBRARIES}
1351   ${_gRPC_ADDRESS_SORTING_LIBRARIES}
1352   ${_gRPC_ALLTARGETS_LIBRARIES}
1353   gpr
1354 )
1355
1356 foreach(_hdr
1357   include/grpc/impl/codegen/byte_buffer.h
1358   include/grpc/impl/codegen/byte_buffer_reader.h
1359   include/grpc/impl/codegen/compression_types.h
1360   include/grpc/impl/codegen/connectivity_state.h
1361   include/grpc/impl/codegen/grpc_types.h
1362   include/grpc/impl/codegen/propagation_bits.h
1363   include/grpc/impl/codegen/slice.h
1364   include/grpc/impl/codegen/status.h
1365   include/grpc/impl/codegen/atm.h
1366   include/grpc/impl/codegen/atm_gcc_atomic.h
1367   include/grpc/impl/codegen/atm_gcc_sync.h
1368   include/grpc/impl/codegen/atm_windows.h
1369   include/grpc/impl/codegen/fork.h
1370   include/grpc/impl/codegen/gpr_slice.h
1371   include/grpc/impl/codegen/gpr_types.h
1372   include/grpc/impl/codegen/log.h
1373   include/grpc/impl/codegen/port_platform.h
1374   include/grpc/impl/codegen/sync.h
1375   include/grpc/impl/codegen/sync_custom.h
1376   include/grpc/impl/codegen/sync_generic.h
1377   include/grpc/impl/codegen/sync_posix.h
1378   include/grpc/impl/codegen/sync_windows.h
1379   include/grpc/grpc_security.h
1380   include/grpc/byte_buffer.h
1381   include/grpc/byte_buffer_reader.h
1382   include/grpc/compression.h
1383   include/grpc/fork.h
1384   include/grpc/grpc.h
1385   include/grpc/grpc_posix.h
1386   include/grpc/grpc_security_constants.h
1387   include/grpc/load_reporting.h
1388   include/grpc/slice.h
1389   include/grpc/slice_buffer.h
1390   include/grpc/status.h
1391   include/grpc/support/workaround_list.h
1392   include/grpc/census.h
1393 )
1394   string(REPLACE "include/" "" _path ${_hdr})
1395   get_filename_component(_path ${_path} PATH)
1396   install(FILES ${_hdr}
1397     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
1398   )
1399 endforeach()
1400
1401
1402 if (gRPC_INSTALL)
1403   install(TARGETS grpc EXPORT gRPCTargets
1404     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
1405     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
1406     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
1407   )
1408 endif()
1409
1410
1411 add_library(grpc_cronet
1412   src/core/lib/surface/init.cc
1413   src/core/lib/avl/avl.cc
1414   src/core/lib/backoff/backoff.cc
1415   src/core/lib/channel/channel_args.cc
1416   src/core/lib/channel/channel_stack.cc
1417   src/core/lib/channel/channel_stack_builder.cc
1418   src/core/lib/channel/channel_trace.cc
1419   src/core/lib/channel/channelz.cc
1420   src/core/lib/channel/channelz_registry.cc
1421   src/core/lib/channel/connected_channel.cc
1422   src/core/lib/channel/handshaker.cc
1423   src/core/lib/channel/handshaker_registry.cc
1424   src/core/lib/channel/status_util.cc
1425   src/core/lib/compression/compression.cc
1426   src/core/lib/compression/compression_args.cc
1427   src/core/lib/compression/compression_internal.cc
1428   src/core/lib/compression/message_compress.cc
1429   src/core/lib/compression/stream_compression.cc
1430   src/core/lib/compression/stream_compression_gzip.cc
1431   src/core/lib/compression/stream_compression_identity.cc
1432   src/core/lib/debug/stats.cc
1433   src/core/lib/debug/stats_data.cc
1434   src/core/lib/http/format_request.cc
1435   src/core/lib/http/httpcli.cc
1436   src/core/lib/http/parser.cc
1437   src/core/lib/iomgr/buffer_list.cc
1438   src/core/lib/iomgr/call_combiner.cc
1439   src/core/lib/iomgr/cfstream_handle.cc
1440   src/core/lib/iomgr/combiner.cc
1441   src/core/lib/iomgr/endpoint.cc
1442   src/core/lib/iomgr/endpoint_cfstream.cc
1443   src/core/lib/iomgr/endpoint_pair_posix.cc
1444   src/core/lib/iomgr/endpoint_pair_uv.cc
1445   src/core/lib/iomgr/endpoint_pair_windows.cc
1446   src/core/lib/iomgr/error.cc
1447   src/core/lib/iomgr/error_cfstream.cc
1448   src/core/lib/iomgr/ev_epoll1_linux.cc
1449   src/core/lib/iomgr/ev_epollex_linux.cc
1450   src/core/lib/iomgr/ev_poll_posix.cc
1451   src/core/lib/iomgr/ev_posix.cc
1452   src/core/lib/iomgr/ev_windows.cc
1453   src/core/lib/iomgr/exec_ctx.cc
1454   src/core/lib/iomgr/executor.cc
1455   src/core/lib/iomgr/fork_posix.cc
1456   src/core/lib/iomgr/fork_windows.cc
1457   src/core/lib/iomgr/gethostname_fallback.cc
1458   src/core/lib/iomgr/gethostname_host_name_max.cc
1459   src/core/lib/iomgr/gethostname_sysconf.cc
1460   src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
1461   src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
1462   src/core/lib/iomgr/internal_errqueue.cc
1463   src/core/lib/iomgr/iocp_windows.cc
1464   src/core/lib/iomgr/iomgr.cc
1465   src/core/lib/iomgr/iomgr_custom.cc
1466   src/core/lib/iomgr/iomgr_internal.cc
1467   src/core/lib/iomgr/iomgr_posix.cc
1468   src/core/lib/iomgr/iomgr_posix_cfstream.cc
1469   src/core/lib/iomgr/iomgr_uv.cc
1470   src/core/lib/iomgr/iomgr_windows.cc
1471   src/core/lib/iomgr/is_epollexclusive_available.cc
1472   src/core/lib/iomgr/load_file.cc
1473   src/core/lib/iomgr/lockfree_event.cc
1474   src/core/lib/iomgr/polling_entity.cc
1475   src/core/lib/iomgr/pollset.cc
1476   src/core/lib/iomgr/pollset_custom.cc
1477   src/core/lib/iomgr/pollset_set.cc
1478   src/core/lib/iomgr/pollset_set_custom.cc
1479   src/core/lib/iomgr/pollset_set_windows.cc
1480   src/core/lib/iomgr/pollset_uv.cc
1481   src/core/lib/iomgr/pollset_windows.cc
1482   src/core/lib/iomgr/resolve_address.cc
1483   src/core/lib/iomgr/resolve_address_custom.cc
1484   src/core/lib/iomgr/resolve_address_posix.cc
1485   src/core/lib/iomgr/resolve_address_windows.cc
1486   src/core/lib/iomgr/resource_quota.cc
1487   src/core/lib/iomgr/sockaddr_utils.cc
1488   src/core/lib/iomgr/socket_factory_posix.cc
1489   src/core/lib/iomgr/socket_mutator.cc
1490   src/core/lib/iomgr/socket_utils_common_posix.cc
1491   src/core/lib/iomgr/socket_utils_linux.cc
1492   src/core/lib/iomgr/socket_utils_posix.cc
1493   src/core/lib/iomgr/socket_utils_uv.cc
1494   src/core/lib/iomgr/socket_utils_windows.cc
1495   src/core/lib/iomgr/socket_windows.cc
1496   src/core/lib/iomgr/tcp_client.cc
1497   src/core/lib/iomgr/tcp_client_cfstream.cc
1498   src/core/lib/iomgr/tcp_client_custom.cc
1499   src/core/lib/iomgr/tcp_client_posix.cc
1500   src/core/lib/iomgr/tcp_client_windows.cc
1501   src/core/lib/iomgr/tcp_custom.cc
1502   src/core/lib/iomgr/tcp_posix.cc
1503   src/core/lib/iomgr/tcp_server.cc
1504   src/core/lib/iomgr/tcp_server_custom.cc
1505   src/core/lib/iomgr/tcp_server_posix.cc
1506   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
1507   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
1508   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
1509   src/core/lib/iomgr/tcp_server_windows.cc
1510   src/core/lib/iomgr/tcp_uv.cc
1511   src/core/lib/iomgr/tcp_windows.cc
1512   src/core/lib/iomgr/time_averaged_stats.cc
1513   src/core/lib/iomgr/timer.cc
1514   src/core/lib/iomgr/timer_custom.cc
1515   src/core/lib/iomgr/timer_generic.cc
1516   src/core/lib/iomgr/timer_heap.cc
1517   src/core/lib/iomgr/timer_manager.cc
1518   src/core/lib/iomgr/timer_uv.cc
1519   src/core/lib/iomgr/udp_server.cc
1520   src/core/lib/iomgr/unix_sockets_posix.cc
1521   src/core/lib/iomgr/unix_sockets_posix_noop.cc
1522   src/core/lib/iomgr/wakeup_fd_eventfd.cc
1523   src/core/lib/iomgr/wakeup_fd_nospecial.cc
1524   src/core/lib/iomgr/wakeup_fd_pipe.cc
1525   src/core/lib/iomgr/wakeup_fd_posix.cc
1526   src/core/lib/json/json.cc
1527   src/core/lib/json/json_reader.cc
1528   src/core/lib/json/json_string.cc
1529   src/core/lib/json/json_writer.cc
1530   src/core/lib/slice/b64.cc
1531   src/core/lib/slice/percent_encoding.cc
1532   src/core/lib/slice/slice.cc
1533   src/core/lib/slice/slice_buffer.cc
1534   src/core/lib/slice/slice_intern.cc
1535   src/core/lib/slice/slice_string_helpers.cc
1536   src/core/lib/surface/api_trace.cc
1537   src/core/lib/surface/byte_buffer.cc
1538   src/core/lib/surface/byte_buffer_reader.cc
1539   src/core/lib/surface/call.cc
1540   src/core/lib/surface/call_details.cc
1541   src/core/lib/surface/call_log_batch.cc
1542   src/core/lib/surface/channel.cc
1543   src/core/lib/surface/channel_init.cc
1544   src/core/lib/surface/channel_ping.cc
1545   src/core/lib/surface/channel_stack_type.cc
1546   src/core/lib/surface/completion_queue.cc
1547   src/core/lib/surface/completion_queue_factory.cc
1548   src/core/lib/surface/event_string.cc
1549   src/core/lib/surface/lame_client.cc
1550   src/core/lib/surface/metadata_array.cc
1551   src/core/lib/surface/server.cc
1552   src/core/lib/surface/validate_metadata.cc
1553   src/core/lib/surface/version.cc
1554   src/core/lib/transport/bdp_estimator.cc
1555   src/core/lib/transport/byte_stream.cc
1556   src/core/lib/transport/connectivity_state.cc
1557   src/core/lib/transport/error_utils.cc
1558   src/core/lib/transport/metadata.cc
1559   src/core/lib/transport/metadata_batch.cc
1560   src/core/lib/transport/pid_controller.cc
1561   src/core/lib/transport/static_metadata.cc
1562   src/core/lib/transport/status_conversion.cc
1563   src/core/lib/transport/status_metadata.cc
1564   src/core/lib/transport/timeout_encoding.cc
1565   src/core/lib/transport/transport.cc
1566   src/core/lib/transport/transport_op_string.cc
1567   src/core/lib/uri/uri_parser.cc
1568   src/core/lib/debug/trace.cc
1569   src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc
1570   src/core/ext/transport/cronet/transport/cronet_api_dummy.cc
1571   src/core/ext/transport/cronet/transport/cronet_transport.cc
1572   src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc
1573   src/core/ext/transport/chttp2/transport/bin_decoder.cc
1574   src/core/ext/transport/chttp2/transport/bin_encoder.cc
1575   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
1576   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
1577   src/core/ext/transport/chttp2/transport/context_list.cc
1578   src/core/ext/transport/chttp2/transport/flow_control.cc
1579   src/core/ext/transport/chttp2/transport/frame_data.cc
1580   src/core/ext/transport/chttp2/transport/frame_goaway.cc
1581   src/core/ext/transport/chttp2/transport/frame_ping.cc
1582   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
1583   src/core/ext/transport/chttp2/transport/frame_settings.cc
1584   src/core/ext/transport/chttp2/transport/frame_window_update.cc
1585   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
1586   src/core/ext/transport/chttp2/transport/hpack_parser.cc
1587   src/core/ext/transport/chttp2/transport/hpack_table.cc
1588   src/core/ext/transport/chttp2/transport/http2_settings.cc
1589   src/core/ext/transport/chttp2/transport/huffsyms.cc
1590   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
1591   src/core/ext/transport/chttp2/transport/parsing.cc
1592   src/core/ext/transport/chttp2/transport/stream_lists.cc
1593   src/core/ext/transport/chttp2/transport/stream_map.cc
1594   src/core/ext/transport/chttp2/transport/varint.cc
1595   src/core/ext/transport/chttp2/transport/writing.cc
1596   src/core/ext/transport/chttp2/alpn/alpn.cc
1597   src/core/ext/filters/http/client/http_client_filter.cc
1598   src/core/ext/filters/http/http_filters_plugin.cc
1599   src/core/ext/filters/http/message_compress/message_compress_filter.cc
1600   src/core/ext/filters/http/server/http_server_filter.cc
1601   src/core/ext/filters/client_channel/backup_poller.cc
1602   src/core/ext/filters/client_channel/channel_connectivity.cc
1603   src/core/ext/filters/client_channel/client_channel.cc
1604   src/core/ext/filters/client_channel/client_channel_channelz.cc
1605   src/core/ext/filters/client_channel/client_channel_factory.cc
1606   src/core/ext/filters/client_channel/client_channel_plugin.cc
1607   src/core/ext/filters/client_channel/connector.cc
1608   src/core/ext/filters/client_channel/global_subchannel_pool.cc
1609   src/core/ext/filters/client_channel/health/health_check_client.cc
1610   src/core/ext/filters/client_channel/http_connect_handshaker.cc
1611   src/core/ext/filters/client_channel/http_proxy.cc
1612   src/core/ext/filters/client_channel/lb_policy.cc
1613   src/core/ext/filters/client_channel/lb_policy_registry.cc
1614   src/core/ext/filters/client_channel/local_subchannel_pool.cc
1615   src/core/ext/filters/client_channel/parse_address.cc
1616   src/core/ext/filters/client_channel/proxy_mapper.cc
1617   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
1618   src/core/ext/filters/client_channel/resolver.cc
1619   src/core/ext/filters/client_channel/resolver_registry.cc
1620   src/core/ext/filters/client_channel/resolver_result_parsing.cc
1621   src/core/ext/filters/client_channel/resolving_lb_policy.cc
1622   src/core/ext/filters/client_channel/retry_throttle.cc
1623   src/core/ext/filters/client_channel/server_address.cc
1624   src/core/ext/filters/client_channel/service_config.cc
1625   src/core/ext/filters/client_channel/subchannel.cc
1626   src/core/ext/filters/client_channel/subchannel_pool_interface.cc
1627   src/core/ext/filters/deadline/deadline_filter.cc
1628   src/core/ext/filters/client_channel/health/health.pb.c
1629   third_party/nanopb/pb_common.c
1630   third_party/nanopb/pb_decode.c
1631   third_party/nanopb/pb_encode.c
1632   src/core/lib/http/httpcli_security_connector.cc
1633   src/core/lib/security/context/security_context.cc
1634   src/core/lib/security/credentials/alts/alts_credentials.cc
1635   src/core/lib/security/credentials/composite/composite_credentials.cc
1636   src/core/lib/security/credentials/credentials.cc
1637   src/core/lib/security/credentials/credentials_metadata.cc
1638   src/core/lib/security/credentials/fake/fake_credentials.cc
1639   src/core/lib/security/credentials/google_default/credentials_generic.cc
1640   src/core/lib/security/credentials/google_default/google_default_credentials.cc
1641   src/core/lib/security/credentials/iam/iam_credentials.cc
1642   src/core/lib/security/credentials/jwt/json_token.cc
1643   src/core/lib/security/credentials/jwt/jwt_credentials.cc
1644   src/core/lib/security/credentials/jwt/jwt_verifier.cc
1645   src/core/lib/security/credentials/local/local_credentials.cc
1646   src/core/lib/security/credentials/oauth2/oauth2_credentials.cc
1647   src/core/lib/security/credentials/plugin/plugin_credentials.cc
1648   src/core/lib/security/credentials/ssl/ssl_credentials.cc
1649   src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc
1650   src/core/lib/security/credentials/tls/spiffe_credentials.cc
1651   src/core/lib/security/security_connector/alts/alts_security_connector.cc
1652   src/core/lib/security/security_connector/fake/fake_security_connector.cc
1653   src/core/lib/security/security_connector/load_system_roots_fallback.cc
1654   src/core/lib/security/security_connector/load_system_roots_linux.cc
1655   src/core/lib/security/security_connector/local/local_security_connector.cc
1656   src/core/lib/security/security_connector/security_connector.cc
1657   src/core/lib/security/security_connector/ssl/ssl_security_connector.cc
1658   src/core/lib/security/security_connector/ssl_utils.cc
1659   src/core/lib/security/security_connector/tls/spiffe_security_connector.cc
1660   src/core/lib/security/transport/client_auth_filter.cc
1661   src/core/lib/security/transport/secure_endpoint.cc
1662   src/core/lib/security/transport/security_handshaker.cc
1663   src/core/lib/security/transport/server_auth_filter.cc
1664   src/core/lib/security/transport/target_authority_table.cc
1665   src/core/lib/security/transport/tsi_error.cc
1666   src/core/lib/security/util/json_util.cc
1667   src/core/lib/surface/init_secure.cc
1668   src/core/tsi/alts/crypt/aes_gcm.cc
1669   src/core/tsi/alts/crypt/gsec.cc
1670   src/core/tsi/alts/frame_protector/alts_counter.cc
1671   src/core/tsi/alts/frame_protector/alts_crypter.cc
1672   src/core/tsi/alts/frame_protector/alts_frame_protector.cc
1673   src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc
1674   src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc
1675   src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc
1676   src/core/tsi/alts/frame_protector/frame_handler.cc
1677   src/core/tsi/alts/handshaker/alts_handshaker_client.cc
1678   src/core/tsi/alts/handshaker/alts_shared_resource.cc
1679   src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
1680   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc
1681   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc
1682   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc
1683   src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc
1684   src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc
1685   src/core/lib/security/credentials/alts/check_gcp_environment.cc
1686   src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc
1687   src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc
1688   src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
1689   src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc
1690   src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc
1691   src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc
1692   src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc
1693   src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc
1694   src/core/tsi/alts/handshaker/alts_tsi_utils.cc
1695   src/core/tsi/alts/handshaker/transport_security_common_api.cc
1696   src/core/tsi/alts/handshaker/altscontext.pb.c
1697   src/core/tsi/alts/handshaker/handshaker.pb.c
1698   src/core/tsi/alts/handshaker/transport_security_common.pb.c
1699   src/core/tsi/transport_security.cc
1700   src/core/ext/transport/chttp2/client/insecure/channel_create.cc
1701   src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
1702   src/core/ext/transport/chttp2/client/authority.cc
1703   src/core/ext/transport/chttp2/client/chttp2_connector.cc
1704   src/core/tsi/fake_transport_security.cc
1705   src/core/tsi/local_transport_security.cc
1706   src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc
1707   src/core/tsi/ssl/session_cache/ssl_session_cache.cc
1708   src/core/tsi/ssl/session_cache/ssl_session_openssl.cc
1709   src/core/tsi/ssl_transport_security.cc
1710   src/core/tsi/transport_security_grpc.cc
1711   src/core/plugin_registry/grpc_cronet_plugin_registry.cc
1712 )
1713
1714 if(WIN32 AND MSVC)
1715   set_target_properties(grpc_cronet PROPERTIES COMPILE_PDB_NAME "grpc_cronet"
1716     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
1717   )
1718   if (gRPC_INSTALL)
1719     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_cronet.pdb
1720       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
1721     )
1722   endif()
1723 endif()
1724
1725
1726 target_include_directories(grpc_cronet
1727   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
1728   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
1729   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
1730   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
1731   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
1732   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
1733   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
1734   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
1735   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
1736   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
1737 )
1738   # avoid dependency on libstdc++
1739   if (_gRPC_CORE_NOSTDCXX_FLAGS)
1740     set_target_properties(grpc_cronet PROPERTIES LINKER_LANGUAGE C)
1741     # only use the flags for C++ source files
1742     target_compile_options(grpc_cronet PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
1743   endif()
1744 target_link_libraries(grpc_cronet
1745   ${_gRPC_BASELIB_LIBRARIES}
1746   ${_gRPC_SSL_LIBRARIES}
1747   ${_gRPC_ZLIB_LIBRARIES}
1748   ${_gRPC_CARES_LIBRARIES}
1749   ${_gRPC_ADDRESS_SORTING_LIBRARIES}
1750   ${_gRPC_ALLTARGETS_LIBRARIES}
1751   gpr
1752 )
1753
1754 foreach(_hdr
1755   include/grpc/impl/codegen/byte_buffer.h
1756   include/grpc/impl/codegen/byte_buffer_reader.h
1757   include/grpc/impl/codegen/compression_types.h
1758   include/grpc/impl/codegen/connectivity_state.h
1759   include/grpc/impl/codegen/grpc_types.h
1760   include/grpc/impl/codegen/propagation_bits.h
1761   include/grpc/impl/codegen/slice.h
1762   include/grpc/impl/codegen/status.h
1763   include/grpc/impl/codegen/atm.h
1764   include/grpc/impl/codegen/atm_gcc_atomic.h
1765   include/grpc/impl/codegen/atm_gcc_sync.h
1766   include/grpc/impl/codegen/atm_windows.h
1767   include/grpc/impl/codegen/fork.h
1768   include/grpc/impl/codegen/gpr_slice.h
1769   include/grpc/impl/codegen/gpr_types.h
1770   include/grpc/impl/codegen/log.h
1771   include/grpc/impl/codegen/port_platform.h
1772   include/grpc/impl/codegen/sync.h
1773   include/grpc/impl/codegen/sync_custom.h
1774   include/grpc/impl/codegen/sync_generic.h
1775   include/grpc/impl/codegen/sync_posix.h
1776   include/grpc/impl/codegen/sync_windows.h
1777   include/grpc/grpc_cronet.h
1778   include/grpc/grpc_security.h
1779   include/grpc/grpc_security_constants.h
1780 )
1781   string(REPLACE "include/" "" _path ${_hdr})
1782   get_filename_component(_path ${_path} PATH)
1783   install(FILES ${_hdr}
1784     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
1785   )
1786 endforeach()
1787
1788
1789 if (gRPC_INSTALL)
1790   install(TARGETS grpc_cronet EXPORT gRPCTargets
1791     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
1792     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
1793     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
1794   )
1795 endif()
1796
1797 if (gRPC_BUILD_TESTS)
1798
1799 add_library(grpc_test_util
1800   test/core/end2end/data/client_certs.cc
1801   test/core/end2end/data/server1_cert.cc
1802   test/core/end2end/data/server1_key.cc
1803   test/core/end2end/data/test_root_cert.cc
1804   test/core/security/oauth2_utils.cc
1805   src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
1806   test/core/end2end/cq_verifier.cc
1807   test/core/end2end/fixtures/http_proxy_fixture.cc
1808   test/core/end2end/fixtures/local_util.cc
1809   test/core/end2end/fixtures/proxy.cc
1810   test/core/iomgr/endpoint_tests.cc
1811   test/core/util/debugger_macros.cc
1812   test/core/util/fuzzer_util.cc
1813   test/core/util/grpc_profiler.cc
1814   test/core/util/histogram.cc
1815   test/core/util/memory_counters.cc
1816   test/core/util/mock_endpoint.cc
1817   test/core/util/parse_hexstring.cc
1818   test/core/util/passthru_endpoint.cc
1819   test/core/util/port.cc
1820   test/core/util/port_isolated_runtime_environment.cc
1821   test/core/util/port_server_client.cc
1822   test/core/util/slice_splitter.cc
1823   test/core/util/subprocess_posix.cc
1824   test/core/util/subprocess_windows.cc
1825   test/core/util/test_config.cc
1826   test/core/util/test_lb_policies.cc
1827   test/core/util/tracer_util.cc
1828   test/core/util/trickle_endpoint.cc
1829   test/core/util/cmdline.cc
1830   src/core/lib/avl/avl.cc
1831   src/core/lib/backoff/backoff.cc
1832   src/core/lib/channel/channel_args.cc
1833   src/core/lib/channel/channel_stack.cc
1834   src/core/lib/channel/channel_stack_builder.cc
1835   src/core/lib/channel/channel_trace.cc
1836   src/core/lib/channel/channelz.cc
1837   src/core/lib/channel/channelz_registry.cc
1838   src/core/lib/channel/connected_channel.cc
1839   src/core/lib/channel/handshaker.cc
1840   src/core/lib/channel/handshaker_registry.cc
1841   src/core/lib/channel/status_util.cc
1842   src/core/lib/compression/compression.cc
1843   src/core/lib/compression/compression_args.cc
1844   src/core/lib/compression/compression_internal.cc
1845   src/core/lib/compression/message_compress.cc
1846   src/core/lib/compression/stream_compression.cc
1847   src/core/lib/compression/stream_compression_gzip.cc
1848   src/core/lib/compression/stream_compression_identity.cc
1849   src/core/lib/debug/stats.cc
1850   src/core/lib/debug/stats_data.cc
1851   src/core/lib/http/format_request.cc
1852   src/core/lib/http/httpcli.cc
1853   src/core/lib/http/parser.cc
1854   src/core/lib/iomgr/buffer_list.cc
1855   src/core/lib/iomgr/call_combiner.cc
1856   src/core/lib/iomgr/cfstream_handle.cc
1857   src/core/lib/iomgr/combiner.cc
1858   src/core/lib/iomgr/endpoint.cc
1859   src/core/lib/iomgr/endpoint_cfstream.cc
1860   src/core/lib/iomgr/endpoint_pair_posix.cc
1861   src/core/lib/iomgr/endpoint_pair_uv.cc
1862   src/core/lib/iomgr/endpoint_pair_windows.cc
1863   src/core/lib/iomgr/error.cc
1864   src/core/lib/iomgr/error_cfstream.cc
1865   src/core/lib/iomgr/ev_epoll1_linux.cc
1866   src/core/lib/iomgr/ev_epollex_linux.cc
1867   src/core/lib/iomgr/ev_poll_posix.cc
1868   src/core/lib/iomgr/ev_posix.cc
1869   src/core/lib/iomgr/ev_windows.cc
1870   src/core/lib/iomgr/exec_ctx.cc
1871   src/core/lib/iomgr/executor.cc
1872   src/core/lib/iomgr/fork_posix.cc
1873   src/core/lib/iomgr/fork_windows.cc
1874   src/core/lib/iomgr/gethostname_fallback.cc
1875   src/core/lib/iomgr/gethostname_host_name_max.cc
1876   src/core/lib/iomgr/gethostname_sysconf.cc
1877   src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
1878   src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
1879   src/core/lib/iomgr/internal_errqueue.cc
1880   src/core/lib/iomgr/iocp_windows.cc
1881   src/core/lib/iomgr/iomgr.cc
1882   src/core/lib/iomgr/iomgr_custom.cc
1883   src/core/lib/iomgr/iomgr_internal.cc
1884   src/core/lib/iomgr/iomgr_posix.cc
1885   src/core/lib/iomgr/iomgr_posix_cfstream.cc
1886   src/core/lib/iomgr/iomgr_uv.cc
1887   src/core/lib/iomgr/iomgr_windows.cc
1888   src/core/lib/iomgr/is_epollexclusive_available.cc
1889   src/core/lib/iomgr/load_file.cc
1890   src/core/lib/iomgr/lockfree_event.cc
1891   src/core/lib/iomgr/polling_entity.cc
1892   src/core/lib/iomgr/pollset.cc
1893   src/core/lib/iomgr/pollset_custom.cc
1894   src/core/lib/iomgr/pollset_set.cc
1895   src/core/lib/iomgr/pollset_set_custom.cc
1896   src/core/lib/iomgr/pollset_set_windows.cc
1897   src/core/lib/iomgr/pollset_uv.cc
1898   src/core/lib/iomgr/pollset_windows.cc
1899   src/core/lib/iomgr/resolve_address.cc
1900   src/core/lib/iomgr/resolve_address_custom.cc
1901   src/core/lib/iomgr/resolve_address_posix.cc
1902   src/core/lib/iomgr/resolve_address_windows.cc
1903   src/core/lib/iomgr/resource_quota.cc
1904   src/core/lib/iomgr/sockaddr_utils.cc
1905   src/core/lib/iomgr/socket_factory_posix.cc
1906   src/core/lib/iomgr/socket_mutator.cc
1907   src/core/lib/iomgr/socket_utils_common_posix.cc
1908   src/core/lib/iomgr/socket_utils_linux.cc
1909   src/core/lib/iomgr/socket_utils_posix.cc
1910   src/core/lib/iomgr/socket_utils_uv.cc
1911   src/core/lib/iomgr/socket_utils_windows.cc
1912   src/core/lib/iomgr/socket_windows.cc
1913   src/core/lib/iomgr/tcp_client.cc
1914   src/core/lib/iomgr/tcp_client_cfstream.cc
1915   src/core/lib/iomgr/tcp_client_custom.cc
1916   src/core/lib/iomgr/tcp_client_posix.cc
1917   src/core/lib/iomgr/tcp_client_windows.cc
1918   src/core/lib/iomgr/tcp_custom.cc
1919   src/core/lib/iomgr/tcp_posix.cc
1920   src/core/lib/iomgr/tcp_server.cc
1921   src/core/lib/iomgr/tcp_server_custom.cc
1922   src/core/lib/iomgr/tcp_server_posix.cc
1923   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
1924   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
1925   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
1926   src/core/lib/iomgr/tcp_server_windows.cc
1927   src/core/lib/iomgr/tcp_uv.cc
1928   src/core/lib/iomgr/tcp_windows.cc
1929   src/core/lib/iomgr/time_averaged_stats.cc
1930   src/core/lib/iomgr/timer.cc
1931   src/core/lib/iomgr/timer_custom.cc
1932   src/core/lib/iomgr/timer_generic.cc
1933   src/core/lib/iomgr/timer_heap.cc
1934   src/core/lib/iomgr/timer_manager.cc
1935   src/core/lib/iomgr/timer_uv.cc
1936   src/core/lib/iomgr/udp_server.cc
1937   src/core/lib/iomgr/unix_sockets_posix.cc
1938   src/core/lib/iomgr/unix_sockets_posix_noop.cc
1939   src/core/lib/iomgr/wakeup_fd_eventfd.cc
1940   src/core/lib/iomgr/wakeup_fd_nospecial.cc
1941   src/core/lib/iomgr/wakeup_fd_pipe.cc
1942   src/core/lib/iomgr/wakeup_fd_posix.cc
1943   src/core/lib/json/json.cc
1944   src/core/lib/json/json_reader.cc
1945   src/core/lib/json/json_string.cc
1946   src/core/lib/json/json_writer.cc
1947   src/core/lib/slice/b64.cc
1948   src/core/lib/slice/percent_encoding.cc
1949   src/core/lib/slice/slice.cc
1950   src/core/lib/slice/slice_buffer.cc
1951   src/core/lib/slice/slice_intern.cc
1952   src/core/lib/slice/slice_string_helpers.cc
1953   src/core/lib/surface/api_trace.cc
1954   src/core/lib/surface/byte_buffer.cc
1955   src/core/lib/surface/byte_buffer_reader.cc
1956   src/core/lib/surface/call.cc
1957   src/core/lib/surface/call_details.cc
1958   src/core/lib/surface/call_log_batch.cc
1959   src/core/lib/surface/channel.cc
1960   src/core/lib/surface/channel_init.cc
1961   src/core/lib/surface/channel_ping.cc
1962   src/core/lib/surface/channel_stack_type.cc
1963   src/core/lib/surface/completion_queue.cc
1964   src/core/lib/surface/completion_queue_factory.cc
1965   src/core/lib/surface/event_string.cc
1966   src/core/lib/surface/lame_client.cc
1967   src/core/lib/surface/metadata_array.cc
1968   src/core/lib/surface/server.cc
1969   src/core/lib/surface/validate_metadata.cc
1970   src/core/lib/surface/version.cc
1971   src/core/lib/transport/bdp_estimator.cc
1972   src/core/lib/transport/byte_stream.cc
1973   src/core/lib/transport/connectivity_state.cc
1974   src/core/lib/transport/error_utils.cc
1975   src/core/lib/transport/metadata.cc
1976   src/core/lib/transport/metadata_batch.cc
1977   src/core/lib/transport/pid_controller.cc
1978   src/core/lib/transport/static_metadata.cc
1979   src/core/lib/transport/status_conversion.cc
1980   src/core/lib/transport/status_metadata.cc
1981   src/core/lib/transport/timeout_encoding.cc
1982   src/core/lib/transport/transport.cc
1983   src/core/lib/transport/transport_op_string.cc
1984   src/core/lib/uri/uri_parser.cc
1985   src/core/lib/debug/trace.cc
1986   src/core/ext/filters/client_channel/backup_poller.cc
1987   src/core/ext/filters/client_channel/channel_connectivity.cc
1988   src/core/ext/filters/client_channel/client_channel.cc
1989   src/core/ext/filters/client_channel/client_channel_channelz.cc
1990   src/core/ext/filters/client_channel/client_channel_factory.cc
1991   src/core/ext/filters/client_channel/client_channel_plugin.cc
1992   src/core/ext/filters/client_channel/connector.cc
1993   src/core/ext/filters/client_channel/global_subchannel_pool.cc
1994   src/core/ext/filters/client_channel/health/health_check_client.cc
1995   src/core/ext/filters/client_channel/http_connect_handshaker.cc
1996   src/core/ext/filters/client_channel/http_proxy.cc
1997   src/core/ext/filters/client_channel/lb_policy.cc
1998   src/core/ext/filters/client_channel/lb_policy_registry.cc
1999   src/core/ext/filters/client_channel/local_subchannel_pool.cc
2000   src/core/ext/filters/client_channel/parse_address.cc
2001   src/core/ext/filters/client_channel/proxy_mapper.cc
2002   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
2003   src/core/ext/filters/client_channel/resolver.cc
2004   src/core/ext/filters/client_channel/resolver_registry.cc
2005   src/core/ext/filters/client_channel/resolver_result_parsing.cc
2006   src/core/ext/filters/client_channel/resolving_lb_policy.cc
2007   src/core/ext/filters/client_channel/retry_throttle.cc
2008   src/core/ext/filters/client_channel/server_address.cc
2009   src/core/ext/filters/client_channel/service_config.cc
2010   src/core/ext/filters/client_channel/subchannel.cc
2011   src/core/ext/filters/client_channel/subchannel_pool_interface.cc
2012   src/core/ext/filters/deadline/deadline_filter.cc
2013   src/core/ext/filters/client_channel/health/health.pb.c
2014   third_party/nanopb/pb_common.c
2015   third_party/nanopb/pb_decode.c
2016   third_party/nanopb/pb_encode.c
2017   src/core/ext/transport/chttp2/transport/bin_decoder.cc
2018   src/core/ext/transport/chttp2/transport/bin_encoder.cc
2019   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
2020   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
2021   src/core/ext/transport/chttp2/transport/context_list.cc
2022   src/core/ext/transport/chttp2/transport/flow_control.cc
2023   src/core/ext/transport/chttp2/transport/frame_data.cc
2024   src/core/ext/transport/chttp2/transport/frame_goaway.cc
2025   src/core/ext/transport/chttp2/transport/frame_ping.cc
2026   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
2027   src/core/ext/transport/chttp2/transport/frame_settings.cc
2028   src/core/ext/transport/chttp2/transport/frame_window_update.cc
2029   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
2030   src/core/ext/transport/chttp2/transport/hpack_parser.cc
2031   src/core/ext/transport/chttp2/transport/hpack_table.cc
2032   src/core/ext/transport/chttp2/transport/http2_settings.cc
2033   src/core/ext/transport/chttp2/transport/huffsyms.cc
2034   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
2035   src/core/ext/transport/chttp2/transport/parsing.cc
2036   src/core/ext/transport/chttp2/transport/stream_lists.cc
2037   src/core/ext/transport/chttp2/transport/stream_map.cc
2038   src/core/ext/transport/chttp2/transport/varint.cc
2039   src/core/ext/transport/chttp2/transport/writing.cc
2040   src/core/ext/transport/chttp2/alpn/alpn.cc
2041   src/core/ext/filters/http/client/http_client_filter.cc
2042   src/core/ext/filters/http/http_filters_plugin.cc
2043   src/core/ext/filters/http/message_compress/message_compress_filter.cc
2044   src/core/ext/filters/http/server/http_server_filter.cc
2045 )
2046
2047 if(WIN32 AND MSVC)
2048   set_target_properties(grpc_test_util PROPERTIES COMPILE_PDB_NAME "grpc_test_util"
2049     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2050   )
2051   if (gRPC_INSTALL)
2052     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_test_util.pdb
2053       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2054     )
2055   endif()
2056 endif()
2057
2058
2059 target_include_directories(grpc_test_util
2060   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2061   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2062   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2063   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2064   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2065   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2066   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2067   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2068   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2069   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2070 )
2071   # avoid dependency on libstdc++
2072   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2073     set_target_properties(grpc_test_util PROPERTIES LINKER_LANGUAGE C)
2074     # only use the flags for C++ source files
2075     target_compile_options(grpc_test_util PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2076   endif()
2077 target_link_libraries(grpc_test_util
2078   ${_gRPC_ALLTARGETS_LIBRARIES}
2079   gpr
2080   grpc
2081 )
2082
2083 foreach(_hdr
2084   include/grpc/support/alloc.h
2085   include/grpc/support/atm.h
2086   include/grpc/support/atm_gcc_atomic.h
2087   include/grpc/support/atm_gcc_sync.h
2088   include/grpc/support/atm_windows.h
2089   include/grpc/support/cpu.h
2090   include/grpc/support/log.h
2091   include/grpc/support/log_windows.h
2092   include/grpc/support/port_platform.h
2093   include/grpc/support/string_util.h
2094   include/grpc/support/sync.h
2095   include/grpc/support/sync_custom.h
2096   include/grpc/support/sync_generic.h
2097   include/grpc/support/sync_posix.h
2098   include/grpc/support/sync_windows.h
2099   include/grpc/support/thd_id.h
2100   include/grpc/support/time.h
2101   include/grpc/impl/codegen/atm.h
2102   include/grpc/impl/codegen/atm_gcc_atomic.h
2103   include/grpc/impl/codegen/atm_gcc_sync.h
2104   include/grpc/impl/codegen/atm_windows.h
2105   include/grpc/impl/codegen/fork.h
2106   include/grpc/impl/codegen/gpr_slice.h
2107   include/grpc/impl/codegen/gpr_types.h
2108   include/grpc/impl/codegen/log.h
2109   include/grpc/impl/codegen/port_platform.h
2110   include/grpc/impl/codegen/sync.h
2111   include/grpc/impl/codegen/sync_custom.h
2112   include/grpc/impl/codegen/sync_generic.h
2113   include/grpc/impl/codegen/sync_posix.h
2114   include/grpc/impl/codegen/sync_windows.h
2115   include/grpc/impl/codegen/byte_buffer.h
2116   include/grpc/impl/codegen/byte_buffer_reader.h
2117   include/grpc/impl/codegen/compression_types.h
2118   include/grpc/impl/codegen/connectivity_state.h
2119   include/grpc/impl/codegen/grpc_types.h
2120   include/grpc/impl/codegen/propagation_bits.h
2121   include/grpc/impl/codegen/slice.h
2122   include/grpc/impl/codegen/status.h
2123 )
2124   string(REPLACE "include/" "" _path ${_hdr})
2125   get_filename_component(_path ${_path} PATH)
2126   install(FILES ${_hdr}
2127     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
2128   )
2129 endforeach()
2130
2131 endif (gRPC_BUILD_TESTS)
2132 if (gRPC_BUILD_TESTS)
2133
2134 add_library(grpc_test_util_unsecure
2135   src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
2136   test/core/end2end/cq_verifier.cc
2137   test/core/end2end/fixtures/http_proxy_fixture.cc
2138   test/core/end2end/fixtures/local_util.cc
2139   test/core/end2end/fixtures/proxy.cc
2140   test/core/iomgr/endpoint_tests.cc
2141   test/core/util/debugger_macros.cc
2142   test/core/util/fuzzer_util.cc
2143   test/core/util/grpc_profiler.cc
2144   test/core/util/histogram.cc
2145   test/core/util/memory_counters.cc
2146   test/core/util/mock_endpoint.cc
2147   test/core/util/parse_hexstring.cc
2148   test/core/util/passthru_endpoint.cc
2149   test/core/util/port.cc
2150   test/core/util/port_isolated_runtime_environment.cc
2151   test/core/util/port_server_client.cc
2152   test/core/util/slice_splitter.cc
2153   test/core/util/subprocess_posix.cc
2154   test/core/util/subprocess_windows.cc
2155   test/core/util/test_config.cc
2156   test/core/util/test_lb_policies.cc
2157   test/core/util/tracer_util.cc
2158   test/core/util/trickle_endpoint.cc
2159   test/core/util/cmdline.cc
2160   src/core/lib/avl/avl.cc
2161   src/core/lib/backoff/backoff.cc
2162   src/core/lib/channel/channel_args.cc
2163   src/core/lib/channel/channel_stack.cc
2164   src/core/lib/channel/channel_stack_builder.cc
2165   src/core/lib/channel/channel_trace.cc
2166   src/core/lib/channel/channelz.cc
2167   src/core/lib/channel/channelz_registry.cc
2168   src/core/lib/channel/connected_channel.cc
2169   src/core/lib/channel/handshaker.cc
2170   src/core/lib/channel/handshaker_registry.cc
2171   src/core/lib/channel/status_util.cc
2172   src/core/lib/compression/compression.cc
2173   src/core/lib/compression/compression_args.cc
2174   src/core/lib/compression/compression_internal.cc
2175   src/core/lib/compression/message_compress.cc
2176   src/core/lib/compression/stream_compression.cc
2177   src/core/lib/compression/stream_compression_gzip.cc
2178   src/core/lib/compression/stream_compression_identity.cc
2179   src/core/lib/debug/stats.cc
2180   src/core/lib/debug/stats_data.cc
2181   src/core/lib/http/format_request.cc
2182   src/core/lib/http/httpcli.cc
2183   src/core/lib/http/parser.cc
2184   src/core/lib/iomgr/buffer_list.cc
2185   src/core/lib/iomgr/call_combiner.cc
2186   src/core/lib/iomgr/cfstream_handle.cc
2187   src/core/lib/iomgr/combiner.cc
2188   src/core/lib/iomgr/endpoint.cc
2189   src/core/lib/iomgr/endpoint_cfstream.cc
2190   src/core/lib/iomgr/endpoint_pair_posix.cc
2191   src/core/lib/iomgr/endpoint_pair_uv.cc
2192   src/core/lib/iomgr/endpoint_pair_windows.cc
2193   src/core/lib/iomgr/error.cc
2194   src/core/lib/iomgr/error_cfstream.cc
2195   src/core/lib/iomgr/ev_epoll1_linux.cc
2196   src/core/lib/iomgr/ev_epollex_linux.cc
2197   src/core/lib/iomgr/ev_poll_posix.cc
2198   src/core/lib/iomgr/ev_posix.cc
2199   src/core/lib/iomgr/ev_windows.cc
2200   src/core/lib/iomgr/exec_ctx.cc
2201   src/core/lib/iomgr/executor.cc
2202   src/core/lib/iomgr/fork_posix.cc
2203   src/core/lib/iomgr/fork_windows.cc
2204   src/core/lib/iomgr/gethostname_fallback.cc
2205   src/core/lib/iomgr/gethostname_host_name_max.cc
2206   src/core/lib/iomgr/gethostname_sysconf.cc
2207   src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
2208   src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
2209   src/core/lib/iomgr/internal_errqueue.cc
2210   src/core/lib/iomgr/iocp_windows.cc
2211   src/core/lib/iomgr/iomgr.cc
2212   src/core/lib/iomgr/iomgr_custom.cc
2213   src/core/lib/iomgr/iomgr_internal.cc
2214   src/core/lib/iomgr/iomgr_posix.cc
2215   src/core/lib/iomgr/iomgr_posix_cfstream.cc
2216   src/core/lib/iomgr/iomgr_uv.cc
2217   src/core/lib/iomgr/iomgr_windows.cc
2218   src/core/lib/iomgr/is_epollexclusive_available.cc
2219   src/core/lib/iomgr/load_file.cc
2220   src/core/lib/iomgr/lockfree_event.cc
2221   src/core/lib/iomgr/polling_entity.cc
2222   src/core/lib/iomgr/pollset.cc
2223   src/core/lib/iomgr/pollset_custom.cc
2224   src/core/lib/iomgr/pollset_set.cc
2225   src/core/lib/iomgr/pollset_set_custom.cc
2226   src/core/lib/iomgr/pollset_set_windows.cc
2227   src/core/lib/iomgr/pollset_uv.cc
2228   src/core/lib/iomgr/pollset_windows.cc
2229   src/core/lib/iomgr/resolve_address.cc
2230   src/core/lib/iomgr/resolve_address_custom.cc
2231   src/core/lib/iomgr/resolve_address_posix.cc
2232   src/core/lib/iomgr/resolve_address_windows.cc
2233   src/core/lib/iomgr/resource_quota.cc
2234   src/core/lib/iomgr/sockaddr_utils.cc
2235   src/core/lib/iomgr/socket_factory_posix.cc
2236   src/core/lib/iomgr/socket_mutator.cc
2237   src/core/lib/iomgr/socket_utils_common_posix.cc
2238   src/core/lib/iomgr/socket_utils_linux.cc
2239   src/core/lib/iomgr/socket_utils_posix.cc
2240   src/core/lib/iomgr/socket_utils_uv.cc
2241   src/core/lib/iomgr/socket_utils_windows.cc
2242   src/core/lib/iomgr/socket_windows.cc
2243   src/core/lib/iomgr/tcp_client.cc
2244   src/core/lib/iomgr/tcp_client_cfstream.cc
2245   src/core/lib/iomgr/tcp_client_custom.cc
2246   src/core/lib/iomgr/tcp_client_posix.cc
2247   src/core/lib/iomgr/tcp_client_windows.cc
2248   src/core/lib/iomgr/tcp_custom.cc
2249   src/core/lib/iomgr/tcp_posix.cc
2250   src/core/lib/iomgr/tcp_server.cc
2251   src/core/lib/iomgr/tcp_server_custom.cc
2252   src/core/lib/iomgr/tcp_server_posix.cc
2253   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
2254   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
2255   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
2256   src/core/lib/iomgr/tcp_server_windows.cc
2257   src/core/lib/iomgr/tcp_uv.cc
2258   src/core/lib/iomgr/tcp_windows.cc
2259   src/core/lib/iomgr/time_averaged_stats.cc
2260   src/core/lib/iomgr/timer.cc
2261   src/core/lib/iomgr/timer_custom.cc
2262   src/core/lib/iomgr/timer_generic.cc
2263   src/core/lib/iomgr/timer_heap.cc
2264   src/core/lib/iomgr/timer_manager.cc
2265   src/core/lib/iomgr/timer_uv.cc
2266   src/core/lib/iomgr/udp_server.cc
2267   src/core/lib/iomgr/unix_sockets_posix.cc
2268   src/core/lib/iomgr/unix_sockets_posix_noop.cc
2269   src/core/lib/iomgr/wakeup_fd_eventfd.cc
2270   src/core/lib/iomgr/wakeup_fd_nospecial.cc
2271   src/core/lib/iomgr/wakeup_fd_pipe.cc
2272   src/core/lib/iomgr/wakeup_fd_posix.cc
2273   src/core/lib/json/json.cc
2274   src/core/lib/json/json_reader.cc
2275   src/core/lib/json/json_string.cc
2276   src/core/lib/json/json_writer.cc
2277   src/core/lib/slice/b64.cc
2278   src/core/lib/slice/percent_encoding.cc
2279   src/core/lib/slice/slice.cc
2280   src/core/lib/slice/slice_buffer.cc
2281   src/core/lib/slice/slice_intern.cc
2282   src/core/lib/slice/slice_string_helpers.cc
2283   src/core/lib/surface/api_trace.cc
2284   src/core/lib/surface/byte_buffer.cc
2285   src/core/lib/surface/byte_buffer_reader.cc
2286   src/core/lib/surface/call.cc
2287   src/core/lib/surface/call_details.cc
2288   src/core/lib/surface/call_log_batch.cc
2289   src/core/lib/surface/channel.cc
2290   src/core/lib/surface/channel_init.cc
2291   src/core/lib/surface/channel_ping.cc
2292   src/core/lib/surface/channel_stack_type.cc
2293   src/core/lib/surface/completion_queue.cc
2294   src/core/lib/surface/completion_queue_factory.cc
2295   src/core/lib/surface/event_string.cc
2296   src/core/lib/surface/lame_client.cc
2297   src/core/lib/surface/metadata_array.cc
2298   src/core/lib/surface/server.cc
2299   src/core/lib/surface/validate_metadata.cc
2300   src/core/lib/surface/version.cc
2301   src/core/lib/transport/bdp_estimator.cc
2302   src/core/lib/transport/byte_stream.cc
2303   src/core/lib/transport/connectivity_state.cc
2304   src/core/lib/transport/error_utils.cc
2305   src/core/lib/transport/metadata.cc
2306   src/core/lib/transport/metadata_batch.cc
2307   src/core/lib/transport/pid_controller.cc
2308   src/core/lib/transport/static_metadata.cc
2309   src/core/lib/transport/status_conversion.cc
2310   src/core/lib/transport/status_metadata.cc
2311   src/core/lib/transport/timeout_encoding.cc
2312   src/core/lib/transport/transport.cc
2313   src/core/lib/transport/transport_op_string.cc
2314   src/core/lib/uri/uri_parser.cc
2315   src/core/lib/debug/trace.cc
2316   src/core/ext/filters/client_channel/backup_poller.cc
2317   src/core/ext/filters/client_channel/channel_connectivity.cc
2318   src/core/ext/filters/client_channel/client_channel.cc
2319   src/core/ext/filters/client_channel/client_channel_channelz.cc
2320   src/core/ext/filters/client_channel/client_channel_factory.cc
2321   src/core/ext/filters/client_channel/client_channel_plugin.cc
2322   src/core/ext/filters/client_channel/connector.cc
2323   src/core/ext/filters/client_channel/global_subchannel_pool.cc
2324   src/core/ext/filters/client_channel/health/health_check_client.cc
2325   src/core/ext/filters/client_channel/http_connect_handshaker.cc
2326   src/core/ext/filters/client_channel/http_proxy.cc
2327   src/core/ext/filters/client_channel/lb_policy.cc
2328   src/core/ext/filters/client_channel/lb_policy_registry.cc
2329   src/core/ext/filters/client_channel/local_subchannel_pool.cc
2330   src/core/ext/filters/client_channel/parse_address.cc
2331   src/core/ext/filters/client_channel/proxy_mapper.cc
2332   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
2333   src/core/ext/filters/client_channel/resolver.cc
2334   src/core/ext/filters/client_channel/resolver_registry.cc
2335   src/core/ext/filters/client_channel/resolver_result_parsing.cc
2336   src/core/ext/filters/client_channel/resolving_lb_policy.cc
2337   src/core/ext/filters/client_channel/retry_throttle.cc
2338   src/core/ext/filters/client_channel/server_address.cc
2339   src/core/ext/filters/client_channel/service_config.cc
2340   src/core/ext/filters/client_channel/subchannel.cc
2341   src/core/ext/filters/client_channel/subchannel_pool_interface.cc
2342   src/core/ext/filters/deadline/deadline_filter.cc
2343   src/core/ext/filters/client_channel/health/health.pb.c
2344   third_party/nanopb/pb_common.c
2345   third_party/nanopb/pb_decode.c
2346   third_party/nanopb/pb_encode.c
2347   src/core/ext/transport/chttp2/transport/bin_decoder.cc
2348   src/core/ext/transport/chttp2/transport/bin_encoder.cc
2349   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
2350   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
2351   src/core/ext/transport/chttp2/transport/context_list.cc
2352   src/core/ext/transport/chttp2/transport/flow_control.cc
2353   src/core/ext/transport/chttp2/transport/frame_data.cc
2354   src/core/ext/transport/chttp2/transport/frame_goaway.cc
2355   src/core/ext/transport/chttp2/transport/frame_ping.cc
2356   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
2357   src/core/ext/transport/chttp2/transport/frame_settings.cc
2358   src/core/ext/transport/chttp2/transport/frame_window_update.cc
2359   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
2360   src/core/ext/transport/chttp2/transport/hpack_parser.cc
2361   src/core/ext/transport/chttp2/transport/hpack_table.cc
2362   src/core/ext/transport/chttp2/transport/http2_settings.cc
2363   src/core/ext/transport/chttp2/transport/huffsyms.cc
2364   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
2365   src/core/ext/transport/chttp2/transport/parsing.cc
2366   src/core/ext/transport/chttp2/transport/stream_lists.cc
2367   src/core/ext/transport/chttp2/transport/stream_map.cc
2368   src/core/ext/transport/chttp2/transport/varint.cc
2369   src/core/ext/transport/chttp2/transport/writing.cc
2370   src/core/ext/transport/chttp2/alpn/alpn.cc
2371   src/core/ext/filters/http/client/http_client_filter.cc
2372   src/core/ext/filters/http/http_filters_plugin.cc
2373   src/core/ext/filters/http/message_compress/message_compress_filter.cc
2374   src/core/ext/filters/http/server/http_server_filter.cc
2375 )
2376
2377 if(WIN32 AND MSVC)
2378   set_target_properties(grpc_test_util_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_test_util_unsecure"
2379     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2380   )
2381   if (gRPC_INSTALL)
2382     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_test_util_unsecure.pdb
2383       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2384     )
2385   endif()
2386 endif()
2387
2388
2389 target_include_directories(grpc_test_util_unsecure
2390   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2391   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2392   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2393   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2394   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2395   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2396   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2397   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2398   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2399   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2400 )
2401   # avoid dependency on libstdc++
2402   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2403     set_target_properties(grpc_test_util_unsecure PROPERTIES LINKER_LANGUAGE C)
2404     # only use the flags for C++ source files
2405     target_compile_options(grpc_test_util_unsecure PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2406   endif()
2407 target_link_libraries(grpc_test_util_unsecure
2408   ${_gRPC_ALLTARGETS_LIBRARIES}
2409   gpr
2410   grpc_unsecure
2411 )
2412
2413 foreach(_hdr
2414   include/grpc/support/alloc.h
2415   include/grpc/support/atm.h
2416   include/grpc/support/atm_gcc_atomic.h
2417   include/grpc/support/atm_gcc_sync.h
2418   include/grpc/support/atm_windows.h
2419   include/grpc/support/cpu.h
2420   include/grpc/support/log.h
2421   include/grpc/support/log_windows.h
2422   include/grpc/support/port_platform.h
2423   include/grpc/support/string_util.h
2424   include/grpc/support/sync.h
2425   include/grpc/support/sync_custom.h
2426   include/grpc/support/sync_generic.h
2427   include/grpc/support/sync_posix.h
2428   include/grpc/support/sync_windows.h
2429   include/grpc/support/thd_id.h
2430   include/grpc/support/time.h
2431   include/grpc/impl/codegen/atm.h
2432   include/grpc/impl/codegen/atm_gcc_atomic.h
2433   include/grpc/impl/codegen/atm_gcc_sync.h
2434   include/grpc/impl/codegen/atm_windows.h
2435   include/grpc/impl/codegen/fork.h
2436   include/grpc/impl/codegen/gpr_slice.h
2437   include/grpc/impl/codegen/gpr_types.h
2438   include/grpc/impl/codegen/log.h
2439   include/grpc/impl/codegen/port_platform.h
2440   include/grpc/impl/codegen/sync.h
2441   include/grpc/impl/codegen/sync_custom.h
2442   include/grpc/impl/codegen/sync_generic.h
2443   include/grpc/impl/codegen/sync_posix.h
2444   include/grpc/impl/codegen/sync_windows.h
2445   include/grpc/impl/codegen/byte_buffer.h
2446   include/grpc/impl/codegen/byte_buffer_reader.h
2447   include/grpc/impl/codegen/compression_types.h
2448   include/grpc/impl/codegen/connectivity_state.h
2449   include/grpc/impl/codegen/grpc_types.h
2450   include/grpc/impl/codegen/propagation_bits.h
2451   include/grpc/impl/codegen/slice.h
2452   include/grpc/impl/codegen/status.h
2453 )
2454   string(REPLACE "include/" "" _path ${_hdr})
2455   get_filename_component(_path ${_path} PATH)
2456   install(FILES ${_hdr}
2457     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
2458   )
2459 endforeach()
2460
2461 endif (gRPC_BUILD_TESTS)
2462
2463 add_library(grpc_unsecure
2464   src/core/lib/surface/init.cc
2465   src/core/lib/surface/init_unsecure.cc
2466   src/core/lib/avl/avl.cc
2467   src/core/lib/backoff/backoff.cc
2468   src/core/lib/channel/channel_args.cc
2469   src/core/lib/channel/channel_stack.cc
2470   src/core/lib/channel/channel_stack_builder.cc
2471   src/core/lib/channel/channel_trace.cc
2472   src/core/lib/channel/channelz.cc
2473   src/core/lib/channel/channelz_registry.cc
2474   src/core/lib/channel/connected_channel.cc
2475   src/core/lib/channel/handshaker.cc
2476   src/core/lib/channel/handshaker_registry.cc
2477   src/core/lib/channel/status_util.cc
2478   src/core/lib/compression/compression.cc
2479   src/core/lib/compression/compression_args.cc
2480   src/core/lib/compression/compression_internal.cc
2481   src/core/lib/compression/message_compress.cc
2482   src/core/lib/compression/stream_compression.cc
2483   src/core/lib/compression/stream_compression_gzip.cc
2484   src/core/lib/compression/stream_compression_identity.cc
2485   src/core/lib/debug/stats.cc
2486   src/core/lib/debug/stats_data.cc
2487   src/core/lib/http/format_request.cc
2488   src/core/lib/http/httpcli.cc
2489   src/core/lib/http/parser.cc
2490   src/core/lib/iomgr/buffer_list.cc
2491   src/core/lib/iomgr/call_combiner.cc
2492   src/core/lib/iomgr/cfstream_handle.cc
2493   src/core/lib/iomgr/combiner.cc
2494   src/core/lib/iomgr/endpoint.cc
2495   src/core/lib/iomgr/endpoint_cfstream.cc
2496   src/core/lib/iomgr/endpoint_pair_posix.cc
2497   src/core/lib/iomgr/endpoint_pair_uv.cc
2498   src/core/lib/iomgr/endpoint_pair_windows.cc
2499   src/core/lib/iomgr/error.cc
2500   src/core/lib/iomgr/error_cfstream.cc
2501   src/core/lib/iomgr/ev_epoll1_linux.cc
2502   src/core/lib/iomgr/ev_epollex_linux.cc
2503   src/core/lib/iomgr/ev_poll_posix.cc
2504   src/core/lib/iomgr/ev_posix.cc
2505   src/core/lib/iomgr/ev_windows.cc
2506   src/core/lib/iomgr/exec_ctx.cc
2507   src/core/lib/iomgr/executor.cc
2508   src/core/lib/iomgr/fork_posix.cc
2509   src/core/lib/iomgr/fork_windows.cc
2510   src/core/lib/iomgr/gethostname_fallback.cc
2511   src/core/lib/iomgr/gethostname_host_name_max.cc
2512   src/core/lib/iomgr/gethostname_sysconf.cc
2513   src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
2514   src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
2515   src/core/lib/iomgr/internal_errqueue.cc
2516   src/core/lib/iomgr/iocp_windows.cc
2517   src/core/lib/iomgr/iomgr.cc
2518   src/core/lib/iomgr/iomgr_custom.cc
2519   src/core/lib/iomgr/iomgr_internal.cc
2520   src/core/lib/iomgr/iomgr_posix.cc
2521   src/core/lib/iomgr/iomgr_posix_cfstream.cc
2522   src/core/lib/iomgr/iomgr_uv.cc
2523   src/core/lib/iomgr/iomgr_windows.cc
2524   src/core/lib/iomgr/is_epollexclusive_available.cc
2525   src/core/lib/iomgr/load_file.cc
2526   src/core/lib/iomgr/lockfree_event.cc
2527   src/core/lib/iomgr/polling_entity.cc
2528   src/core/lib/iomgr/pollset.cc
2529   src/core/lib/iomgr/pollset_custom.cc
2530   src/core/lib/iomgr/pollset_set.cc
2531   src/core/lib/iomgr/pollset_set_custom.cc
2532   src/core/lib/iomgr/pollset_set_windows.cc
2533   src/core/lib/iomgr/pollset_uv.cc
2534   src/core/lib/iomgr/pollset_windows.cc
2535   src/core/lib/iomgr/resolve_address.cc
2536   src/core/lib/iomgr/resolve_address_custom.cc
2537   src/core/lib/iomgr/resolve_address_posix.cc
2538   src/core/lib/iomgr/resolve_address_windows.cc
2539   src/core/lib/iomgr/resource_quota.cc
2540   src/core/lib/iomgr/sockaddr_utils.cc
2541   src/core/lib/iomgr/socket_factory_posix.cc
2542   src/core/lib/iomgr/socket_mutator.cc
2543   src/core/lib/iomgr/socket_utils_common_posix.cc
2544   src/core/lib/iomgr/socket_utils_linux.cc
2545   src/core/lib/iomgr/socket_utils_posix.cc
2546   src/core/lib/iomgr/socket_utils_uv.cc
2547   src/core/lib/iomgr/socket_utils_windows.cc
2548   src/core/lib/iomgr/socket_windows.cc
2549   src/core/lib/iomgr/tcp_client.cc
2550   src/core/lib/iomgr/tcp_client_cfstream.cc
2551   src/core/lib/iomgr/tcp_client_custom.cc
2552   src/core/lib/iomgr/tcp_client_posix.cc
2553   src/core/lib/iomgr/tcp_client_windows.cc
2554   src/core/lib/iomgr/tcp_custom.cc
2555   src/core/lib/iomgr/tcp_posix.cc
2556   src/core/lib/iomgr/tcp_server.cc
2557   src/core/lib/iomgr/tcp_server_custom.cc
2558   src/core/lib/iomgr/tcp_server_posix.cc
2559   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
2560   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
2561   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
2562   src/core/lib/iomgr/tcp_server_windows.cc
2563   src/core/lib/iomgr/tcp_uv.cc
2564   src/core/lib/iomgr/tcp_windows.cc
2565   src/core/lib/iomgr/time_averaged_stats.cc
2566   src/core/lib/iomgr/timer.cc
2567   src/core/lib/iomgr/timer_custom.cc
2568   src/core/lib/iomgr/timer_generic.cc
2569   src/core/lib/iomgr/timer_heap.cc
2570   src/core/lib/iomgr/timer_manager.cc
2571   src/core/lib/iomgr/timer_uv.cc
2572   src/core/lib/iomgr/udp_server.cc
2573   src/core/lib/iomgr/unix_sockets_posix.cc
2574   src/core/lib/iomgr/unix_sockets_posix_noop.cc
2575   src/core/lib/iomgr/wakeup_fd_eventfd.cc
2576   src/core/lib/iomgr/wakeup_fd_nospecial.cc
2577   src/core/lib/iomgr/wakeup_fd_pipe.cc
2578   src/core/lib/iomgr/wakeup_fd_posix.cc
2579   src/core/lib/json/json.cc
2580   src/core/lib/json/json_reader.cc
2581   src/core/lib/json/json_string.cc
2582   src/core/lib/json/json_writer.cc
2583   src/core/lib/slice/b64.cc
2584   src/core/lib/slice/percent_encoding.cc
2585   src/core/lib/slice/slice.cc
2586   src/core/lib/slice/slice_buffer.cc
2587   src/core/lib/slice/slice_intern.cc
2588   src/core/lib/slice/slice_string_helpers.cc
2589   src/core/lib/surface/api_trace.cc
2590   src/core/lib/surface/byte_buffer.cc
2591   src/core/lib/surface/byte_buffer_reader.cc
2592   src/core/lib/surface/call.cc
2593   src/core/lib/surface/call_details.cc
2594   src/core/lib/surface/call_log_batch.cc
2595   src/core/lib/surface/channel.cc
2596   src/core/lib/surface/channel_init.cc
2597   src/core/lib/surface/channel_ping.cc
2598   src/core/lib/surface/channel_stack_type.cc
2599   src/core/lib/surface/completion_queue.cc
2600   src/core/lib/surface/completion_queue_factory.cc
2601   src/core/lib/surface/event_string.cc
2602   src/core/lib/surface/lame_client.cc
2603   src/core/lib/surface/metadata_array.cc
2604   src/core/lib/surface/server.cc
2605   src/core/lib/surface/validate_metadata.cc
2606   src/core/lib/surface/version.cc
2607   src/core/lib/transport/bdp_estimator.cc
2608   src/core/lib/transport/byte_stream.cc
2609   src/core/lib/transport/connectivity_state.cc
2610   src/core/lib/transport/error_utils.cc
2611   src/core/lib/transport/metadata.cc
2612   src/core/lib/transport/metadata_batch.cc
2613   src/core/lib/transport/pid_controller.cc
2614   src/core/lib/transport/static_metadata.cc
2615   src/core/lib/transport/status_conversion.cc
2616   src/core/lib/transport/status_metadata.cc
2617   src/core/lib/transport/timeout_encoding.cc
2618   src/core/lib/transport/transport.cc
2619   src/core/lib/transport/transport_op_string.cc
2620   src/core/lib/uri/uri_parser.cc
2621   src/core/lib/debug/trace.cc
2622   src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
2623   src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
2624   src/core/ext/transport/chttp2/transport/bin_decoder.cc
2625   src/core/ext/transport/chttp2/transport/bin_encoder.cc
2626   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
2627   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
2628   src/core/ext/transport/chttp2/transport/context_list.cc
2629   src/core/ext/transport/chttp2/transport/flow_control.cc
2630   src/core/ext/transport/chttp2/transport/frame_data.cc
2631   src/core/ext/transport/chttp2/transport/frame_goaway.cc
2632   src/core/ext/transport/chttp2/transport/frame_ping.cc
2633   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
2634   src/core/ext/transport/chttp2/transport/frame_settings.cc
2635   src/core/ext/transport/chttp2/transport/frame_window_update.cc
2636   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
2637   src/core/ext/transport/chttp2/transport/hpack_parser.cc
2638   src/core/ext/transport/chttp2/transport/hpack_table.cc
2639   src/core/ext/transport/chttp2/transport/http2_settings.cc
2640   src/core/ext/transport/chttp2/transport/huffsyms.cc
2641   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
2642   src/core/ext/transport/chttp2/transport/parsing.cc
2643   src/core/ext/transport/chttp2/transport/stream_lists.cc
2644   src/core/ext/transport/chttp2/transport/stream_map.cc
2645   src/core/ext/transport/chttp2/transport/varint.cc
2646   src/core/ext/transport/chttp2/transport/writing.cc
2647   src/core/ext/transport/chttp2/alpn/alpn.cc
2648   src/core/ext/filters/http/client/http_client_filter.cc
2649   src/core/ext/filters/http/http_filters_plugin.cc
2650   src/core/ext/filters/http/message_compress/message_compress_filter.cc
2651   src/core/ext/filters/http/server/http_server_filter.cc
2652   src/core/ext/transport/chttp2/server/chttp2_server.cc
2653   src/core/ext/transport/chttp2/client/insecure/channel_create.cc
2654   src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
2655   src/core/ext/transport/chttp2/client/authority.cc
2656   src/core/ext/transport/chttp2/client/chttp2_connector.cc
2657   src/core/ext/filters/client_channel/backup_poller.cc
2658   src/core/ext/filters/client_channel/channel_connectivity.cc
2659   src/core/ext/filters/client_channel/client_channel.cc
2660   src/core/ext/filters/client_channel/client_channel_channelz.cc
2661   src/core/ext/filters/client_channel/client_channel_factory.cc
2662   src/core/ext/filters/client_channel/client_channel_plugin.cc
2663   src/core/ext/filters/client_channel/connector.cc
2664   src/core/ext/filters/client_channel/global_subchannel_pool.cc
2665   src/core/ext/filters/client_channel/health/health_check_client.cc
2666   src/core/ext/filters/client_channel/http_connect_handshaker.cc
2667   src/core/ext/filters/client_channel/http_proxy.cc
2668   src/core/ext/filters/client_channel/lb_policy.cc
2669   src/core/ext/filters/client_channel/lb_policy_registry.cc
2670   src/core/ext/filters/client_channel/local_subchannel_pool.cc
2671   src/core/ext/filters/client_channel/parse_address.cc
2672   src/core/ext/filters/client_channel/proxy_mapper.cc
2673   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
2674   src/core/ext/filters/client_channel/resolver.cc
2675   src/core/ext/filters/client_channel/resolver_registry.cc
2676   src/core/ext/filters/client_channel/resolver_result_parsing.cc
2677   src/core/ext/filters/client_channel/resolving_lb_policy.cc
2678   src/core/ext/filters/client_channel/retry_throttle.cc
2679   src/core/ext/filters/client_channel/server_address.cc
2680   src/core/ext/filters/client_channel/service_config.cc
2681   src/core/ext/filters/client_channel/subchannel.cc
2682   src/core/ext/filters/client_channel/subchannel_pool_interface.cc
2683   src/core/ext/filters/deadline/deadline_filter.cc
2684   src/core/ext/filters/client_channel/health/health.pb.c
2685   third_party/nanopb/pb_common.c
2686   third_party/nanopb/pb_decode.c
2687   third_party/nanopb/pb_encode.c
2688   src/core/ext/transport/inproc/inproc_plugin.cc
2689   src/core/ext/transport/inproc/inproc_transport.cc
2690   src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
2691   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc
2692   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc
2693   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
2694   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc
2695   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
2696   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc
2697   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc
2698   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc
2699   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc
2700   src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc
2701   src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc
2702   src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
2703   src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
2704   src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
2705   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
2706   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc
2707   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
2708   src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
2709   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c
2710   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c
2711   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c
2712   src/core/ext/filters/client_channel/lb_policy/xds/xds.cc
2713   src/core/ext/filters/client_channel/lb_policy/xds/xds_channel.cc
2714   src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.cc
2715   src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.cc
2716   src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
2717   src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
2718   src/core/ext/filters/census/grpc_context.cc
2719   src/core/ext/filters/max_age/max_age_filter.cc
2720   src/core/ext/filters/message_size/message_size_filter.cc
2721   src/core/ext/filters/http/client_authority_filter.cc
2722   src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc
2723   src/core/ext/filters/workarounds/workaround_utils.cc
2724   src/core/plugin_registry/grpc_unsecure_plugin_registry.cc
2725 )
2726
2727 if(WIN32 AND MSVC)
2728   set_target_properties(grpc_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_unsecure"
2729     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2730   )
2731   if (gRPC_INSTALL)
2732     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_unsecure.pdb
2733       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2734     )
2735   endif()
2736 endif()
2737
2738
2739 target_include_directories(grpc_unsecure
2740   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2741   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2742   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2743   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2744   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2745   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2746   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2747   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2748   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2749   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2750 )
2751   # avoid dependency on libstdc++
2752   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2753     set_target_properties(grpc_unsecure PROPERTIES LINKER_LANGUAGE C)
2754     # only use the flags for C++ source files
2755     target_compile_options(grpc_unsecure PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2756   endif()
2757 target_link_libraries(grpc_unsecure
2758   ${_gRPC_BASELIB_LIBRARIES}
2759   ${_gRPC_ZLIB_LIBRARIES}
2760   ${_gRPC_CARES_LIBRARIES}
2761   ${_gRPC_ADDRESS_SORTING_LIBRARIES}
2762   ${_gRPC_ALLTARGETS_LIBRARIES}
2763   gpr
2764 )
2765
2766 foreach(_hdr
2767   include/grpc/impl/codegen/byte_buffer.h
2768   include/grpc/impl/codegen/byte_buffer_reader.h
2769   include/grpc/impl/codegen/compression_types.h
2770   include/grpc/impl/codegen/connectivity_state.h
2771   include/grpc/impl/codegen/grpc_types.h
2772   include/grpc/impl/codegen/propagation_bits.h
2773   include/grpc/impl/codegen/slice.h
2774   include/grpc/impl/codegen/status.h
2775   include/grpc/impl/codegen/atm.h
2776   include/grpc/impl/codegen/atm_gcc_atomic.h
2777   include/grpc/impl/codegen/atm_gcc_sync.h
2778   include/grpc/impl/codegen/atm_windows.h
2779   include/grpc/impl/codegen/fork.h
2780   include/grpc/impl/codegen/gpr_slice.h
2781   include/grpc/impl/codegen/gpr_types.h
2782   include/grpc/impl/codegen/log.h
2783   include/grpc/impl/codegen/port_platform.h
2784   include/grpc/impl/codegen/sync.h
2785   include/grpc/impl/codegen/sync_custom.h
2786   include/grpc/impl/codegen/sync_generic.h
2787   include/grpc/impl/codegen/sync_posix.h
2788   include/grpc/impl/codegen/sync_windows.h
2789   include/grpc/byte_buffer.h
2790   include/grpc/byte_buffer_reader.h
2791   include/grpc/compression.h
2792   include/grpc/fork.h
2793   include/grpc/grpc.h
2794   include/grpc/grpc_posix.h
2795   include/grpc/grpc_security_constants.h
2796   include/grpc/load_reporting.h
2797   include/grpc/slice.h
2798   include/grpc/slice_buffer.h
2799   include/grpc/status.h
2800   include/grpc/support/workaround_list.h
2801   include/grpc/census.h
2802 )
2803   string(REPLACE "include/" "" _path ${_hdr})
2804   get_filename_component(_path ${_path} PATH)
2805   install(FILES ${_hdr}
2806     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
2807   )
2808 endforeach()
2809
2810
2811 if (gRPC_INSTALL)
2812   install(TARGETS grpc_unsecure EXPORT gRPCTargets
2813     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
2814     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
2815     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
2816   )
2817 endif()
2818
2819 if (gRPC_BUILD_TESTS)
2820
2821 add_library(reconnect_server
2822   test/core/util/reconnect_server.cc
2823 )
2824
2825 if(WIN32 AND MSVC)
2826   set_target_properties(reconnect_server PROPERTIES COMPILE_PDB_NAME "reconnect_server"
2827     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2828   )
2829   if (gRPC_INSTALL)
2830     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/reconnect_server.pdb
2831       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2832     )
2833   endif()
2834 endif()
2835
2836
2837 target_include_directories(reconnect_server
2838   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2839   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2840   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2841   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2842   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2843   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2844   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2845   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2846   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2847   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2848 )
2849   # avoid dependency on libstdc++
2850   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2851     set_target_properties(reconnect_server PROPERTIES LINKER_LANGUAGE C)
2852     # only use the flags for C++ source files
2853     target_compile_options(reconnect_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2854   endif()
2855 target_link_libraries(reconnect_server
2856   ${_gRPC_ALLTARGETS_LIBRARIES}
2857   test_tcp_server
2858   grpc_test_util
2859   grpc
2860   gpr
2861 )
2862
2863
2864 endif (gRPC_BUILD_TESTS)
2865 if (gRPC_BUILD_TESTS)
2866
2867 add_library(test_tcp_server
2868   test/core/util/test_tcp_server.cc
2869 )
2870
2871 if(WIN32 AND MSVC)
2872   set_target_properties(test_tcp_server PROPERTIES COMPILE_PDB_NAME "test_tcp_server"
2873     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2874   )
2875   if (gRPC_INSTALL)
2876     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/test_tcp_server.pdb
2877       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2878     )
2879   endif()
2880 endif()
2881
2882
2883 target_include_directories(test_tcp_server
2884   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2885   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2886   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2887   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2888   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2889   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2890   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2891   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2892   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2893   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2894 )
2895   # avoid dependency on libstdc++
2896   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2897     set_target_properties(test_tcp_server PROPERTIES LINKER_LANGUAGE C)
2898     # only use the flags for C++ source files
2899     target_compile_options(test_tcp_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2900   endif()
2901 target_link_libraries(test_tcp_server
2902   ${_gRPC_ALLTARGETS_LIBRARIES}
2903   grpc_test_util
2904   grpc
2905   gpr
2906 )
2907
2908
2909 endif (gRPC_BUILD_TESTS)
2910 if (gRPC_BUILD_TESTS)
2911
2912 add_library(dns_test_util
2913   test/cpp/naming/dns_test_util.cc
2914 )
2915
2916 if(WIN32 AND MSVC)
2917   set_target_properties(dns_test_util PROPERTIES COMPILE_PDB_NAME "dns_test_util"
2918     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2919   )
2920   if (gRPC_INSTALL)
2921     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dns_test_util.pdb
2922       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2923     )
2924   endif()
2925 endif()
2926
2927
2928 target_include_directories(dns_test_util
2929   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2930   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2931   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2932   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2933   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2934   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2935   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2936   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2937   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2938   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2939   PRIVATE third_party/googletest/googletest/include
2940   PRIVATE third_party/googletest/googletest
2941   PRIVATE third_party/googletest/googlemock/include
2942   PRIVATE third_party/googletest/googlemock
2943   PRIVATE ${_gRPC_PROTO_GENS_DIR}
2944 )
2945 target_link_libraries(dns_test_util
2946   ${_gRPC_PROTOBUF_LIBRARIES}
2947   ${_gRPC_ALLTARGETS_LIBRARIES}
2948   ${_gRPC_GFLAGS_LIBRARIES}
2949 )
2950
2951
2952 endif (gRPC_BUILD_TESTS)
2953
2954 add_library(grpc++
2955   src/cpp/client/insecure_credentials.cc
2956   src/cpp/client/secure_credentials.cc
2957   src/cpp/common/auth_property_iterator.cc
2958   src/cpp/common/secure_auth_context.cc
2959   src/cpp/common/secure_channel_arguments.cc
2960   src/cpp/common/secure_create_auth_context.cc
2961   src/cpp/server/insecure_server_credentials.cc
2962   src/cpp/server/secure_server_credentials.cc
2963   src/cpp/client/channel_cc.cc
2964   src/cpp/client/client_context.cc
2965   src/cpp/client/client_interceptor.cc
2966   src/cpp/client/create_channel.cc
2967   src/cpp/client/create_channel_internal.cc
2968   src/cpp/client/create_channel_posix.cc
2969   src/cpp/client/credentials_cc.cc
2970   src/cpp/client/generic_stub.cc
2971   src/cpp/common/alarm.cc
2972   src/cpp/common/channel_arguments.cc
2973   src/cpp/common/channel_filter.cc
2974   src/cpp/common/completion_queue_cc.cc
2975   src/cpp/common/core_codegen.cc
2976   src/cpp/common/resource_quota_cc.cc
2977   src/cpp/common/rpc_method.cc
2978   src/cpp/common/version_cc.cc
2979   src/cpp/server/async_generic_service.cc
2980   src/cpp/server/channel_argument_option.cc
2981   src/cpp/server/create_default_thread_pool.cc
2982   src/cpp/server/dynamic_thread_pool.cc
2983   src/cpp/server/health/default_health_check_service.cc
2984   src/cpp/server/health/health_check_service.cc
2985   src/cpp/server/health/health_check_service_server_builder_option.cc
2986   src/cpp/server/server_builder.cc
2987   src/cpp/server/server_cc.cc
2988   src/cpp/server/server_context.cc
2989   src/cpp/server/server_credentials.cc
2990   src/cpp/server/server_posix.cc
2991   src/cpp/thread_manager/thread_manager.cc
2992   src/cpp/util/byte_buffer_cc.cc
2993   src/cpp/util/status.cc
2994   src/cpp/util/string_ref.cc
2995   src/cpp/util/time_cc.cc
2996   src/core/ext/filters/client_channel/health/health.pb.c
2997   third_party/nanopb/pb_common.c
2998   third_party/nanopb/pb_decode.c
2999   third_party/nanopb/pb_encode.c
3000   src/cpp/codegen/codegen_init.cc
3001 )
3002
3003 if(WIN32 AND MSVC)
3004   set_target_properties(grpc++ PROPERTIES COMPILE_PDB_NAME "grpc++"
3005     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3006   )
3007   if (gRPC_INSTALL)
3008     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++.pdb
3009       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3010     )
3011   endif()
3012 endif()
3013
3014
3015 target_include_directories(grpc++
3016   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3017   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3018   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3019   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3020   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3021   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3022   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3023   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3024   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3025   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3026   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3027 )
3028 target_link_libraries(grpc++
3029   ${_gRPC_BASELIB_LIBRARIES}
3030   ${_gRPC_SSL_LIBRARIES}
3031   ${_gRPC_PROTOBUF_LIBRARIES}
3032   ${_gRPC_ALLTARGETS_LIBRARIES}
3033   grpc
3034   gpr
3035 )
3036
3037 foreach(_hdr
3038   include/grpc++/alarm.h
3039   include/grpc++/channel.h
3040   include/grpc++/client_context.h
3041   include/grpc++/completion_queue.h
3042   include/grpc++/create_channel.h
3043   include/grpc++/create_channel_posix.h
3044   include/grpc++/ext/health_check_service_server_builder_option.h
3045   include/grpc++/generic/async_generic_service.h
3046   include/grpc++/generic/generic_stub.h
3047   include/grpc++/grpc++.h
3048   include/grpc++/health_check_service_interface.h
3049   include/grpc++/impl/call.h
3050   include/grpc++/impl/channel_argument_option.h
3051   include/grpc++/impl/client_unary_call.h
3052   include/grpc++/impl/codegen/core_codegen.h
3053   include/grpc++/impl/grpc_library.h
3054   include/grpc++/impl/method_handler_impl.h
3055   include/grpc++/impl/rpc_method.h
3056   include/grpc++/impl/rpc_service_method.h
3057   include/grpc++/impl/serialization_traits.h
3058   include/grpc++/impl/server_builder_option.h
3059   include/grpc++/impl/server_builder_plugin.h
3060   include/grpc++/impl/server_initializer.h
3061   include/grpc++/impl/service_type.h
3062   include/grpc++/resource_quota.h
3063   include/grpc++/security/auth_context.h
3064   include/grpc++/security/auth_metadata_processor.h
3065   include/grpc++/security/credentials.h
3066   include/grpc++/security/server_credentials.h
3067   include/grpc++/server.h
3068   include/grpc++/server_builder.h
3069   include/grpc++/server_context.h
3070   include/grpc++/server_posix.h
3071   include/grpc++/support/async_stream.h
3072   include/grpc++/support/async_unary_call.h
3073   include/grpc++/support/byte_buffer.h
3074   include/grpc++/support/channel_arguments.h
3075   include/grpc++/support/config.h
3076   include/grpc++/support/slice.h
3077   include/grpc++/support/status.h
3078   include/grpc++/support/status_code_enum.h
3079   include/grpc++/support/string_ref.h
3080   include/grpc++/support/stub_options.h
3081   include/grpc++/support/sync_stream.h
3082   include/grpc++/support/time.h
3083   include/grpcpp/alarm.h
3084   include/grpcpp/alarm_impl.h
3085   include/grpcpp/channel.h
3086   include/grpcpp/channel_impl.h
3087   include/grpcpp/client_context.h
3088   include/grpcpp/completion_queue.h
3089   include/grpcpp/create_channel.h
3090   include/grpcpp/create_channel_impl.h
3091   include/grpcpp/create_channel_posix.h
3092   include/grpcpp/create_channel_posix_impl.h
3093   include/grpcpp/ext/health_check_service_server_builder_option.h
3094   include/grpcpp/generic/async_generic_service.h
3095   include/grpcpp/generic/generic_stub.h
3096   include/grpcpp/generic/generic_stub_impl.h
3097   include/grpcpp/grpcpp.h
3098   include/grpcpp/health_check_service_interface.h
3099   include/grpcpp/health_check_service_interface_impl.h
3100   include/grpcpp/impl/call.h
3101   include/grpcpp/impl/channel_argument_option.h
3102   include/grpcpp/impl/client_unary_call.h
3103   include/grpcpp/impl/codegen/core_codegen.h
3104   include/grpcpp/impl/grpc_library.h
3105   include/grpcpp/impl/method_handler_impl.h
3106   include/grpcpp/impl/rpc_method.h
3107   include/grpcpp/impl/rpc_service_method.h
3108   include/grpcpp/impl/serialization_traits.h
3109   include/grpcpp/impl/server_builder_option.h
3110   include/grpcpp/impl/server_builder_option_impl.h
3111   include/grpcpp/impl/server_builder_plugin.h
3112   include/grpcpp/impl/server_initializer.h
3113   include/grpcpp/impl/server_initializer_impl.h
3114   include/grpcpp/impl/service_type.h
3115   include/grpcpp/resource_quota.h
3116   include/grpcpp/resource_quota_impl.h
3117   include/grpcpp/security/auth_context.h
3118   include/grpcpp/security/auth_metadata_processor.h
3119   include/grpcpp/security/auth_metadata_processor_impl.h
3120   include/grpcpp/security/credentials.h
3121   include/grpcpp/security/credentials_impl.h
3122   include/grpcpp/security/server_credentials.h
3123   include/grpcpp/security/server_credentials_impl.h
3124   include/grpcpp/server.h
3125   include/grpcpp/server_builder.h
3126   include/grpcpp/server_builder_impl.h
3127   include/grpcpp/server_context.h
3128   include/grpcpp/server_impl.h
3129   include/grpcpp/server_posix.h
3130   include/grpcpp/server_posix_impl.h
3131   include/grpcpp/support/async_stream.h
3132   include/grpcpp/support/async_unary_call.h
3133   include/grpcpp/support/byte_buffer.h
3134   include/grpcpp/support/channel_arguments.h
3135   include/grpcpp/support/channel_arguments_impl.h
3136   include/grpcpp/support/client_callback.h
3137   include/grpcpp/support/client_interceptor.h
3138   include/grpcpp/support/config.h
3139   include/grpcpp/support/interceptor.h
3140   include/grpcpp/support/message_allocator.h
3141   include/grpcpp/support/proto_buffer_reader.h
3142   include/grpcpp/support/proto_buffer_writer.h
3143   include/grpcpp/support/server_callback.h
3144   include/grpcpp/support/server_interceptor.h
3145   include/grpcpp/support/slice.h
3146   include/grpcpp/support/status.h
3147   include/grpcpp/support/status_code_enum.h
3148   include/grpcpp/support/string_ref.h
3149   include/grpcpp/support/stub_options.h
3150   include/grpcpp/support/sync_stream.h
3151   include/grpcpp/support/time.h
3152   include/grpc/support/alloc.h
3153   include/grpc/support/atm.h
3154   include/grpc/support/atm_gcc_atomic.h
3155   include/grpc/support/atm_gcc_sync.h
3156   include/grpc/support/atm_windows.h
3157   include/grpc/support/cpu.h
3158   include/grpc/support/log.h
3159   include/grpc/support/log_windows.h
3160   include/grpc/support/port_platform.h
3161   include/grpc/support/string_util.h
3162   include/grpc/support/sync.h
3163   include/grpc/support/sync_custom.h
3164   include/grpc/support/sync_generic.h
3165   include/grpc/support/sync_posix.h
3166   include/grpc/support/sync_windows.h
3167   include/grpc/support/thd_id.h
3168   include/grpc/support/time.h
3169   include/grpc/impl/codegen/atm.h
3170   include/grpc/impl/codegen/atm_gcc_atomic.h
3171   include/grpc/impl/codegen/atm_gcc_sync.h
3172   include/grpc/impl/codegen/atm_windows.h
3173   include/grpc/impl/codegen/fork.h
3174   include/grpc/impl/codegen/gpr_slice.h
3175   include/grpc/impl/codegen/gpr_types.h
3176   include/grpc/impl/codegen/log.h
3177   include/grpc/impl/codegen/port_platform.h
3178   include/grpc/impl/codegen/sync.h
3179   include/grpc/impl/codegen/sync_custom.h
3180   include/grpc/impl/codegen/sync_generic.h
3181   include/grpc/impl/codegen/sync_posix.h
3182   include/grpc/impl/codegen/sync_windows.h
3183   include/grpc/byte_buffer.h
3184   include/grpc/byte_buffer_reader.h
3185   include/grpc/compression.h
3186   include/grpc/fork.h
3187   include/grpc/grpc.h
3188   include/grpc/grpc_posix.h
3189   include/grpc/grpc_security_constants.h
3190   include/grpc/load_reporting.h
3191   include/grpc/slice.h
3192   include/grpc/slice_buffer.h
3193   include/grpc/status.h
3194   include/grpc/support/workaround_list.h
3195   include/grpc/impl/codegen/byte_buffer.h
3196   include/grpc/impl/codegen/byte_buffer_reader.h
3197   include/grpc/impl/codegen/compression_types.h
3198   include/grpc/impl/codegen/connectivity_state.h
3199   include/grpc/impl/codegen/grpc_types.h
3200   include/grpc/impl/codegen/propagation_bits.h
3201   include/grpc/impl/codegen/slice.h
3202   include/grpc/impl/codegen/status.h
3203   include/grpc++/impl/codegen/async_stream.h
3204   include/grpc++/impl/codegen/async_unary_call.h
3205   include/grpc++/impl/codegen/byte_buffer.h
3206   include/grpc++/impl/codegen/call.h
3207   include/grpc++/impl/codegen/call_hook.h
3208   include/grpc++/impl/codegen/channel_interface.h
3209   include/grpc++/impl/codegen/client_context.h
3210   include/grpc++/impl/codegen/client_unary_call.h
3211   include/grpc++/impl/codegen/completion_queue.h
3212   include/grpc++/impl/codegen/completion_queue_tag.h
3213   include/grpc++/impl/codegen/config.h
3214   include/grpc++/impl/codegen/core_codegen_interface.h
3215   include/grpc++/impl/codegen/create_auth_context.h
3216   include/grpc++/impl/codegen/grpc_library.h
3217   include/grpc++/impl/codegen/metadata_map.h
3218   include/grpc++/impl/codegen/method_handler_impl.h
3219   include/grpc++/impl/codegen/rpc_method.h
3220   include/grpc++/impl/codegen/rpc_service_method.h
3221   include/grpc++/impl/codegen/security/auth_context.h
3222   include/grpc++/impl/codegen/serialization_traits.h
3223   include/grpc++/impl/codegen/server_context.h
3224   include/grpc++/impl/codegen/server_interface.h
3225   include/grpc++/impl/codegen/service_type.h
3226   include/grpc++/impl/codegen/slice.h
3227   include/grpc++/impl/codegen/status.h
3228   include/grpc++/impl/codegen/status_code_enum.h
3229   include/grpc++/impl/codegen/string_ref.h
3230   include/grpc++/impl/codegen/stub_options.h
3231   include/grpc++/impl/codegen/sync_stream.h
3232   include/grpc++/impl/codegen/time.h
3233   include/grpcpp/impl/codegen/async_generic_service.h
3234   include/grpcpp/impl/codegen/async_stream.h
3235   include/grpcpp/impl/codegen/async_unary_call.h
3236   include/grpcpp/impl/codegen/byte_buffer.h
3237   include/grpcpp/impl/codegen/call.h
3238   include/grpcpp/impl/codegen/call_hook.h
3239   include/grpcpp/impl/codegen/call_op_set.h
3240   include/grpcpp/impl/codegen/call_op_set_interface.h
3241   include/grpcpp/impl/codegen/callback_common.h
3242   include/grpcpp/impl/codegen/channel_interface.h
3243   include/grpcpp/impl/codegen/client_callback.h
3244   include/grpcpp/impl/codegen/client_context.h
3245   include/grpcpp/impl/codegen/client_interceptor.h
3246   include/grpcpp/impl/codegen/client_unary_call.h
3247   include/grpcpp/impl/codegen/completion_queue.h
3248   include/grpcpp/impl/codegen/completion_queue_impl.h
3249   include/grpcpp/impl/codegen/completion_queue_tag.h
3250   include/grpcpp/impl/codegen/config.h
3251   include/grpcpp/impl/codegen/core_codegen_interface.h
3252   include/grpcpp/impl/codegen/create_auth_context.h
3253   include/grpcpp/impl/codegen/grpc_library.h
3254   include/grpcpp/impl/codegen/intercepted_channel.h
3255   include/grpcpp/impl/codegen/interceptor.h
3256   include/grpcpp/impl/codegen/interceptor_common.h
3257   include/grpcpp/impl/codegen/message_allocator.h
3258   include/grpcpp/impl/codegen/metadata_map.h
3259   include/grpcpp/impl/codegen/method_handler_impl.h
3260   include/grpcpp/impl/codegen/rpc_method.h
3261   include/grpcpp/impl/codegen/rpc_service_method.h
3262   include/grpcpp/impl/codegen/security/auth_context.h
3263   include/grpcpp/impl/codegen/serialization_traits.h
3264   include/grpcpp/impl/codegen/server_callback.h
3265   include/grpcpp/impl/codegen/server_context.h
3266   include/grpcpp/impl/codegen/server_interceptor.h
3267   include/grpcpp/impl/codegen/server_interface.h
3268   include/grpcpp/impl/codegen/service_type.h
3269   include/grpcpp/impl/codegen/slice.h
3270   include/grpcpp/impl/codegen/status.h
3271   include/grpcpp/impl/codegen/status_code_enum.h
3272   include/grpcpp/impl/codegen/string_ref.h
3273   include/grpcpp/impl/codegen/stub_options.h
3274   include/grpcpp/impl/codegen/sync_stream.h
3275   include/grpcpp/impl/codegen/time.h
3276   include/grpcpp/impl/codegen/sync.h
3277   include/grpc++/impl/codegen/proto_utils.h
3278   include/grpcpp/impl/codegen/proto_buffer_reader.h
3279   include/grpcpp/impl/codegen/proto_buffer_writer.h
3280   include/grpcpp/impl/codegen/proto_utils.h
3281   include/grpc++/impl/codegen/config_protobuf.h
3282   include/grpcpp/impl/codegen/config_protobuf.h
3283 )
3284   string(REPLACE "include/" "" _path ${_hdr})
3285   get_filename_component(_path ${_path} PATH)
3286   install(FILES ${_hdr}
3287     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
3288   )
3289 endforeach()
3290
3291
3292 if (gRPC_INSTALL)
3293   install(TARGETS grpc++ EXPORT gRPCTargets
3294     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
3295     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
3296     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
3297   )
3298 endif()
3299
3300 if (gRPC_BUILD_TESTS)
3301
3302 if (gRPC_BUILD_CODEGEN)
3303 add_library(grpc++_core_stats
3304   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.pb.cc
3305   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.grpc.pb.cc
3306   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.pb.h
3307   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.grpc.pb.h
3308   src/cpp/util/core_stats.cc
3309 )
3310
3311 if(WIN32 AND MSVC)
3312   set_target_properties(grpc++_core_stats PROPERTIES COMPILE_PDB_NAME "grpc++_core_stats"
3313     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3314   )
3315   if (gRPC_INSTALL)
3316     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_core_stats.pdb
3317       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3318     )
3319   endif()
3320 endif()
3321
3322 protobuf_generate_grpc_cpp(
3323   src/proto/grpc/core/stats.proto
3324 )
3325
3326 target_include_directories(grpc++_core_stats
3327   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3328   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3329   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3330   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3331   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3332   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3333   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3334   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3335   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3336   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3337   PRIVATE third_party/googletest/googletest/include
3338   PRIVATE third_party/googletest/googletest
3339   PRIVATE third_party/googletest/googlemock/include
3340   PRIVATE third_party/googletest/googlemock
3341   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3342 )
3343 target_link_libraries(grpc++_core_stats
3344   ${_gRPC_PROTOBUF_LIBRARIES}
3345   ${_gRPC_ALLTARGETS_LIBRARIES}
3346   grpc++
3347   ${_gRPC_GFLAGS_LIBRARIES}
3348 )
3349
3350 endif (gRPC_BUILD_CODEGEN)
3351
3352 endif (gRPC_BUILD_TESTS)
3353
3354 add_library(grpc++_cronet
3355   src/cpp/client/cronet_credentials.cc
3356   src/cpp/client/insecure_credentials.cc
3357   src/cpp/common/insecure_create_auth_context.cc
3358   src/cpp/server/insecure_server_credentials.cc
3359   src/cpp/client/channel_cc.cc
3360   src/cpp/client/client_context.cc
3361   src/cpp/client/client_interceptor.cc
3362   src/cpp/client/create_channel.cc
3363   src/cpp/client/create_channel_internal.cc
3364   src/cpp/client/create_channel_posix.cc
3365   src/cpp/client/credentials_cc.cc
3366   src/cpp/client/generic_stub.cc
3367   src/cpp/common/alarm.cc
3368   src/cpp/common/channel_arguments.cc
3369   src/cpp/common/channel_filter.cc
3370   src/cpp/common/completion_queue_cc.cc
3371   src/cpp/common/core_codegen.cc
3372   src/cpp/common/resource_quota_cc.cc
3373   src/cpp/common/rpc_method.cc
3374   src/cpp/common/version_cc.cc
3375   src/cpp/server/async_generic_service.cc
3376   src/cpp/server/channel_argument_option.cc
3377   src/cpp/server/create_default_thread_pool.cc
3378   src/cpp/server/dynamic_thread_pool.cc
3379   src/cpp/server/health/default_health_check_service.cc
3380   src/cpp/server/health/health_check_service.cc
3381   src/cpp/server/health/health_check_service_server_builder_option.cc
3382   src/cpp/server/server_builder.cc
3383   src/cpp/server/server_cc.cc
3384   src/cpp/server/server_context.cc
3385   src/cpp/server/server_credentials.cc
3386   src/cpp/server/server_posix.cc
3387   src/cpp/thread_manager/thread_manager.cc
3388   src/cpp/util/byte_buffer_cc.cc
3389   src/cpp/util/status.cc
3390   src/cpp/util/string_ref.cc
3391   src/cpp/util/time_cc.cc
3392   src/core/ext/filters/client_channel/health/health.pb.c
3393   third_party/nanopb/pb_common.c
3394   third_party/nanopb/pb_decode.c
3395   third_party/nanopb/pb_encode.c
3396   src/cpp/codegen/codegen_init.cc
3397   src/core/ext/transport/chttp2/client/insecure/channel_create.cc
3398   src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
3399   src/core/ext/transport/chttp2/client/authority.cc
3400   src/core/ext/transport/chttp2/client/chttp2_connector.cc
3401   src/core/ext/transport/chttp2/transport/bin_decoder.cc
3402   src/core/ext/transport/chttp2/transport/bin_encoder.cc
3403   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
3404   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
3405   src/core/ext/transport/chttp2/transport/context_list.cc
3406   src/core/ext/transport/chttp2/transport/flow_control.cc
3407   src/core/ext/transport/chttp2/transport/frame_data.cc
3408   src/core/ext/transport/chttp2/transport/frame_goaway.cc
3409   src/core/ext/transport/chttp2/transport/frame_ping.cc
3410   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
3411   src/core/ext/transport/chttp2/transport/frame_settings.cc
3412   src/core/ext/transport/chttp2/transport/frame_window_update.cc
3413   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
3414   src/core/ext/transport/chttp2/transport/hpack_parser.cc
3415   src/core/ext/transport/chttp2/transport/hpack_table.cc
3416   src/core/ext/transport/chttp2/transport/http2_settings.cc
3417   src/core/ext/transport/chttp2/transport/huffsyms.cc
3418   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
3419   src/core/ext/transport/chttp2/transport/parsing.cc
3420   src/core/ext/transport/chttp2/transport/stream_lists.cc
3421   src/core/ext/transport/chttp2/transport/stream_map.cc
3422   src/core/ext/transport/chttp2/transport/varint.cc
3423   src/core/ext/transport/chttp2/transport/writing.cc
3424   src/core/lib/avl/avl.cc
3425   src/core/lib/backoff/backoff.cc
3426   src/core/lib/channel/channel_args.cc
3427   src/core/lib/channel/channel_stack.cc
3428   src/core/lib/channel/channel_stack_builder.cc
3429   src/core/lib/channel/channel_trace.cc
3430   src/core/lib/channel/channelz.cc
3431   src/core/lib/channel/channelz_registry.cc
3432   src/core/lib/channel/connected_channel.cc
3433   src/core/lib/channel/handshaker.cc
3434   src/core/lib/channel/handshaker_registry.cc
3435   src/core/lib/channel/status_util.cc
3436   src/core/lib/compression/compression.cc
3437   src/core/lib/compression/compression_args.cc
3438   src/core/lib/compression/compression_internal.cc
3439   src/core/lib/compression/message_compress.cc
3440   src/core/lib/compression/stream_compression.cc
3441   src/core/lib/compression/stream_compression_gzip.cc
3442   src/core/lib/compression/stream_compression_identity.cc
3443   src/core/lib/debug/stats.cc
3444   src/core/lib/debug/stats_data.cc
3445   src/core/lib/http/format_request.cc
3446   src/core/lib/http/httpcli.cc
3447   src/core/lib/http/parser.cc
3448   src/core/lib/iomgr/buffer_list.cc
3449   src/core/lib/iomgr/call_combiner.cc
3450   src/core/lib/iomgr/cfstream_handle.cc
3451   src/core/lib/iomgr/combiner.cc
3452   src/core/lib/iomgr/endpoint.cc
3453   src/core/lib/iomgr/endpoint_cfstream.cc
3454   src/core/lib/iomgr/endpoint_pair_posix.cc
3455   src/core/lib/iomgr/endpoint_pair_uv.cc
3456   src/core/lib/iomgr/endpoint_pair_windows.cc
3457   src/core/lib/iomgr/error.cc
3458   src/core/lib/iomgr/error_cfstream.cc
3459   src/core/lib/iomgr/ev_epoll1_linux.cc
3460   src/core/lib/iomgr/ev_epollex_linux.cc
3461   src/core/lib/iomgr/ev_poll_posix.cc
3462   src/core/lib/iomgr/ev_posix.cc
3463   src/core/lib/iomgr/ev_windows.cc
3464   src/core/lib/iomgr/exec_ctx.cc
3465   src/core/lib/iomgr/executor.cc
3466   src/core/lib/iomgr/fork_posix.cc
3467   src/core/lib/iomgr/fork_windows.cc
3468   src/core/lib/iomgr/gethostname_fallback.cc
3469   src/core/lib/iomgr/gethostname_host_name_max.cc
3470   src/core/lib/iomgr/gethostname_sysconf.cc
3471   src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
3472   src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
3473   src/core/lib/iomgr/internal_errqueue.cc
3474   src/core/lib/iomgr/iocp_windows.cc
3475   src/core/lib/iomgr/iomgr.cc
3476   src/core/lib/iomgr/iomgr_custom.cc
3477   src/core/lib/iomgr/iomgr_internal.cc
3478   src/core/lib/iomgr/iomgr_posix.cc
3479   src/core/lib/iomgr/iomgr_posix_cfstream.cc
3480   src/core/lib/iomgr/iomgr_uv.cc
3481   src/core/lib/iomgr/iomgr_windows.cc
3482   src/core/lib/iomgr/is_epollexclusive_available.cc
3483   src/core/lib/iomgr/load_file.cc
3484   src/core/lib/iomgr/lockfree_event.cc
3485   src/core/lib/iomgr/polling_entity.cc
3486   src/core/lib/iomgr/pollset.cc
3487   src/core/lib/iomgr/pollset_custom.cc
3488   src/core/lib/iomgr/pollset_set.cc
3489   src/core/lib/iomgr/pollset_set_custom.cc
3490   src/core/lib/iomgr/pollset_set_windows.cc
3491   src/core/lib/iomgr/pollset_uv.cc
3492   src/core/lib/iomgr/pollset_windows.cc
3493   src/core/lib/iomgr/resolve_address.cc
3494   src/core/lib/iomgr/resolve_address_custom.cc
3495   src/core/lib/iomgr/resolve_address_posix.cc
3496   src/core/lib/iomgr/resolve_address_windows.cc
3497   src/core/lib/iomgr/resource_quota.cc
3498   src/core/lib/iomgr/sockaddr_utils.cc
3499   src/core/lib/iomgr/socket_factory_posix.cc
3500   src/core/lib/iomgr/socket_mutator.cc
3501   src/core/lib/iomgr/socket_utils_common_posix.cc
3502   src/core/lib/iomgr/socket_utils_linux.cc
3503   src/core/lib/iomgr/socket_utils_posix.cc
3504   src/core/lib/iomgr/socket_utils_uv.cc
3505   src/core/lib/iomgr/socket_utils_windows.cc
3506   src/core/lib/iomgr/socket_windows.cc
3507   src/core/lib/iomgr/tcp_client.cc
3508   src/core/lib/iomgr/tcp_client_cfstream.cc
3509   src/core/lib/iomgr/tcp_client_custom.cc
3510   src/core/lib/iomgr/tcp_client_posix.cc
3511   src/core/lib/iomgr/tcp_client_windows.cc
3512   src/core/lib/iomgr/tcp_custom.cc
3513   src/core/lib/iomgr/tcp_posix.cc
3514   src/core/lib/iomgr/tcp_server.cc
3515   src/core/lib/iomgr/tcp_server_custom.cc
3516   src/core/lib/iomgr/tcp_server_posix.cc
3517   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
3518   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
3519   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
3520   src/core/lib/iomgr/tcp_server_windows.cc
3521   src/core/lib/iomgr/tcp_uv.cc
3522   src/core/lib/iomgr/tcp_windows.cc
3523   src/core/lib/iomgr/time_averaged_stats.cc
3524   src/core/lib/iomgr/timer.cc
3525   src/core/lib/iomgr/timer_custom.cc
3526   src/core/lib/iomgr/timer_generic.cc
3527   src/core/lib/iomgr/timer_heap.cc
3528   src/core/lib/iomgr/timer_manager.cc
3529   src/core/lib/iomgr/timer_uv.cc
3530   src/core/lib/iomgr/udp_server.cc
3531   src/core/lib/iomgr/unix_sockets_posix.cc
3532   src/core/lib/iomgr/unix_sockets_posix_noop.cc
3533   src/core/lib/iomgr/wakeup_fd_eventfd.cc
3534   src/core/lib/iomgr/wakeup_fd_nospecial.cc
3535   src/core/lib/iomgr/wakeup_fd_pipe.cc
3536   src/core/lib/iomgr/wakeup_fd_posix.cc
3537   src/core/lib/json/json.cc
3538   src/core/lib/json/json_reader.cc
3539   src/core/lib/json/json_string.cc
3540   src/core/lib/json/json_writer.cc
3541   src/core/lib/slice/b64.cc
3542   src/core/lib/slice/percent_encoding.cc
3543   src/core/lib/slice/slice.cc
3544   src/core/lib/slice/slice_buffer.cc
3545   src/core/lib/slice/slice_intern.cc
3546   src/core/lib/slice/slice_string_helpers.cc
3547   src/core/lib/surface/api_trace.cc
3548   src/core/lib/surface/byte_buffer.cc
3549   src/core/lib/surface/byte_buffer_reader.cc
3550   src/core/lib/surface/call.cc
3551   src/core/lib/surface/call_details.cc
3552   src/core/lib/surface/call_log_batch.cc
3553   src/core/lib/surface/channel.cc
3554   src/core/lib/surface/channel_init.cc
3555   src/core/lib/surface/channel_ping.cc
3556   src/core/lib/surface/channel_stack_type.cc
3557   src/core/lib/surface/completion_queue.cc
3558   src/core/lib/surface/completion_queue_factory.cc
3559   src/core/lib/surface/event_string.cc
3560   src/core/lib/surface/lame_client.cc
3561   src/core/lib/surface/metadata_array.cc
3562   src/core/lib/surface/server.cc
3563   src/core/lib/surface/validate_metadata.cc
3564   src/core/lib/surface/version.cc
3565   src/core/lib/transport/bdp_estimator.cc
3566   src/core/lib/transport/byte_stream.cc
3567   src/core/lib/transport/connectivity_state.cc
3568   src/core/lib/transport/error_utils.cc
3569   src/core/lib/transport/metadata.cc
3570   src/core/lib/transport/metadata_batch.cc
3571   src/core/lib/transport/pid_controller.cc
3572   src/core/lib/transport/static_metadata.cc
3573   src/core/lib/transport/status_conversion.cc
3574   src/core/lib/transport/status_metadata.cc
3575   src/core/lib/transport/timeout_encoding.cc
3576   src/core/lib/transport/transport.cc
3577   src/core/lib/transport/transport_op_string.cc
3578   src/core/lib/uri/uri_parser.cc
3579   src/core/lib/debug/trace.cc
3580   src/core/ext/transport/chttp2/alpn/alpn.cc
3581   src/core/ext/filters/http/client/http_client_filter.cc
3582   src/core/ext/filters/http/http_filters_plugin.cc
3583   src/core/ext/filters/http/message_compress/message_compress_filter.cc
3584   src/core/ext/filters/http/server/http_server_filter.cc
3585   src/core/ext/filters/client_channel/backup_poller.cc
3586   src/core/ext/filters/client_channel/channel_connectivity.cc
3587   src/core/ext/filters/client_channel/client_channel.cc
3588   src/core/ext/filters/client_channel/client_channel_channelz.cc
3589   src/core/ext/filters/client_channel/client_channel_factory.cc
3590   src/core/ext/filters/client_channel/client_channel_plugin.cc
3591   src/core/ext/filters/client_channel/connector.cc
3592   src/core/ext/filters/client_channel/global_subchannel_pool.cc
3593   src/core/ext/filters/client_channel/health/health_check_client.cc
3594   src/core/ext/filters/client_channel/http_connect_handshaker.cc
3595   src/core/ext/filters/client_channel/http_proxy.cc
3596   src/core/ext/filters/client_channel/lb_policy.cc
3597   src/core/ext/filters/client_channel/lb_policy_registry.cc
3598   src/core/ext/filters/client_channel/local_subchannel_pool.cc
3599   src/core/ext/filters/client_channel/parse_address.cc
3600   src/core/ext/filters/client_channel/proxy_mapper.cc
3601   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
3602   src/core/ext/filters/client_channel/resolver.cc
3603   src/core/ext/filters/client_channel/resolver_registry.cc
3604   src/core/ext/filters/client_channel/resolver_result_parsing.cc
3605   src/core/ext/filters/client_channel/resolving_lb_policy.cc
3606   src/core/ext/filters/client_channel/retry_throttle.cc
3607   src/core/ext/filters/client_channel/server_address.cc
3608   src/core/ext/filters/client_channel/service_config.cc
3609   src/core/ext/filters/client_channel/subchannel.cc
3610   src/core/ext/filters/client_channel/subchannel_pool_interface.cc
3611   src/core/ext/filters/deadline/deadline_filter.cc
3612   src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
3613   src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
3614   src/core/ext/transport/chttp2/server/chttp2_server.cc
3615   src/core/ext/filters/census/grpc_context.cc
3616 )
3617
3618 if(WIN32 AND MSVC)
3619   set_target_properties(grpc++_cronet PROPERTIES COMPILE_PDB_NAME "grpc++_cronet"
3620     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3621   )
3622   if (gRPC_INSTALL)
3623     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_cronet.pdb
3624       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3625     )
3626   endif()
3627 endif()
3628
3629
3630 target_include_directories(grpc++_cronet
3631   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3632   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3633   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3634   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3635   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3636   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3637   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3638   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3639   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3640   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3641   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3642 )
3643 target_link_libraries(grpc++_cronet
3644   ${_gRPC_BASELIB_LIBRARIES}
3645   ${_gRPC_SSL_LIBRARIES}
3646   ${_gRPC_PROTOBUF_LIBRARIES}
3647   ${_gRPC_ALLTARGETS_LIBRARIES}
3648   gpr
3649   grpc_cronet
3650   grpc
3651 )
3652
3653 foreach(_hdr
3654   include/grpc++/alarm.h
3655   include/grpc++/channel.h
3656   include/grpc++/client_context.h
3657   include/grpc++/completion_queue.h
3658   include/grpc++/create_channel.h
3659   include/grpc++/create_channel_posix.h
3660   include/grpc++/ext/health_check_service_server_builder_option.h
3661   include/grpc++/generic/async_generic_service.h
3662   include/grpc++/generic/generic_stub.h
3663   include/grpc++/grpc++.h
3664   include/grpc++/health_check_service_interface.h
3665   include/grpc++/impl/call.h
3666   include/grpc++/impl/channel_argument_option.h
3667   include/grpc++/impl/client_unary_call.h
3668   include/grpc++/impl/codegen/core_codegen.h
3669   include/grpc++/impl/grpc_library.h
3670   include/grpc++/impl/method_handler_impl.h
3671   include/grpc++/impl/rpc_method.h
3672   include/grpc++/impl/rpc_service_method.h
3673   include/grpc++/impl/serialization_traits.h
3674   include/grpc++/impl/server_builder_option.h
3675   include/grpc++/impl/server_builder_plugin.h
3676   include/grpc++/impl/server_initializer.h
3677   include/grpc++/impl/service_type.h
3678   include/grpc++/resource_quota.h
3679   include/grpc++/security/auth_context.h
3680   include/grpc++/security/auth_metadata_processor.h
3681   include/grpc++/security/credentials.h
3682   include/grpc++/security/server_credentials.h
3683   include/grpc++/server.h
3684   include/grpc++/server_builder.h
3685   include/grpc++/server_context.h
3686   include/grpc++/server_posix.h
3687   include/grpc++/support/async_stream.h
3688   include/grpc++/support/async_unary_call.h
3689   include/grpc++/support/byte_buffer.h
3690   include/grpc++/support/channel_arguments.h
3691   include/grpc++/support/config.h
3692   include/grpc++/support/slice.h
3693   include/grpc++/support/status.h
3694   include/grpc++/support/status_code_enum.h
3695   include/grpc++/support/string_ref.h
3696   include/grpc++/support/stub_options.h
3697   include/grpc++/support/sync_stream.h
3698   include/grpc++/support/time.h
3699   include/grpcpp/alarm.h
3700   include/grpcpp/alarm_impl.h
3701   include/grpcpp/channel.h
3702   include/grpcpp/channel_impl.h
3703   include/grpcpp/client_context.h
3704   include/grpcpp/completion_queue.h
3705   include/grpcpp/create_channel.h
3706   include/grpcpp/create_channel_impl.h
3707   include/grpcpp/create_channel_posix.h
3708   include/grpcpp/create_channel_posix_impl.h
3709   include/grpcpp/ext/health_check_service_server_builder_option.h
3710   include/grpcpp/generic/async_generic_service.h
3711   include/grpcpp/generic/generic_stub.h
3712   include/grpcpp/generic/generic_stub_impl.h
3713   include/grpcpp/grpcpp.h
3714   include/grpcpp/health_check_service_interface.h
3715   include/grpcpp/health_check_service_interface_impl.h
3716   include/grpcpp/impl/call.h
3717   include/grpcpp/impl/channel_argument_option.h
3718   include/grpcpp/impl/client_unary_call.h
3719   include/grpcpp/impl/codegen/core_codegen.h
3720   include/grpcpp/impl/grpc_library.h
3721   include/grpcpp/impl/method_handler_impl.h
3722   include/grpcpp/impl/rpc_method.h
3723   include/grpcpp/impl/rpc_service_method.h
3724   include/grpcpp/impl/serialization_traits.h
3725   include/grpcpp/impl/server_builder_option.h
3726   include/grpcpp/impl/server_builder_option_impl.h
3727   include/grpcpp/impl/server_builder_plugin.h
3728   include/grpcpp/impl/server_initializer.h
3729   include/grpcpp/impl/server_initializer_impl.h
3730   include/grpcpp/impl/service_type.h
3731   include/grpcpp/resource_quota.h
3732   include/grpcpp/resource_quota_impl.h
3733   include/grpcpp/security/auth_context.h
3734   include/grpcpp/security/auth_metadata_processor.h
3735   include/grpcpp/security/auth_metadata_processor_impl.h
3736   include/grpcpp/security/credentials.h
3737   include/grpcpp/security/credentials_impl.h
3738   include/grpcpp/security/server_credentials.h
3739   include/grpcpp/security/server_credentials_impl.h
3740   include/grpcpp/server.h
3741   include/grpcpp/server_builder.h
3742   include/grpcpp/server_builder_impl.h
3743   include/grpcpp/server_context.h
3744   include/grpcpp/server_impl.h
3745   include/grpcpp/server_posix.h
3746   include/grpcpp/server_posix_impl.h
3747   include/grpcpp/support/async_stream.h
3748   include/grpcpp/support/async_unary_call.h
3749   include/grpcpp/support/byte_buffer.h
3750   include/grpcpp/support/channel_arguments.h
3751   include/grpcpp/support/channel_arguments_impl.h
3752   include/grpcpp/support/client_callback.h
3753   include/grpcpp/support/client_interceptor.h
3754   include/grpcpp/support/config.h
3755   include/grpcpp/support/interceptor.h
3756   include/grpcpp/support/message_allocator.h
3757   include/grpcpp/support/proto_buffer_reader.h
3758   include/grpcpp/support/proto_buffer_writer.h
3759   include/grpcpp/support/server_callback.h
3760   include/grpcpp/support/server_interceptor.h
3761   include/grpcpp/support/slice.h
3762   include/grpcpp/support/status.h
3763   include/grpcpp/support/status_code_enum.h
3764   include/grpcpp/support/string_ref.h
3765   include/grpcpp/support/stub_options.h
3766   include/grpcpp/support/sync_stream.h
3767   include/grpcpp/support/time.h
3768   include/grpc/support/alloc.h
3769   include/grpc/support/atm.h
3770   include/grpc/support/atm_gcc_atomic.h
3771   include/grpc/support/atm_gcc_sync.h
3772   include/grpc/support/atm_windows.h
3773   include/grpc/support/cpu.h
3774   include/grpc/support/log.h
3775   include/grpc/support/log_windows.h
3776   include/grpc/support/port_platform.h
3777   include/grpc/support/string_util.h
3778   include/grpc/support/sync.h
3779   include/grpc/support/sync_custom.h
3780   include/grpc/support/sync_generic.h
3781   include/grpc/support/sync_posix.h
3782   include/grpc/support/sync_windows.h
3783   include/grpc/support/thd_id.h
3784   include/grpc/support/time.h
3785   include/grpc/impl/codegen/atm.h
3786   include/grpc/impl/codegen/atm_gcc_atomic.h
3787   include/grpc/impl/codegen/atm_gcc_sync.h
3788   include/grpc/impl/codegen/atm_windows.h
3789   include/grpc/impl/codegen/fork.h
3790   include/grpc/impl/codegen/gpr_slice.h
3791   include/grpc/impl/codegen/gpr_types.h
3792   include/grpc/impl/codegen/log.h
3793   include/grpc/impl/codegen/port_platform.h
3794   include/grpc/impl/codegen/sync.h
3795   include/grpc/impl/codegen/sync_custom.h
3796   include/grpc/impl/codegen/sync_generic.h
3797   include/grpc/impl/codegen/sync_posix.h
3798   include/grpc/impl/codegen/sync_windows.h
3799   include/grpc/byte_buffer.h
3800   include/grpc/byte_buffer_reader.h
3801   include/grpc/compression.h
3802   include/grpc/fork.h
3803   include/grpc/grpc.h
3804   include/grpc/grpc_posix.h
3805   include/grpc/grpc_security_constants.h
3806   include/grpc/load_reporting.h
3807   include/grpc/slice.h
3808   include/grpc/slice_buffer.h
3809   include/grpc/status.h
3810   include/grpc/support/workaround_list.h
3811   include/grpc/impl/codegen/byte_buffer.h
3812   include/grpc/impl/codegen/byte_buffer_reader.h
3813   include/grpc/impl/codegen/compression_types.h
3814   include/grpc/impl/codegen/connectivity_state.h
3815   include/grpc/impl/codegen/grpc_types.h
3816   include/grpc/impl/codegen/propagation_bits.h
3817   include/grpc/impl/codegen/slice.h
3818   include/grpc/impl/codegen/status.h
3819   include/grpc++/impl/codegen/async_stream.h
3820   include/grpc++/impl/codegen/async_unary_call.h
3821   include/grpc++/impl/codegen/byte_buffer.h
3822   include/grpc++/impl/codegen/call.h
3823   include/grpc++/impl/codegen/call_hook.h
3824   include/grpc++/impl/codegen/channel_interface.h
3825   include/grpc++/impl/codegen/client_context.h
3826   include/grpc++/impl/codegen/client_unary_call.h
3827   include/grpc++/impl/codegen/completion_queue.h
3828   include/grpc++/impl/codegen/completion_queue_tag.h
3829   include/grpc++/impl/codegen/config.h
3830   include/grpc++/impl/codegen/core_codegen_interface.h
3831   include/grpc++/impl/codegen/create_auth_context.h
3832   include/grpc++/impl/codegen/grpc_library.h
3833   include/grpc++/impl/codegen/metadata_map.h
3834   include/grpc++/impl/codegen/method_handler_impl.h
3835   include/grpc++/impl/codegen/rpc_method.h
3836   include/grpc++/impl/codegen/rpc_service_method.h
3837   include/grpc++/impl/codegen/security/auth_context.h
3838   include/grpc++/impl/codegen/serialization_traits.h
3839   include/grpc++/impl/codegen/server_context.h
3840   include/grpc++/impl/codegen/server_interface.h
3841   include/grpc++/impl/codegen/service_type.h
3842   include/grpc++/impl/codegen/slice.h
3843   include/grpc++/impl/codegen/status.h
3844   include/grpc++/impl/codegen/status_code_enum.h
3845   include/grpc++/impl/codegen/string_ref.h
3846   include/grpc++/impl/codegen/stub_options.h
3847   include/grpc++/impl/codegen/sync_stream.h
3848   include/grpc++/impl/codegen/time.h
3849   include/grpcpp/impl/codegen/async_generic_service.h
3850   include/grpcpp/impl/codegen/async_stream.h
3851   include/grpcpp/impl/codegen/async_unary_call.h
3852   include/grpcpp/impl/codegen/byte_buffer.h
3853   include/grpcpp/impl/codegen/call.h
3854   include/grpcpp/impl/codegen/call_hook.h
3855   include/grpcpp/impl/codegen/call_op_set.h
3856   include/grpcpp/impl/codegen/call_op_set_interface.h
3857   include/grpcpp/impl/codegen/callback_common.h
3858   include/grpcpp/impl/codegen/channel_interface.h
3859   include/grpcpp/impl/codegen/client_callback.h
3860   include/grpcpp/impl/codegen/client_context.h
3861   include/grpcpp/impl/codegen/client_interceptor.h
3862   include/grpcpp/impl/codegen/client_unary_call.h
3863   include/grpcpp/impl/codegen/completion_queue.h
3864   include/grpcpp/impl/codegen/completion_queue_impl.h
3865   include/grpcpp/impl/codegen/completion_queue_tag.h
3866   include/grpcpp/impl/codegen/config.h
3867   include/grpcpp/impl/codegen/core_codegen_interface.h
3868   include/grpcpp/impl/codegen/create_auth_context.h
3869   include/grpcpp/impl/codegen/grpc_library.h
3870   include/grpcpp/impl/codegen/intercepted_channel.h
3871   include/grpcpp/impl/codegen/interceptor.h
3872   include/grpcpp/impl/codegen/interceptor_common.h
3873   include/grpcpp/impl/codegen/message_allocator.h
3874   include/grpcpp/impl/codegen/metadata_map.h
3875   include/grpcpp/impl/codegen/method_handler_impl.h
3876   include/grpcpp/impl/codegen/rpc_method.h
3877   include/grpcpp/impl/codegen/rpc_service_method.h
3878   include/grpcpp/impl/codegen/security/auth_context.h
3879   include/grpcpp/impl/codegen/serialization_traits.h
3880   include/grpcpp/impl/codegen/server_callback.h
3881   include/grpcpp/impl/codegen/server_context.h
3882   include/grpcpp/impl/codegen/server_interceptor.h
3883   include/grpcpp/impl/codegen/server_interface.h
3884   include/grpcpp/impl/codegen/service_type.h
3885   include/grpcpp/impl/codegen/slice.h
3886   include/grpcpp/impl/codegen/status.h
3887   include/grpcpp/impl/codegen/status_code_enum.h
3888   include/grpcpp/impl/codegen/string_ref.h
3889   include/grpcpp/impl/codegen/stub_options.h
3890   include/grpcpp/impl/codegen/sync_stream.h
3891   include/grpcpp/impl/codegen/time.h
3892   include/grpcpp/impl/codegen/sync.h
3893   include/grpc/census.h
3894 )
3895   string(REPLACE "include/" "" _path ${_hdr})
3896   get_filename_component(_path ${_path} PATH)
3897   install(FILES ${_hdr}
3898     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
3899   )
3900 endforeach()
3901
3902
3903 if (gRPC_INSTALL)
3904   install(TARGETS grpc++_cronet EXPORT gRPCTargets
3905     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
3906     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
3907     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
3908   )
3909 endif()
3910
3911
3912 if (gRPC_BUILD_CODEGEN)
3913 add_library(grpc++_error_details
3914   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.pb.cc
3915   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.cc
3916   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.pb.h
3917   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.h
3918   src/cpp/util/error_details.cc
3919 )
3920
3921 if(WIN32 AND MSVC)
3922   set_target_properties(grpc++_error_details PROPERTIES COMPILE_PDB_NAME "grpc++_error_details"
3923     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3924   )
3925   if (gRPC_INSTALL)
3926     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_error_details.pdb
3927       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3928     )
3929   endif()
3930 endif()
3931
3932 protobuf_generate_grpc_cpp(
3933   src/proto/grpc/status/status.proto
3934 )
3935
3936 target_include_directories(grpc++_error_details
3937   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3938   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3939   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3940   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3941   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3942   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3943   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3944   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3945   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3946   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3947   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3948 )
3949 target_link_libraries(grpc++_error_details
3950   ${_gRPC_BASELIB_LIBRARIES}
3951   ${_gRPC_PROTOBUF_LIBRARIES}
3952   ${_gRPC_ALLTARGETS_LIBRARIES}
3953   grpc++
3954 )
3955
3956 foreach(_hdr
3957   include/grpc++/support/error_details.h
3958   include/grpcpp/support/error_details.h
3959   include/grpcpp/support/error_details_impl.h
3960 )
3961   string(REPLACE "include/" "" _path ${_hdr})
3962   get_filename_component(_path ${_path} PATH)
3963   install(FILES ${_hdr}
3964     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
3965   )
3966 endforeach()
3967 endif (gRPC_BUILD_CODEGEN)
3968
3969 if (gRPC_BUILD_CODEGEN)
3970
3971 if (gRPC_INSTALL)
3972   install(TARGETS grpc++_error_details EXPORT gRPCTargets
3973     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
3974     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
3975     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
3976   )
3977 endif()
3978
3979 endif (gRPC_BUILD_CODEGEN)
3980 if (gRPC_BUILD_TESTS)
3981
3982 if (gRPC_BUILD_CODEGEN)
3983 add_library(grpc++_proto_reflection_desc_db
3984   test/cpp/util/proto_reflection_descriptor_database.cc
3985   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc
3986   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc
3987   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h
3988   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h
3989 )
3990
3991 if(WIN32 AND MSVC)
3992   set_target_properties(grpc++_proto_reflection_desc_db PROPERTIES COMPILE_PDB_NAME "grpc++_proto_reflection_desc_db"
3993     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3994   )
3995   if (gRPC_INSTALL)
3996     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_proto_reflection_desc_db.pdb
3997       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3998     )
3999   endif()
4000 endif()
4001
4002 protobuf_generate_grpc_cpp(
4003   src/proto/grpc/reflection/v1alpha/reflection.proto
4004 )
4005
4006 target_include_directories(grpc++_proto_reflection_desc_db
4007   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4008   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4009   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4010   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4011   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4012   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4013   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4014   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4015   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4016   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4017   PRIVATE third_party/googletest/googletest/include
4018   PRIVATE third_party/googletest/googletest
4019   PRIVATE third_party/googletest/googlemock/include
4020   PRIVATE third_party/googletest/googlemock
4021   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4022 )
4023 target_link_libraries(grpc++_proto_reflection_desc_db
4024   ${_gRPC_PROTOBUF_LIBRARIES}
4025   ${_gRPC_ALLTARGETS_LIBRARIES}
4026   grpc++
4027   grpc
4028   ${_gRPC_GFLAGS_LIBRARIES}
4029 )
4030
4031 foreach(_hdr
4032   include/grpc++/impl/codegen/config_protobuf.h
4033   include/grpcpp/impl/codegen/config_protobuf.h
4034 )
4035   string(REPLACE "include/" "" _path ${_hdr})
4036   get_filename_component(_path ${_path} PATH)
4037   install(FILES ${_hdr}
4038     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4039   )
4040 endforeach()
4041 endif (gRPC_BUILD_CODEGEN)
4042
4043 endif (gRPC_BUILD_TESTS)
4044
4045 if (gRPC_BUILD_CODEGEN)
4046 add_library(grpc++_reflection
4047   src/cpp/ext/proto_server_reflection.cc
4048   src/cpp/ext/proto_server_reflection_plugin.cc
4049   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc
4050   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc
4051   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h
4052   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h
4053 )
4054
4055 if(WIN32 AND MSVC)
4056   set_target_properties(grpc++_reflection PROPERTIES COMPILE_PDB_NAME "grpc++_reflection"
4057     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4058   )
4059   if (gRPC_INSTALL)
4060     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_reflection.pdb
4061       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4062     )
4063   endif()
4064 endif()
4065
4066 protobuf_generate_grpc_cpp(
4067   src/proto/grpc/reflection/v1alpha/reflection.proto
4068 )
4069
4070 target_include_directories(grpc++_reflection
4071   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4072   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4073   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4074   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4075   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4076   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4077   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4078   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4079   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4080   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4081   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4082 )
4083 target_link_libraries(grpc++_reflection
4084   ${_gRPC_PROTOBUF_LIBRARIES}
4085   ${_gRPC_ALLTARGETS_LIBRARIES}
4086   grpc++
4087   grpc
4088 )
4089
4090 foreach(_hdr
4091   include/grpc++/ext/proto_server_reflection_plugin.h
4092   include/grpcpp/ext/proto_server_reflection_plugin.h
4093   include/grpcpp/ext/proto_server_reflection_plugin_impl.h
4094 )
4095   string(REPLACE "include/" "" _path ${_hdr})
4096   get_filename_component(_path ${_path} PATH)
4097   install(FILES ${_hdr}
4098     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4099   )
4100 endforeach()
4101 endif (gRPC_BUILD_CODEGEN)
4102
4103 if (gRPC_BUILD_CODEGEN)
4104
4105 if (gRPC_INSTALL)
4106   install(TARGETS grpc++_reflection EXPORT gRPCTargets
4107     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
4108     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
4109     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
4110   )
4111 endif()
4112
4113 endif (gRPC_BUILD_CODEGEN)
4114 if (gRPC_BUILD_TESTS)
4115
4116 add_library(grpc++_test_config
4117   test/cpp/util/test_config_cc.cc
4118 )
4119
4120 if(WIN32 AND MSVC)
4121   set_target_properties(grpc++_test_config PROPERTIES COMPILE_PDB_NAME "grpc++_test_config"
4122     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4123   )
4124   if (gRPC_INSTALL)
4125     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_config.pdb
4126       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4127     )
4128   endif()
4129 endif()
4130
4131
4132 target_include_directories(grpc++_test_config
4133   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4134   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4135   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4136   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4137   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4138   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4139   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4140   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4141   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4142   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4143   PRIVATE third_party/googletest/googletest/include
4144   PRIVATE third_party/googletest/googletest
4145   PRIVATE third_party/googletest/googlemock/include
4146   PRIVATE third_party/googletest/googlemock
4147   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4148 )
4149 target_link_libraries(grpc++_test_config
4150   ${_gRPC_PROTOBUF_LIBRARIES}
4151   ${_gRPC_ALLTARGETS_LIBRARIES}
4152   ${_gRPC_GFLAGS_LIBRARIES}
4153 )
4154
4155
4156 endif (gRPC_BUILD_TESTS)
4157 if (gRPC_BUILD_TESTS)
4158
4159 if (gRPC_BUILD_CODEGEN)
4160 add_library(grpc++_test_util
4161   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
4162   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
4163   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
4164   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
4165   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc
4166   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.cc
4167   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.h
4168   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.h
4169   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
4170   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
4171   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
4172   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
4173   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
4174   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
4175   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
4176   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
4177   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_mock.grpc.pb.h
4178   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc
4179   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc
4180   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h
4181   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h
4182   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc
4183   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc
4184   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h
4185   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h
4186   test/cpp/end2end/test_health_check_service_impl.cc
4187   test/cpp/end2end/test_service_impl.cc
4188   test/cpp/util/byte_buffer_proto_helper.cc
4189   test/cpp/util/channel_trace_proto_helper.cc
4190   test/cpp/util/create_test_channel.cc
4191   test/cpp/util/string_ref_helper.cc
4192   test/cpp/util/subprocess.cc
4193   test/cpp/util/test_credentials_provider.cc
4194   src/cpp/codegen/codegen_init.cc
4195 )
4196
4197 if(WIN32 AND MSVC)
4198   set_target_properties(grpc++_test_util PROPERTIES COMPILE_PDB_NAME "grpc++_test_util"
4199     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4200   )
4201   if (gRPC_INSTALL)
4202     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_util.pdb
4203       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4204     )
4205   endif()
4206 endif()
4207
4208 protobuf_generate_grpc_cpp(
4209   src/proto/grpc/channelz/channelz.proto
4210 )
4211 protobuf_generate_grpc_cpp(
4212   src/proto/grpc/health/v1/health.proto
4213 )
4214 protobuf_generate_grpc_cpp(
4215   src/proto/grpc/testing/echo_messages.proto
4216 )
4217 protobuf_generate_grpc_cpp(
4218   src/proto/grpc/testing/echo.proto
4219 )
4220 protobuf_generate_grpc_cpp(
4221   src/proto/grpc/testing/duplicate/echo_duplicate.proto
4222 )
4223 protobuf_generate_grpc_cpp(
4224   src/proto/grpc/testing/simple_messages.proto
4225 )
4226
4227 target_include_directories(grpc++_test_util
4228   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4229   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4230   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4231   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4232   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4233   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4234   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4235   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4236   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4237   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4238   PRIVATE third_party/googletest/googletest/include
4239   PRIVATE third_party/googletest/googletest
4240   PRIVATE third_party/googletest/googlemock/include
4241   PRIVATE third_party/googletest/googlemock
4242   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4243 )
4244 target_link_libraries(grpc++_test_util
4245   ${_gRPC_PROTOBUF_LIBRARIES}
4246   ${_gRPC_ALLTARGETS_LIBRARIES}
4247   grpc++
4248   grpc_test_util
4249   grpc
4250   ${_gRPC_GFLAGS_LIBRARIES}
4251 )
4252
4253 foreach(_hdr
4254   include/grpc++/impl/codegen/async_stream.h
4255   include/grpc++/impl/codegen/async_unary_call.h
4256   include/grpc++/impl/codegen/byte_buffer.h
4257   include/grpc++/impl/codegen/call.h
4258   include/grpc++/impl/codegen/call_hook.h
4259   include/grpc++/impl/codegen/channel_interface.h
4260   include/grpc++/impl/codegen/client_context.h
4261   include/grpc++/impl/codegen/client_unary_call.h
4262   include/grpc++/impl/codegen/completion_queue.h
4263   include/grpc++/impl/codegen/completion_queue_tag.h
4264   include/grpc++/impl/codegen/config.h
4265   include/grpc++/impl/codegen/core_codegen_interface.h
4266   include/grpc++/impl/codegen/create_auth_context.h
4267   include/grpc++/impl/codegen/grpc_library.h
4268   include/grpc++/impl/codegen/metadata_map.h
4269   include/grpc++/impl/codegen/method_handler_impl.h
4270   include/grpc++/impl/codegen/rpc_method.h
4271   include/grpc++/impl/codegen/rpc_service_method.h
4272   include/grpc++/impl/codegen/security/auth_context.h
4273   include/grpc++/impl/codegen/serialization_traits.h
4274   include/grpc++/impl/codegen/server_context.h
4275   include/grpc++/impl/codegen/server_interface.h
4276   include/grpc++/impl/codegen/service_type.h
4277   include/grpc++/impl/codegen/slice.h
4278   include/grpc++/impl/codegen/status.h
4279   include/grpc++/impl/codegen/status_code_enum.h
4280   include/grpc++/impl/codegen/string_ref.h
4281   include/grpc++/impl/codegen/stub_options.h
4282   include/grpc++/impl/codegen/sync_stream.h
4283   include/grpc++/impl/codegen/time.h
4284   include/grpcpp/impl/codegen/async_generic_service.h
4285   include/grpcpp/impl/codegen/async_stream.h
4286   include/grpcpp/impl/codegen/async_unary_call.h
4287   include/grpcpp/impl/codegen/byte_buffer.h
4288   include/grpcpp/impl/codegen/call.h
4289   include/grpcpp/impl/codegen/call_hook.h
4290   include/grpcpp/impl/codegen/call_op_set.h
4291   include/grpcpp/impl/codegen/call_op_set_interface.h
4292   include/grpcpp/impl/codegen/callback_common.h
4293   include/grpcpp/impl/codegen/channel_interface.h
4294   include/grpcpp/impl/codegen/client_callback.h
4295   include/grpcpp/impl/codegen/client_context.h
4296   include/grpcpp/impl/codegen/client_interceptor.h
4297   include/grpcpp/impl/codegen/client_unary_call.h
4298   include/grpcpp/impl/codegen/completion_queue.h
4299   include/grpcpp/impl/codegen/completion_queue_impl.h
4300   include/grpcpp/impl/codegen/completion_queue_tag.h
4301   include/grpcpp/impl/codegen/config.h
4302   include/grpcpp/impl/codegen/core_codegen_interface.h
4303   include/grpcpp/impl/codegen/create_auth_context.h
4304   include/grpcpp/impl/codegen/grpc_library.h
4305   include/grpcpp/impl/codegen/intercepted_channel.h
4306   include/grpcpp/impl/codegen/interceptor.h
4307   include/grpcpp/impl/codegen/interceptor_common.h
4308   include/grpcpp/impl/codegen/message_allocator.h
4309   include/grpcpp/impl/codegen/metadata_map.h
4310   include/grpcpp/impl/codegen/method_handler_impl.h
4311   include/grpcpp/impl/codegen/rpc_method.h
4312   include/grpcpp/impl/codegen/rpc_service_method.h
4313   include/grpcpp/impl/codegen/security/auth_context.h
4314   include/grpcpp/impl/codegen/serialization_traits.h
4315   include/grpcpp/impl/codegen/server_callback.h
4316   include/grpcpp/impl/codegen/server_context.h
4317   include/grpcpp/impl/codegen/server_interceptor.h
4318   include/grpcpp/impl/codegen/server_interface.h
4319   include/grpcpp/impl/codegen/service_type.h
4320   include/grpcpp/impl/codegen/slice.h
4321   include/grpcpp/impl/codegen/status.h
4322   include/grpcpp/impl/codegen/status_code_enum.h
4323   include/grpcpp/impl/codegen/string_ref.h
4324   include/grpcpp/impl/codegen/stub_options.h
4325   include/grpcpp/impl/codegen/sync_stream.h
4326   include/grpcpp/impl/codegen/time.h
4327   include/grpc/impl/codegen/byte_buffer.h
4328   include/grpc/impl/codegen/byte_buffer_reader.h
4329   include/grpc/impl/codegen/compression_types.h
4330   include/grpc/impl/codegen/connectivity_state.h
4331   include/grpc/impl/codegen/grpc_types.h
4332   include/grpc/impl/codegen/propagation_bits.h
4333   include/grpc/impl/codegen/slice.h
4334   include/grpc/impl/codegen/status.h
4335   include/grpc/impl/codegen/atm.h
4336   include/grpc/impl/codegen/atm_gcc_atomic.h
4337   include/grpc/impl/codegen/atm_gcc_sync.h
4338   include/grpc/impl/codegen/atm_windows.h
4339   include/grpc/impl/codegen/fork.h
4340   include/grpc/impl/codegen/gpr_slice.h
4341   include/grpc/impl/codegen/gpr_types.h
4342   include/grpc/impl/codegen/log.h
4343   include/grpc/impl/codegen/port_platform.h
4344   include/grpc/impl/codegen/sync.h
4345   include/grpc/impl/codegen/sync_custom.h
4346   include/grpc/impl/codegen/sync_generic.h
4347   include/grpc/impl/codegen/sync_posix.h
4348   include/grpc/impl/codegen/sync_windows.h
4349   include/grpcpp/impl/codegen/sync.h
4350   include/grpc++/impl/codegen/proto_utils.h
4351   include/grpcpp/impl/codegen/proto_buffer_reader.h
4352   include/grpcpp/impl/codegen/proto_buffer_writer.h
4353   include/grpcpp/impl/codegen/proto_utils.h
4354   include/grpc++/impl/codegen/config_protobuf.h
4355   include/grpcpp/impl/codegen/config_protobuf.h
4356 )
4357   string(REPLACE "include/" "" _path ${_hdr})
4358   get_filename_component(_path ${_path} PATH)
4359   install(FILES ${_hdr}
4360     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4361   )
4362 endforeach()
4363 endif (gRPC_BUILD_CODEGEN)
4364
4365 endif (gRPC_BUILD_TESTS)
4366 if (gRPC_BUILD_TESTS)
4367
4368 if (gRPC_BUILD_CODEGEN)
4369 add_library(grpc++_test_util_unsecure
4370   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc
4371   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.cc
4372   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.h
4373   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.h
4374   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
4375   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
4376   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
4377   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
4378   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
4379   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
4380   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
4381   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
4382   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_mock.grpc.pb.h
4383   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc
4384   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc
4385   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h
4386   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h
4387   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc
4388   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc
4389   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h
4390   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h
4391   test/cpp/end2end/test_health_check_service_impl.cc
4392   test/cpp/end2end/test_service_impl.cc
4393   test/cpp/util/byte_buffer_proto_helper.cc
4394   test/cpp/util/string_ref_helper.cc
4395   test/cpp/util/subprocess.cc
4396   src/cpp/codegen/codegen_init.cc
4397 )
4398
4399 if(WIN32 AND MSVC)
4400   set_target_properties(grpc++_test_util_unsecure PROPERTIES COMPILE_PDB_NAME "grpc++_test_util_unsecure"
4401     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4402   )
4403   if (gRPC_INSTALL)
4404     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_util_unsecure.pdb
4405       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4406     )
4407   endif()
4408 endif()
4409
4410 protobuf_generate_grpc_cpp(
4411   src/proto/grpc/health/v1/health.proto
4412 )
4413 protobuf_generate_grpc_cpp(
4414   src/proto/grpc/testing/echo_messages.proto
4415 )
4416 protobuf_generate_grpc_cpp(
4417   src/proto/grpc/testing/echo.proto
4418 )
4419 protobuf_generate_grpc_cpp(
4420   src/proto/grpc/testing/duplicate/echo_duplicate.proto
4421 )
4422 protobuf_generate_grpc_cpp(
4423   src/proto/grpc/testing/simple_messages.proto
4424 )
4425
4426 target_include_directories(grpc++_test_util_unsecure
4427   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4428   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4429   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4430   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4431   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4432   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4433   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4434   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4435   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4436   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4437   PRIVATE third_party/googletest/googletest/include
4438   PRIVATE third_party/googletest/googletest
4439   PRIVATE third_party/googletest/googlemock/include
4440   PRIVATE third_party/googletest/googlemock
4441   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4442 )
4443 target_link_libraries(grpc++_test_util_unsecure
4444   ${_gRPC_PROTOBUF_LIBRARIES}
4445   ${_gRPC_ALLTARGETS_LIBRARIES}
4446   grpc++_unsecure
4447   grpc_test_util_unsecure
4448   grpc_unsecure
4449   ${_gRPC_GFLAGS_LIBRARIES}
4450 )
4451
4452 foreach(_hdr
4453   include/grpc++/impl/codegen/async_stream.h
4454   include/grpc++/impl/codegen/async_unary_call.h
4455   include/grpc++/impl/codegen/byte_buffer.h
4456   include/grpc++/impl/codegen/call.h
4457   include/grpc++/impl/codegen/call_hook.h
4458   include/grpc++/impl/codegen/channel_interface.h
4459   include/grpc++/impl/codegen/client_context.h
4460   include/grpc++/impl/codegen/client_unary_call.h
4461   include/grpc++/impl/codegen/completion_queue.h
4462   include/grpc++/impl/codegen/completion_queue_tag.h
4463   include/grpc++/impl/codegen/config.h
4464   include/grpc++/impl/codegen/core_codegen_interface.h
4465   include/grpc++/impl/codegen/create_auth_context.h
4466   include/grpc++/impl/codegen/grpc_library.h
4467   include/grpc++/impl/codegen/metadata_map.h
4468   include/grpc++/impl/codegen/method_handler_impl.h
4469   include/grpc++/impl/codegen/rpc_method.h
4470   include/grpc++/impl/codegen/rpc_service_method.h
4471   include/grpc++/impl/codegen/security/auth_context.h
4472   include/grpc++/impl/codegen/serialization_traits.h
4473   include/grpc++/impl/codegen/server_context.h
4474   include/grpc++/impl/codegen/server_interface.h
4475   include/grpc++/impl/codegen/service_type.h
4476   include/grpc++/impl/codegen/slice.h
4477   include/grpc++/impl/codegen/status.h
4478   include/grpc++/impl/codegen/status_code_enum.h
4479   include/grpc++/impl/codegen/string_ref.h
4480   include/grpc++/impl/codegen/stub_options.h
4481   include/grpc++/impl/codegen/sync_stream.h
4482   include/grpc++/impl/codegen/time.h
4483   include/grpcpp/impl/codegen/async_generic_service.h
4484   include/grpcpp/impl/codegen/async_stream.h
4485   include/grpcpp/impl/codegen/async_unary_call.h
4486   include/grpcpp/impl/codegen/byte_buffer.h
4487   include/grpcpp/impl/codegen/call.h
4488   include/grpcpp/impl/codegen/call_hook.h
4489   include/grpcpp/impl/codegen/call_op_set.h
4490   include/grpcpp/impl/codegen/call_op_set_interface.h
4491   include/grpcpp/impl/codegen/callback_common.h
4492   include/grpcpp/impl/codegen/channel_interface.h
4493   include/grpcpp/impl/codegen/client_callback.h
4494   include/grpcpp/impl/codegen/client_context.h
4495   include/grpcpp/impl/codegen/client_interceptor.h
4496   include/grpcpp/impl/codegen/client_unary_call.h
4497   include/grpcpp/impl/codegen/completion_queue.h
4498   include/grpcpp/impl/codegen/completion_queue_impl.h
4499   include/grpcpp/impl/codegen/completion_queue_tag.h
4500   include/grpcpp/impl/codegen/config.h
4501   include/grpcpp/impl/codegen/core_codegen_interface.h
4502   include/grpcpp/impl/codegen/create_auth_context.h
4503   include/grpcpp/impl/codegen/grpc_library.h
4504   include/grpcpp/impl/codegen/intercepted_channel.h
4505   include/grpcpp/impl/codegen/interceptor.h
4506   include/grpcpp/impl/codegen/interceptor_common.h
4507   include/grpcpp/impl/codegen/message_allocator.h
4508   include/grpcpp/impl/codegen/metadata_map.h
4509   include/grpcpp/impl/codegen/method_handler_impl.h
4510   include/grpcpp/impl/codegen/rpc_method.h
4511   include/grpcpp/impl/codegen/rpc_service_method.h
4512   include/grpcpp/impl/codegen/security/auth_context.h
4513   include/grpcpp/impl/codegen/serialization_traits.h
4514   include/grpcpp/impl/codegen/server_callback.h
4515   include/grpcpp/impl/codegen/server_context.h
4516   include/grpcpp/impl/codegen/server_interceptor.h
4517   include/grpcpp/impl/codegen/server_interface.h
4518   include/grpcpp/impl/codegen/service_type.h
4519   include/grpcpp/impl/codegen/slice.h
4520   include/grpcpp/impl/codegen/status.h
4521   include/grpcpp/impl/codegen/status_code_enum.h
4522   include/grpcpp/impl/codegen/string_ref.h
4523   include/grpcpp/impl/codegen/stub_options.h
4524   include/grpcpp/impl/codegen/sync_stream.h
4525   include/grpcpp/impl/codegen/time.h
4526   include/grpc/impl/codegen/byte_buffer.h
4527   include/grpc/impl/codegen/byte_buffer_reader.h
4528   include/grpc/impl/codegen/compression_types.h
4529   include/grpc/impl/codegen/connectivity_state.h
4530   include/grpc/impl/codegen/grpc_types.h
4531   include/grpc/impl/codegen/propagation_bits.h
4532   include/grpc/impl/codegen/slice.h
4533   include/grpc/impl/codegen/status.h
4534   include/grpc/impl/codegen/atm.h
4535   include/grpc/impl/codegen/atm_gcc_atomic.h
4536   include/grpc/impl/codegen/atm_gcc_sync.h
4537   include/grpc/impl/codegen/atm_windows.h
4538   include/grpc/impl/codegen/fork.h
4539   include/grpc/impl/codegen/gpr_slice.h
4540   include/grpc/impl/codegen/gpr_types.h
4541   include/grpc/impl/codegen/log.h
4542   include/grpc/impl/codegen/port_platform.h
4543   include/grpc/impl/codegen/sync.h
4544   include/grpc/impl/codegen/sync_custom.h
4545   include/grpc/impl/codegen/sync_generic.h
4546   include/grpc/impl/codegen/sync_posix.h
4547   include/grpc/impl/codegen/sync_windows.h
4548   include/grpcpp/impl/codegen/sync.h
4549   include/grpc++/impl/codegen/proto_utils.h
4550   include/grpcpp/impl/codegen/proto_buffer_reader.h
4551   include/grpcpp/impl/codegen/proto_buffer_writer.h
4552   include/grpcpp/impl/codegen/proto_utils.h
4553   include/grpc++/impl/codegen/config_protobuf.h
4554   include/grpcpp/impl/codegen/config_protobuf.h
4555 )
4556   string(REPLACE "include/" "" _path ${_hdr})
4557   get_filename_component(_path ${_path} PATH)
4558   install(FILES ${_hdr}
4559     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4560   )
4561 endforeach()
4562 endif (gRPC_BUILD_CODEGEN)
4563
4564 endif (gRPC_BUILD_TESTS)
4565
4566 add_library(grpc++_unsecure
4567   src/cpp/client/insecure_credentials.cc
4568   src/cpp/common/insecure_create_auth_context.cc
4569   src/cpp/server/insecure_server_credentials.cc
4570   src/cpp/client/channel_cc.cc
4571   src/cpp/client/client_context.cc
4572   src/cpp/client/client_interceptor.cc
4573   src/cpp/client/create_channel.cc
4574   src/cpp/client/create_channel_internal.cc
4575   src/cpp/client/create_channel_posix.cc
4576   src/cpp/client/credentials_cc.cc
4577   src/cpp/client/generic_stub.cc
4578   src/cpp/common/alarm.cc
4579   src/cpp/common/channel_arguments.cc
4580   src/cpp/common/channel_filter.cc
4581   src/cpp/common/completion_queue_cc.cc
4582   src/cpp/common/core_codegen.cc
4583   src/cpp/common/resource_quota_cc.cc
4584   src/cpp/common/rpc_method.cc
4585   src/cpp/common/version_cc.cc
4586   src/cpp/server/async_generic_service.cc
4587   src/cpp/server/channel_argument_option.cc
4588   src/cpp/server/create_default_thread_pool.cc
4589   src/cpp/server/dynamic_thread_pool.cc
4590   src/cpp/server/health/default_health_check_service.cc
4591   src/cpp/server/health/health_check_service.cc
4592   src/cpp/server/health/health_check_service_server_builder_option.cc
4593   src/cpp/server/server_builder.cc
4594   src/cpp/server/server_cc.cc
4595   src/cpp/server/server_context.cc
4596   src/cpp/server/server_credentials.cc
4597   src/cpp/server/server_posix.cc
4598   src/cpp/thread_manager/thread_manager.cc
4599   src/cpp/util/byte_buffer_cc.cc
4600   src/cpp/util/status.cc
4601   src/cpp/util/string_ref.cc
4602   src/cpp/util/time_cc.cc
4603   src/core/ext/filters/client_channel/health/health.pb.c
4604   third_party/nanopb/pb_common.c
4605   third_party/nanopb/pb_decode.c
4606   third_party/nanopb/pb_encode.c
4607   src/cpp/codegen/codegen_init.cc
4608 )
4609
4610 if(WIN32 AND MSVC)
4611   set_target_properties(grpc++_unsecure PROPERTIES COMPILE_PDB_NAME "grpc++_unsecure"
4612     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4613   )
4614   if (gRPC_INSTALL)
4615     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_unsecure.pdb
4616       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4617     )
4618   endif()
4619 endif()
4620
4621
4622 target_include_directories(grpc++_unsecure
4623   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4624   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4625   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4626   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4627   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4628   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4629   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4630   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4631   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4632   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4633   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4634 )
4635 target_link_libraries(grpc++_unsecure
4636   ${_gRPC_BASELIB_LIBRARIES}
4637   ${_gRPC_PROTOBUF_LIBRARIES}
4638   ${_gRPC_ALLTARGETS_LIBRARIES}
4639   gpr
4640   grpc_unsecure
4641 )
4642
4643 foreach(_hdr
4644   include/grpc++/alarm.h
4645   include/grpc++/channel.h
4646   include/grpc++/client_context.h
4647   include/grpc++/completion_queue.h
4648   include/grpc++/create_channel.h
4649   include/grpc++/create_channel_posix.h
4650   include/grpc++/ext/health_check_service_server_builder_option.h
4651   include/grpc++/generic/async_generic_service.h
4652   include/grpc++/generic/generic_stub.h
4653   include/grpc++/grpc++.h
4654   include/grpc++/health_check_service_interface.h
4655   include/grpc++/impl/call.h
4656   include/grpc++/impl/channel_argument_option.h
4657   include/grpc++/impl/client_unary_call.h
4658   include/grpc++/impl/codegen/core_codegen.h
4659   include/grpc++/impl/grpc_library.h
4660   include/grpc++/impl/method_handler_impl.h
4661   include/grpc++/impl/rpc_method.h
4662   include/grpc++/impl/rpc_service_method.h
4663   include/grpc++/impl/serialization_traits.h
4664   include/grpc++/impl/server_builder_option.h
4665   include/grpc++/impl/server_builder_plugin.h
4666   include/grpc++/impl/server_initializer.h
4667   include/grpc++/impl/service_type.h
4668   include/grpc++/resource_quota.h
4669   include/grpc++/security/auth_context.h
4670   include/grpc++/security/auth_metadata_processor.h
4671   include/grpc++/security/credentials.h
4672   include/grpc++/security/server_credentials.h
4673   include/grpc++/server.h
4674   include/grpc++/server_builder.h
4675   include/grpc++/server_context.h
4676   include/grpc++/server_posix.h
4677   include/grpc++/support/async_stream.h
4678   include/grpc++/support/async_unary_call.h
4679   include/grpc++/support/byte_buffer.h
4680   include/grpc++/support/channel_arguments.h
4681   include/grpc++/support/config.h
4682   include/grpc++/support/slice.h
4683   include/grpc++/support/status.h
4684   include/grpc++/support/status_code_enum.h
4685   include/grpc++/support/string_ref.h
4686   include/grpc++/support/stub_options.h
4687   include/grpc++/support/sync_stream.h
4688   include/grpc++/support/time.h
4689   include/grpcpp/alarm.h
4690   include/grpcpp/alarm_impl.h
4691   include/grpcpp/channel.h
4692   include/grpcpp/channel_impl.h
4693   include/grpcpp/client_context.h
4694   include/grpcpp/completion_queue.h
4695   include/grpcpp/create_channel.h
4696   include/grpcpp/create_channel_impl.h
4697   include/grpcpp/create_channel_posix.h
4698   include/grpcpp/create_channel_posix_impl.h
4699   include/grpcpp/ext/health_check_service_server_builder_option.h
4700   include/grpcpp/generic/async_generic_service.h
4701   include/grpcpp/generic/generic_stub.h
4702   include/grpcpp/generic/generic_stub_impl.h
4703   include/grpcpp/grpcpp.h
4704   include/grpcpp/health_check_service_interface.h
4705   include/grpcpp/health_check_service_interface_impl.h
4706   include/grpcpp/impl/call.h
4707   include/grpcpp/impl/channel_argument_option.h
4708   include/grpcpp/impl/client_unary_call.h
4709   include/grpcpp/impl/codegen/core_codegen.h
4710   include/grpcpp/impl/grpc_library.h
4711   include/grpcpp/impl/method_handler_impl.h
4712   include/grpcpp/impl/rpc_method.h
4713   include/grpcpp/impl/rpc_service_method.h
4714   include/grpcpp/impl/serialization_traits.h
4715   include/grpcpp/impl/server_builder_option.h
4716   include/grpcpp/impl/server_builder_option_impl.h
4717   include/grpcpp/impl/server_builder_plugin.h
4718   include/grpcpp/impl/server_initializer.h
4719   include/grpcpp/impl/server_initializer_impl.h
4720   include/grpcpp/impl/service_type.h
4721   include/grpcpp/resource_quota.h
4722   include/grpcpp/resource_quota_impl.h
4723   include/grpcpp/security/auth_context.h
4724   include/grpcpp/security/auth_metadata_processor.h
4725   include/grpcpp/security/auth_metadata_processor_impl.h
4726   include/grpcpp/security/credentials.h
4727   include/grpcpp/security/credentials_impl.h
4728   include/grpcpp/security/server_credentials.h
4729   include/grpcpp/security/server_credentials_impl.h
4730   include/grpcpp/server.h
4731   include/grpcpp/server_builder.h
4732   include/grpcpp/server_builder_impl.h
4733   include/grpcpp/server_context.h
4734   include/grpcpp/server_impl.h
4735   include/grpcpp/server_posix.h
4736   include/grpcpp/server_posix_impl.h
4737   include/grpcpp/support/async_stream.h
4738   include/grpcpp/support/async_unary_call.h
4739   include/grpcpp/support/byte_buffer.h
4740   include/grpcpp/support/channel_arguments.h
4741   include/grpcpp/support/channel_arguments_impl.h
4742   include/grpcpp/support/client_callback.h
4743   include/grpcpp/support/client_interceptor.h
4744   include/grpcpp/support/config.h
4745   include/grpcpp/support/interceptor.h
4746   include/grpcpp/support/message_allocator.h
4747   include/grpcpp/support/proto_buffer_reader.h
4748   include/grpcpp/support/proto_buffer_writer.h
4749   include/grpcpp/support/server_callback.h
4750   include/grpcpp/support/server_interceptor.h
4751   include/grpcpp/support/slice.h
4752   include/grpcpp/support/status.h
4753   include/grpcpp/support/status_code_enum.h
4754   include/grpcpp/support/string_ref.h
4755   include/grpcpp/support/stub_options.h
4756   include/grpcpp/support/sync_stream.h
4757   include/grpcpp/support/time.h
4758   include/grpc/support/alloc.h
4759   include/grpc/support/atm.h
4760   include/grpc/support/atm_gcc_atomic.h
4761   include/grpc/support/atm_gcc_sync.h
4762   include/grpc/support/atm_windows.h
4763   include/grpc/support/cpu.h
4764   include/grpc/support/log.h
4765   include/grpc/support/log_windows.h
4766   include/grpc/support/port_platform.h
4767   include/grpc/support/string_util.h
4768   include/grpc/support/sync.h
4769   include/grpc/support/sync_custom.h
4770   include/grpc/support/sync_generic.h
4771   include/grpc/support/sync_posix.h
4772   include/grpc/support/sync_windows.h
4773   include/grpc/support/thd_id.h
4774   include/grpc/support/time.h
4775   include/grpc/impl/codegen/atm.h
4776   include/grpc/impl/codegen/atm_gcc_atomic.h
4777   include/grpc/impl/codegen/atm_gcc_sync.h
4778   include/grpc/impl/codegen/atm_windows.h
4779   include/grpc/impl/codegen/fork.h
4780   include/grpc/impl/codegen/gpr_slice.h
4781   include/grpc/impl/codegen/gpr_types.h
4782   include/grpc/impl/codegen/log.h
4783   include/grpc/impl/codegen/port_platform.h
4784   include/grpc/impl/codegen/sync.h
4785   include/grpc/impl/codegen/sync_custom.h
4786   include/grpc/impl/codegen/sync_generic.h
4787   include/grpc/impl/codegen/sync_posix.h
4788   include/grpc/impl/codegen/sync_windows.h
4789   include/grpc/byte_buffer.h
4790   include/grpc/byte_buffer_reader.h
4791   include/grpc/compression.h
4792   include/grpc/fork.h
4793   include/grpc/grpc.h
4794   include/grpc/grpc_posix.h
4795   include/grpc/grpc_security_constants.h
4796   include/grpc/load_reporting.h
4797   include/grpc/slice.h
4798   include/grpc/slice_buffer.h
4799   include/grpc/status.h
4800   include/grpc/support/workaround_list.h
4801   include/grpc/impl/codegen/byte_buffer.h
4802   include/grpc/impl/codegen/byte_buffer_reader.h
4803   include/grpc/impl/codegen/compression_types.h
4804   include/grpc/impl/codegen/connectivity_state.h
4805   include/grpc/impl/codegen/grpc_types.h
4806   include/grpc/impl/codegen/propagation_bits.h
4807   include/grpc/impl/codegen/slice.h
4808   include/grpc/impl/codegen/status.h
4809   include/grpc++/impl/codegen/async_stream.h
4810   include/grpc++/impl/codegen/async_unary_call.h
4811   include/grpc++/impl/codegen/byte_buffer.h
4812   include/grpc++/impl/codegen/call.h
4813   include/grpc++/impl/codegen/call_hook.h
4814   include/grpc++/impl/codegen/channel_interface.h
4815   include/grpc++/impl/codegen/client_context.h
4816   include/grpc++/impl/codegen/client_unary_call.h
4817   include/grpc++/impl/codegen/completion_queue.h
4818   include/grpc++/impl/codegen/completion_queue_tag.h
4819   include/grpc++/impl/codegen/config.h
4820   include/grpc++/impl/codegen/core_codegen_interface.h
4821   include/grpc++/impl/codegen/create_auth_context.h
4822   include/grpc++/impl/codegen/grpc_library.h
4823   include/grpc++/impl/codegen/metadata_map.h
4824   include/grpc++/impl/codegen/method_handler_impl.h
4825   include/grpc++/impl/codegen/rpc_method.h
4826   include/grpc++/impl/codegen/rpc_service_method.h
4827   include/grpc++/impl/codegen/security/auth_context.h
4828   include/grpc++/impl/codegen/serialization_traits.h
4829   include/grpc++/impl/codegen/server_context.h
4830   include/grpc++/impl/codegen/server_interface.h
4831   include/grpc++/impl/codegen/service_type.h
4832   include/grpc++/impl/codegen/slice.h
4833   include/grpc++/impl/codegen/status.h
4834   include/grpc++/impl/codegen/status_code_enum.h
4835   include/grpc++/impl/codegen/string_ref.h
4836   include/grpc++/impl/codegen/stub_options.h
4837   include/grpc++/impl/codegen/sync_stream.h
4838   include/grpc++/impl/codegen/time.h
4839   include/grpcpp/impl/codegen/async_generic_service.h
4840   include/grpcpp/impl/codegen/async_stream.h
4841   include/grpcpp/impl/codegen/async_unary_call.h
4842   include/grpcpp/impl/codegen/byte_buffer.h
4843   include/grpcpp/impl/codegen/call.h
4844   include/grpcpp/impl/codegen/call_hook.h
4845   include/grpcpp/impl/codegen/call_op_set.h
4846   include/grpcpp/impl/codegen/call_op_set_interface.h
4847   include/grpcpp/impl/codegen/callback_common.h
4848   include/grpcpp/impl/codegen/channel_interface.h
4849   include/grpcpp/impl/codegen/client_callback.h
4850   include/grpcpp/impl/codegen/client_context.h
4851   include/grpcpp/impl/codegen/client_interceptor.h
4852   include/grpcpp/impl/codegen/client_unary_call.h
4853   include/grpcpp/impl/codegen/completion_queue.h
4854   include/grpcpp/impl/codegen/completion_queue_impl.h
4855   include/grpcpp/impl/codegen/completion_queue_tag.h
4856   include/grpcpp/impl/codegen/config.h
4857   include/grpcpp/impl/codegen/core_codegen_interface.h
4858   include/grpcpp/impl/codegen/create_auth_context.h
4859   include/grpcpp/impl/codegen/grpc_library.h
4860   include/grpcpp/impl/codegen/intercepted_channel.h
4861   include/grpcpp/impl/codegen/interceptor.h
4862   include/grpcpp/impl/codegen/interceptor_common.h
4863   include/grpcpp/impl/codegen/message_allocator.h
4864   include/grpcpp/impl/codegen/metadata_map.h
4865   include/grpcpp/impl/codegen/method_handler_impl.h
4866   include/grpcpp/impl/codegen/rpc_method.h
4867   include/grpcpp/impl/codegen/rpc_service_method.h
4868   include/grpcpp/impl/codegen/security/auth_context.h
4869   include/grpcpp/impl/codegen/serialization_traits.h
4870   include/grpcpp/impl/codegen/server_callback.h
4871   include/grpcpp/impl/codegen/server_context.h
4872   include/grpcpp/impl/codegen/server_interceptor.h
4873   include/grpcpp/impl/codegen/server_interface.h
4874   include/grpcpp/impl/codegen/service_type.h
4875   include/grpcpp/impl/codegen/slice.h
4876   include/grpcpp/impl/codegen/status.h
4877   include/grpcpp/impl/codegen/status_code_enum.h
4878   include/grpcpp/impl/codegen/string_ref.h
4879   include/grpcpp/impl/codegen/stub_options.h
4880   include/grpcpp/impl/codegen/sync_stream.h
4881   include/grpcpp/impl/codegen/time.h
4882   include/grpcpp/impl/codegen/sync.h
4883 )
4884   string(REPLACE "include/" "" _path ${_hdr})
4885   get_filename_component(_path ${_path} PATH)
4886   install(FILES ${_hdr}
4887     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4888   )
4889 endforeach()
4890
4891
4892 if (gRPC_INSTALL)
4893   install(TARGETS grpc++_unsecure EXPORT gRPCTargets
4894     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
4895     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
4896     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
4897   )
4898 endif()
4899
4900 if (gRPC_BUILD_TESTS)
4901
4902 add_library(grpc_benchmark
4903   test/cpp/microbenchmarks/helpers.cc
4904 )
4905
4906 if(WIN32 AND MSVC)
4907   set_target_properties(grpc_benchmark PROPERTIES COMPILE_PDB_NAME "grpc_benchmark"
4908     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4909   )
4910   if (gRPC_INSTALL)
4911     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_benchmark.pdb
4912       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4913     )
4914   endif()
4915 endif()
4916
4917
4918 target_include_directories(grpc_benchmark
4919   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4920   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4921   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4922   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4923   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4924   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4925   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4926   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4927   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4928   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4929   PRIVATE third_party/googletest/googletest/include
4930   PRIVATE third_party/googletest/googletest
4931   PRIVATE third_party/googletest/googlemock/include
4932   PRIVATE third_party/googletest/googlemock
4933   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4934 )
4935 target_link_libraries(grpc_benchmark
4936   ${_gRPC_PROTOBUF_LIBRARIES}
4937   ${_gRPC_ALLTARGETS_LIBRARIES}
4938   ${_gRPC_BENCHMARK_LIBRARIES}
4939   grpc++_unsecure
4940   grpc_test_util_unsecure
4941   grpc_unsecure
4942   ${_gRPC_GFLAGS_LIBRARIES}
4943 )
4944
4945
4946 endif (gRPC_BUILD_TESTS)
4947 if (gRPC_BUILD_TESTS)
4948
4949 if (gRPC_BUILD_CODEGEN)
4950 add_library(grpc_cli_libs
4951   test/cpp/util/cli_call.cc
4952   test/cpp/util/cli_credentials.cc
4953   test/cpp/util/grpc_tool.cc
4954   test/cpp/util/proto_file_parser.cc
4955   test/cpp/util/service_describer.cc
4956   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc
4957   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc
4958   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h
4959   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h
4960 )
4961
4962 if(WIN32 AND MSVC)
4963   set_target_properties(grpc_cli_libs PROPERTIES COMPILE_PDB_NAME "grpc_cli_libs"
4964     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4965   )
4966   if (gRPC_INSTALL)
4967     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_cli_libs.pdb
4968       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4969     )
4970   endif()
4971 endif()
4972
4973 protobuf_generate_grpc_cpp(
4974   src/proto/grpc/reflection/v1alpha/reflection.proto
4975 )
4976
4977 target_include_directories(grpc_cli_libs
4978   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4979   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4980   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4981   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4982   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4983   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4984   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4985   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4986   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4987   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4988   PRIVATE third_party/googletest/googletest/include
4989   PRIVATE third_party/googletest/googletest
4990   PRIVATE third_party/googletest/googlemock/include
4991   PRIVATE third_party/googletest/googlemock
4992   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4993 )
4994 target_link_libraries(grpc_cli_libs
4995   ${_gRPC_PROTOBUF_LIBRARIES}
4996   ${_gRPC_ALLTARGETS_LIBRARIES}
4997   grpc++_proto_reflection_desc_db
4998   grpc++
4999   grpc
5000   ${_gRPC_GFLAGS_LIBRARIES}
5001 )
5002
5003 foreach(_hdr
5004   include/grpc++/impl/codegen/config_protobuf.h
5005   include/grpcpp/impl/codegen/config_protobuf.h
5006 )
5007   string(REPLACE "include/" "" _path ${_hdr})
5008   get_filename_component(_path ${_path} PATH)
5009   install(FILES ${_hdr}
5010     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
5011   )
5012 endforeach()
5013 endif (gRPC_BUILD_CODEGEN)
5014
5015 endif (gRPC_BUILD_TESTS)
5016
5017 add_library(grpc_plugin_support
5018   src/compiler/cpp_generator.cc
5019   src/compiler/csharp_generator.cc
5020   src/compiler/node_generator.cc
5021   src/compiler/objective_c_generator.cc
5022   src/compiler/php_generator.cc
5023   src/compiler/python_generator.cc
5024   src/compiler/ruby_generator.cc
5025 )
5026
5027 if(WIN32 AND MSVC)
5028   set_target_properties(grpc_plugin_support PROPERTIES COMPILE_PDB_NAME "grpc_plugin_support"
5029     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5030   )
5031   if (gRPC_INSTALL)
5032     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_plugin_support.pdb
5033       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5034     )
5035   endif()
5036 endif()
5037
5038
5039 target_include_directories(grpc_plugin_support
5040   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5041   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5042   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5043   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5044   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5045   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5046   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5047   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5048   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5049   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5050   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5051 )
5052 target_link_libraries(grpc_plugin_support
5053   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
5054   ${_gRPC_PROTOBUF_LIBRARIES}
5055   ${_gRPC_ALLTARGETS_LIBRARIES}
5056 )
5057
5058 foreach(_hdr
5059   include/grpc++/impl/codegen/config_protobuf.h
5060   include/grpcpp/impl/codegen/config_protobuf.h
5061 )
5062   string(REPLACE "include/" "" _path ${_hdr})
5063   get_filename_component(_path ${_path} PATH)
5064   install(FILES ${_hdr}
5065     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
5066   )
5067 endforeach()
5068
5069
5070 if (gRPC_INSTALL)
5071   install(TARGETS grpc_plugin_support EXPORT gRPCTargets
5072     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
5073     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
5074     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
5075   )
5076 endif()
5077
5078
5079 if (gRPC_BUILD_CODEGEN)
5080 add_library(grpcpp_channelz
5081   src/cpp/server/channelz/channelz_service.cc
5082   src/cpp/server/channelz/channelz_service_plugin.cc
5083   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
5084   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
5085   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
5086   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
5087 )
5088
5089 if(WIN32 AND MSVC)
5090   set_target_properties(grpcpp_channelz PROPERTIES COMPILE_PDB_NAME "grpcpp_channelz"
5091     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5092   )
5093   if (gRPC_INSTALL)
5094     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpcpp_channelz.pdb
5095       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5096     )
5097   endif()
5098 endif()
5099
5100 protobuf_generate_grpc_cpp(
5101   src/proto/grpc/channelz/channelz.proto
5102 )
5103
5104 target_include_directories(grpcpp_channelz
5105   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5106   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5107   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5108   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5109   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5110   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5111   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5112   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5113   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5114   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5115   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5116 )
5117 target_link_libraries(grpcpp_channelz
5118   ${_gRPC_PROTOBUF_LIBRARIES}
5119   ${_gRPC_ALLTARGETS_LIBRARIES}
5120   grpc++
5121   grpc
5122 )
5123
5124 foreach(_hdr
5125   include/grpcpp/ext/channelz_service_plugin.h
5126   include/grpcpp/ext/channelz_service_plugin_impl.h
5127 )
5128   string(REPLACE "include/" "" _path ${_hdr})
5129   get_filename_component(_path ${_path} PATH)
5130   install(FILES ${_hdr}
5131     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
5132   )
5133 endforeach()
5134 endif (gRPC_BUILD_CODEGEN)
5135
5136 if (gRPC_BUILD_CODEGEN)
5137
5138 if (gRPC_INSTALL)
5139   install(TARGETS grpcpp_channelz EXPORT gRPCTargets
5140     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
5141     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
5142     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
5143   )
5144 endif()
5145
5146 endif (gRPC_BUILD_CODEGEN)
5147 if (gRPC_BUILD_TESTS)
5148
5149 if (gRPC_BUILD_CODEGEN)
5150 add_library(http2_client_main
5151   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
5152   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
5153   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
5154   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
5155   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5156   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5157   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5158   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5159   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
5160   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
5161   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
5162   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
5163   test/cpp/interop/http2_client.cc
5164 )
5165
5166 if(WIN32 AND MSVC)
5167   set_target_properties(http2_client_main PROPERTIES COMPILE_PDB_NAME "http2_client_main"
5168     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5169   )
5170   if (gRPC_INSTALL)
5171     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/http2_client_main.pdb
5172       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5173     )
5174   endif()
5175 endif()
5176
5177 protobuf_generate_grpc_cpp(
5178   src/proto/grpc/testing/empty.proto
5179 )
5180 protobuf_generate_grpc_cpp(
5181   src/proto/grpc/testing/messages.proto
5182 )
5183 protobuf_generate_grpc_cpp(
5184   src/proto/grpc/testing/test.proto
5185 )
5186
5187 target_include_directories(http2_client_main
5188   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5189   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5190   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5191   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5192   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5193   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5194   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5195   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5196   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5197   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5198   PRIVATE third_party/googletest/googletest/include
5199   PRIVATE third_party/googletest/googletest
5200   PRIVATE third_party/googletest/googlemock/include
5201   PRIVATE third_party/googletest/googlemock
5202   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5203 )
5204 target_link_libraries(http2_client_main
5205   ${_gRPC_PROTOBUF_LIBRARIES}
5206   ${_gRPC_ALLTARGETS_LIBRARIES}
5207   grpc++_test_util
5208   grpc_test_util
5209   grpc++
5210   grpc
5211   grpc++_test_config
5212   ${_gRPC_GFLAGS_LIBRARIES}
5213 )
5214
5215 endif (gRPC_BUILD_CODEGEN)
5216
5217 endif (gRPC_BUILD_TESTS)
5218 if (gRPC_BUILD_TESTS)
5219
5220 if (gRPC_BUILD_CODEGEN)
5221 add_library(interop_client_helper
5222   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5223   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5224   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5225   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5226   test/cpp/interop/client_helper.cc
5227 )
5228
5229 if(WIN32 AND MSVC)
5230   set_target_properties(interop_client_helper PROPERTIES COMPILE_PDB_NAME "interop_client_helper"
5231     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5232   )
5233   if (gRPC_INSTALL)
5234     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_client_helper.pdb
5235       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5236     )
5237   endif()
5238 endif()
5239
5240 protobuf_generate_grpc_cpp(
5241   src/proto/grpc/testing/messages.proto
5242 )
5243
5244 target_include_directories(interop_client_helper
5245   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5246   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5247   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5248   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5249   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5250   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5251   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5252   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5253   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5254   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5255   PRIVATE third_party/googletest/googletest/include
5256   PRIVATE third_party/googletest/googletest
5257   PRIVATE third_party/googletest/googlemock/include
5258   PRIVATE third_party/googletest/googlemock
5259   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5260 )
5261 target_link_libraries(interop_client_helper
5262   ${_gRPC_PROTOBUF_LIBRARIES}
5263   ${_gRPC_ALLTARGETS_LIBRARIES}
5264   grpc++_test_util
5265   grpc_test_util
5266   grpc++
5267   grpc
5268   gpr
5269   ${_gRPC_GFLAGS_LIBRARIES}
5270 )
5271
5272 endif (gRPC_BUILD_CODEGEN)
5273
5274 endif (gRPC_BUILD_TESTS)
5275 if (gRPC_BUILD_TESTS)
5276
5277 if (gRPC_BUILD_CODEGEN)
5278 add_library(interop_client_main
5279   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
5280   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
5281   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
5282   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
5283   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5284   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5285   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5286   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5287   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
5288   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
5289   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
5290   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
5291   test/cpp/interop/client.cc
5292   test/cpp/interop/interop_client.cc
5293 )
5294
5295 if(WIN32 AND MSVC)
5296   set_target_properties(interop_client_main PROPERTIES COMPILE_PDB_NAME "interop_client_main"
5297     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5298   )
5299   if (gRPC_INSTALL)
5300     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_client_main.pdb
5301       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5302     )
5303   endif()
5304 endif()
5305
5306 protobuf_generate_grpc_cpp(
5307   src/proto/grpc/testing/empty.proto
5308 )
5309 protobuf_generate_grpc_cpp(
5310   src/proto/grpc/testing/messages.proto
5311 )
5312 protobuf_generate_grpc_cpp(
5313   src/proto/grpc/testing/test.proto
5314 )
5315
5316 target_include_directories(interop_client_main
5317   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5318   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5319   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5320   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5321   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5322   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5323   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5324   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5325   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5326   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5327   PRIVATE third_party/googletest/googletest/include
5328   PRIVATE third_party/googletest/googletest
5329   PRIVATE third_party/googletest/googlemock/include
5330   PRIVATE third_party/googletest/googlemock
5331   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5332 )
5333 target_link_libraries(interop_client_main
5334   ${_gRPC_PROTOBUF_LIBRARIES}
5335   ${_gRPC_ALLTARGETS_LIBRARIES}
5336   interop_client_helper
5337   grpc++_test_util
5338   grpc_test_util
5339   grpc++
5340   grpc
5341   gpr
5342   grpc++_test_config
5343   ${_gRPC_GFLAGS_LIBRARIES}
5344 )
5345
5346 endif (gRPC_BUILD_CODEGEN)
5347
5348 endif (gRPC_BUILD_TESTS)
5349 if (gRPC_BUILD_TESTS)
5350
5351 add_library(interop_server_helper
5352   test/cpp/interop/server_helper.cc
5353 )
5354
5355 if(WIN32 AND MSVC)
5356   set_target_properties(interop_server_helper PROPERTIES COMPILE_PDB_NAME "interop_server_helper"
5357     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5358   )
5359   if (gRPC_INSTALL)
5360     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_server_helper.pdb
5361       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5362     )
5363   endif()
5364 endif()
5365
5366
5367 target_include_directories(interop_server_helper
5368   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5369   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5370   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5371   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5372   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5373   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5374   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5375   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5376   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5377   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5378   PRIVATE third_party/googletest/googletest/include
5379   PRIVATE third_party/googletest/googletest
5380   PRIVATE third_party/googletest/googlemock/include
5381   PRIVATE third_party/googletest/googlemock
5382   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5383 )
5384 target_link_libraries(interop_server_helper
5385   ${_gRPC_PROTOBUF_LIBRARIES}
5386   ${_gRPC_ALLTARGETS_LIBRARIES}
5387   grpc++_test_util
5388   grpc_test_util
5389   grpc++
5390   grpc
5391   gpr
5392   ${_gRPC_GFLAGS_LIBRARIES}
5393 )
5394
5395
5396 endif (gRPC_BUILD_TESTS)
5397 if (gRPC_BUILD_TESTS)
5398
5399 if (gRPC_BUILD_CODEGEN)
5400 add_library(interop_server_lib
5401   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
5402   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
5403   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
5404   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
5405   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5406   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5407   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5408   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5409   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
5410   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
5411   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
5412   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
5413   test/cpp/interop/interop_server.cc
5414 )
5415
5416 if(WIN32 AND MSVC)
5417   set_target_properties(interop_server_lib PROPERTIES COMPILE_PDB_NAME "interop_server_lib"
5418     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5419   )
5420   if (gRPC_INSTALL)
5421     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_server_lib.pdb
5422       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5423     )
5424   endif()
5425 endif()
5426
5427 protobuf_generate_grpc_cpp(
5428   src/proto/grpc/testing/empty.proto
5429 )
5430 protobuf_generate_grpc_cpp(
5431   src/proto/grpc/testing/messages.proto
5432 )
5433 protobuf_generate_grpc_cpp(
5434   src/proto/grpc/testing/test.proto
5435 )
5436
5437 target_include_directories(interop_server_lib
5438   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5439   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5440   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5441   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5442   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5443   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5444   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5445   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5446   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5447   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5448   PRIVATE third_party/googletest/googletest/include
5449   PRIVATE third_party/googletest/googletest
5450   PRIVATE third_party/googletest/googlemock/include
5451   PRIVATE third_party/googletest/googlemock
5452   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5453 )
5454 target_link_libraries(interop_server_lib
5455   ${_gRPC_PROTOBUF_LIBRARIES}
5456   ${_gRPC_ALLTARGETS_LIBRARIES}
5457   interop_server_helper
5458   grpc++_test_util
5459   grpc_test_util
5460   grpc++
5461   grpc
5462   gpr
5463   grpc++_test_config
5464   ${_gRPC_GFLAGS_LIBRARIES}
5465 )
5466
5467 endif (gRPC_BUILD_CODEGEN)
5468
5469 endif (gRPC_BUILD_TESTS)
5470 if (gRPC_BUILD_TESTS)
5471
5472 add_library(interop_server_main
5473   test/cpp/interop/interop_server_bootstrap.cc
5474 )
5475
5476 if(WIN32 AND MSVC)
5477   set_target_properties(interop_server_main PROPERTIES COMPILE_PDB_NAME "interop_server_main"
5478     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5479   )
5480   if (gRPC_INSTALL)
5481     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_server_main.pdb
5482       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5483     )
5484   endif()
5485 endif()
5486
5487
5488 target_include_directories(interop_server_main
5489   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5490   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5491   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5492   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5493   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5494   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5495   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5496   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5497   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5498   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5499   PRIVATE third_party/googletest/googletest/include
5500   PRIVATE third_party/googletest/googletest
5501   PRIVATE third_party/googletest/googlemock/include
5502   PRIVATE third_party/googletest/googlemock
5503   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5504 )
5505 target_link_libraries(interop_server_main
5506   ${_gRPC_PROTOBUF_LIBRARIES}
5507   ${_gRPC_ALLTARGETS_LIBRARIES}
5508   interop_server_lib
5509   ${_gRPC_GFLAGS_LIBRARIES}
5510 )
5511
5512
5513 endif (gRPC_BUILD_TESTS)
5514 if (gRPC_BUILD_TESTS)
5515
5516 if (gRPC_BUILD_CODEGEN)
5517 add_library(qps
5518   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5519   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5520   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5521   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5522   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.cc
5523   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.cc
5524   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.h
5525   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.h
5526   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.cc
5527   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.cc
5528   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.h
5529   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.h
5530   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.cc
5531   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.cc
5532   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.h
5533   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.h
5534   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.cc
5535   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.cc
5536   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.h
5537   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.h
5538   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.cc
5539   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.cc
5540   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.h
5541   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.h
5542   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.cc
5543   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.cc
5544   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.h
5545   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.h
5546   test/cpp/qps/benchmark_config.cc
5547   test/cpp/qps/client_async.cc
5548   test/cpp/qps/client_callback.cc
5549   test/cpp/qps/client_sync.cc
5550   test/cpp/qps/driver.cc
5551   test/cpp/qps/parse_json.cc
5552   test/cpp/qps/qps_server_builder.cc
5553   test/cpp/qps/qps_worker.cc
5554   test/cpp/qps/report.cc
5555   test/cpp/qps/server_async.cc
5556   test/cpp/qps/server_callback.cc
5557   test/cpp/qps/server_sync.cc
5558   test/cpp/qps/usage_timer.cc
5559 )
5560
5561 if(WIN32 AND MSVC)
5562   set_target_properties(qps PROPERTIES COMPILE_PDB_NAME "qps"
5563     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5564   )
5565   if (gRPC_INSTALL)
5566     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qps.pdb
5567       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5568     )
5569   endif()
5570 endif()
5571
5572 protobuf_generate_grpc_cpp(
5573   src/proto/grpc/testing/messages.proto
5574 )
5575 protobuf_generate_grpc_cpp(
5576   src/proto/grpc/testing/payloads.proto
5577 )
5578 protobuf_generate_grpc_cpp(
5579   src/proto/grpc/testing/stats.proto
5580 )
5581 protobuf_generate_grpc_cpp(
5582   src/proto/grpc/testing/control.proto
5583 )
5584 protobuf_generate_grpc_cpp(
5585   src/proto/grpc/testing/benchmark_service.proto
5586 )
5587 protobuf_generate_grpc_cpp(
5588   src/proto/grpc/testing/report_qps_scenario_service.proto
5589 )
5590 protobuf_generate_grpc_cpp(
5591   src/proto/grpc/testing/worker_service.proto
5592 )
5593
5594 target_include_directories(qps
5595   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5596   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5597   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5598   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5599   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5600   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5601   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5602   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5603   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5604   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5605   PRIVATE third_party/googletest/googletest/include
5606   PRIVATE third_party/googletest/googletest
5607   PRIVATE third_party/googletest/googlemock/include
5608   PRIVATE third_party/googletest/googlemock
5609   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5610 )
5611 target_link_libraries(qps
5612   ${_gRPC_PROTOBUF_LIBRARIES}
5613   ${_gRPC_ALLTARGETS_LIBRARIES}
5614   grpc_test_util
5615   grpc++_test_util
5616   grpc++_core_stats
5617   grpc++
5618   grpc
5619   ${_gRPC_GFLAGS_LIBRARIES}
5620 )
5621
5622 endif (gRPC_BUILD_CODEGEN)
5623
5624 endif (gRPC_BUILD_TESTS)
5625 if (gRPC_BUILD_CSHARP_EXT)
5626
5627 add_library(grpc_csharp_ext SHARED
5628   src/csharp/ext/grpc_csharp_ext.c
5629 )
5630
5631 if(WIN32 AND MSVC)
5632   set_target_properties(grpc_csharp_ext PROPERTIES COMPILE_PDB_NAME "grpc_csharp_ext"
5633     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5634   )
5635   if (gRPC_INSTALL)
5636     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_csharp_ext.pdb
5637       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5638     )
5639   endif()
5640 endif()
5641
5642
5643 target_include_directories(grpc_csharp_ext
5644   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5645   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5646   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5647   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5648   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5649   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5650   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5651   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5652   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5653   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5654 )
5655   # avoid dependency on libstdc++
5656   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5657     set_target_properties(grpc_csharp_ext PROPERTIES LINKER_LANGUAGE C)
5658     # only use the flags for C++ source files
5659     target_compile_options(grpc_csharp_ext PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5660   endif()
5661 target_link_libraries(grpc_csharp_ext
5662   ${_gRPC_ALLTARGETS_LIBRARIES}
5663   grpc
5664   gpr
5665 )
5666
5667
5668
5669 if (gRPC_INSTALL)
5670   install(TARGETS grpc_csharp_ext EXPORT gRPCTargets
5671     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
5672     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
5673     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
5674   )
5675 endif()
5676
5677 endif (gRPC_BUILD_CSHARP_EXT)
5678 if (gRPC_BUILD_TESTS)
5679
5680 add_library(upb
5681   third_party/upb/google/protobuf/descriptor.upb.c
5682   third_party/upb/upb/decode.c
5683   third_party/upb/upb/def.c
5684   third_party/upb/upb/encode.c
5685   third_party/upb/upb/handlers.c
5686   third_party/upb/upb/msg.c
5687   third_party/upb/upb/msgfactory.c
5688   third_party/upb/upb/sink.c
5689   third_party/upb/upb/table.c
5690   third_party/upb/upb/upb.c
5691 )
5692
5693 if(WIN32 AND MSVC)
5694   set_target_properties(upb PROPERTIES COMPILE_PDB_NAME "upb"
5695     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5696   )
5697   if (gRPC_INSTALL)
5698     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/upb.pdb
5699       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5700     )
5701   endif()
5702 endif()
5703
5704
5705 target_include_directories(upb
5706   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5707   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5708   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5709   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5710   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5711   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5712   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5713   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5714   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5715   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5716 )
5717   # avoid dependency on libstdc++
5718   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5719     set_target_properties(upb PROPERTIES LINKER_LANGUAGE C)
5720     # only use the flags for C++ source files
5721     target_compile_options(upb PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5722   endif()
5723 target_link_libraries(upb
5724   ${_gRPC_SSL_LIBRARIES}
5725   ${_gRPC_ALLTARGETS_LIBRARIES}
5726 )
5727
5728
5729 endif (gRPC_BUILD_TESTS)
5730 if (gRPC_BUILD_TESTS)
5731
5732 add_library(bad_client_test
5733   test/core/bad_client/bad_client.cc
5734 )
5735
5736 if(WIN32 AND MSVC)
5737   set_target_properties(bad_client_test PROPERTIES COMPILE_PDB_NAME "bad_client_test"
5738     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5739   )
5740   if (gRPC_INSTALL)
5741     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bad_client_test.pdb
5742       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5743     )
5744   endif()
5745 endif()
5746
5747
5748 target_include_directories(bad_client_test
5749   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5750   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5751   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5752   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5753   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5754   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5755   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5756   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5757   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5758   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5759 )
5760   # avoid dependency on libstdc++
5761   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5762     set_target_properties(bad_client_test PROPERTIES LINKER_LANGUAGE C)
5763     # only use the flags for C++ source files
5764     target_compile_options(bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5765   endif()
5766 target_link_libraries(bad_client_test
5767   ${_gRPC_ALLTARGETS_LIBRARIES}
5768   grpc_test_util_unsecure
5769   grpc_unsecure
5770   gpr
5771 )
5772
5773
5774 endif (gRPC_BUILD_TESTS)
5775 if (gRPC_BUILD_TESTS)
5776
5777 add_library(bad_ssl_test_server
5778   test/core/bad_ssl/server_common.cc
5779 )
5780
5781 if(WIN32 AND MSVC)
5782   set_target_properties(bad_ssl_test_server PROPERTIES COMPILE_PDB_NAME "bad_ssl_test_server"
5783     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5784   )
5785   if (gRPC_INSTALL)
5786     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bad_ssl_test_server.pdb
5787       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5788     )
5789   endif()
5790 endif()
5791
5792
5793 target_include_directories(bad_ssl_test_server
5794   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5795   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5796   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5797   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5798   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5799   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5800   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5801   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5802   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5803   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5804 )
5805   # avoid dependency on libstdc++
5806   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5807     set_target_properties(bad_ssl_test_server PROPERTIES LINKER_LANGUAGE C)
5808     # only use the flags for C++ source files
5809     target_compile_options(bad_ssl_test_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5810   endif()
5811 target_link_libraries(bad_ssl_test_server
5812   ${_gRPC_ALLTARGETS_LIBRARIES}
5813   grpc_test_util
5814   grpc
5815   gpr
5816 )
5817
5818
5819 endif (gRPC_BUILD_TESTS)
5820 if (gRPC_BUILD_TESTS)
5821
5822 add_library(end2end_tests
5823   test/core/end2end/end2end_tests.cc
5824   test/core/end2end/end2end_test_utils.cc
5825   test/core/end2end/tests/authority_not_supported.cc
5826   test/core/end2end/tests/bad_hostname.cc
5827   test/core/end2end/tests/bad_ping.cc
5828   test/core/end2end/tests/binary_metadata.cc
5829   test/core/end2end/tests/call_creds.cc
5830   test/core/end2end/tests/call_host_override.cc
5831   test/core/end2end/tests/cancel_after_accept.cc
5832   test/core/end2end/tests/cancel_after_client_done.cc
5833   test/core/end2end/tests/cancel_after_invoke.cc
5834   test/core/end2end/tests/cancel_after_round_trip.cc
5835   test/core/end2end/tests/cancel_before_invoke.cc
5836   test/core/end2end/tests/cancel_in_a_vacuum.cc
5837   test/core/end2end/tests/cancel_with_status.cc
5838   test/core/end2end/tests/channelz.cc
5839   test/core/end2end/tests/compressed_payload.cc
5840   test/core/end2end/tests/connectivity.cc
5841   test/core/end2end/tests/default_host.cc
5842   test/core/end2end/tests/disappearing_server.cc
5843   test/core/end2end/tests/empty_batch.cc
5844   test/core/end2end/tests/filter_call_init_fails.cc
5845   test/core/end2end/tests/filter_causes_close.cc
5846   test/core/end2end/tests/filter_context.cc
5847   test/core/end2end/tests/filter_latency.cc
5848   test/core/end2end/tests/filter_status_code.cc
5849   test/core/end2end/tests/graceful_server_shutdown.cc
5850   test/core/end2end/tests/high_initial_seqno.cc
5851   test/core/end2end/tests/hpack_size.cc
5852   test/core/end2end/tests/idempotent_request.cc
5853   test/core/end2end/tests/invoke_large_request.cc
5854   test/core/end2end/tests/keepalive_timeout.cc
5855   test/core/end2end/tests/large_metadata.cc
5856   test/core/end2end/tests/max_concurrent_streams.cc
5857   test/core/end2end/tests/max_connection_age.cc
5858   test/core/end2end/tests/max_connection_idle.cc
5859   test/core/end2end/tests/max_message_length.cc
5860   test/core/end2end/tests/negative_deadline.cc
5861   test/core/end2end/tests/no_error_on_hotpath.cc
5862   test/core/end2end/tests/no_logging.cc
5863   test/core/end2end/tests/no_op.cc
5864   test/core/end2end/tests/payload.cc
5865   test/core/end2end/tests/ping.cc
5866   test/core/end2end/tests/ping_pong_streaming.cc
5867   test/core/end2end/tests/proxy_auth.cc
5868   test/core/end2end/tests/registered_call.cc
5869   test/core/end2end/tests/request_with_flags.cc
5870   test/core/end2end/tests/request_with_payload.cc
5871   test/core/end2end/tests/resource_quota_server.cc
5872   test/core/end2end/tests/retry.cc
5873   test/core/end2end/tests/retry_cancellation.cc
5874   test/core/end2end/tests/retry_disabled.cc
5875   test/core/end2end/tests/retry_exceeds_buffer_size_in_initial_batch.cc
5876   test/core/end2end/tests/retry_exceeds_buffer_size_in_subsequent_batch.cc
5877   test/core/end2end/tests/retry_non_retriable_status.cc
5878   test/core/end2end/tests/retry_non_retriable_status_before_recv_trailing_metadata_started.cc
5879   test/core/end2end/tests/retry_recv_initial_metadata.cc
5880   test/core/end2end/tests/retry_recv_message.cc
5881   test/core/end2end/tests/retry_server_pushback_delay.cc
5882   test/core/end2end/tests/retry_server_pushback_disabled.cc
5883   test/core/end2end/tests/retry_streaming.cc
5884   test/core/end2end/tests/retry_streaming_after_commit.cc
5885   test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc
5886   test/core/end2end/tests/retry_throttled.cc
5887   test/core/end2end/tests/retry_too_many_attempts.cc
5888   test/core/end2end/tests/server_finishes_request.cc
5889   test/core/end2end/tests/shutdown_finishes_calls.cc
5890   test/core/end2end/tests/shutdown_finishes_tags.cc
5891   test/core/end2end/tests/simple_cacheable_request.cc
5892   test/core/end2end/tests/simple_delayed_request.cc
5893   test/core/end2end/tests/simple_metadata.cc
5894   test/core/end2end/tests/simple_request.cc
5895   test/core/end2end/tests/stream_compression_compressed_payload.cc
5896   test/core/end2end/tests/stream_compression_payload.cc
5897   test/core/end2end/tests/stream_compression_ping_pong_streaming.cc
5898   test/core/end2end/tests/streaming_error_response.cc
5899   test/core/end2end/tests/trailing_metadata.cc
5900   test/core/end2end/tests/workaround_cronet_compression.cc
5901   test/core/end2end/tests/write_buffering.cc
5902   test/core/end2end/tests/write_buffering_at_end.cc
5903 )
5904
5905 if(WIN32 AND MSVC)
5906   set_target_properties(end2end_tests PROPERTIES COMPILE_PDB_NAME "end2end_tests"
5907     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5908   )
5909   if (gRPC_INSTALL)
5910     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/end2end_tests.pdb
5911       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5912     )
5913   endif()
5914 endif()
5915
5916
5917 target_include_directories(end2end_tests
5918   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5919   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5920   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5921   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5922   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5923   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5924   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5925   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5926   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5927   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5928 )
5929   # avoid dependency on libstdc++
5930   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5931     set_target_properties(end2end_tests PROPERTIES LINKER_LANGUAGE C)
5932     # only use the flags for C++ source files
5933     target_compile_options(end2end_tests PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5934   endif()
5935 target_link_libraries(end2end_tests
5936   ${_gRPC_SSL_LIBRARIES}
5937   ${_gRPC_ALLTARGETS_LIBRARIES}
5938   grpc_test_util
5939   grpc
5940   gpr
5941 )
5942
5943
5944 endif (gRPC_BUILD_TESTS)
5945 if (gRPC_BUILD_TESTS)
5946
5947 add_library(end2end_nosec_tests
5948   test/core/end2end/end2end_nosec_tests.cc
5949   test/core/end2end/end2end_test_utils.cc
5950   test/core/end2end/tests/authority_not_supported.cc
5951   test/core/end2end/tests/bad_hostname.cc
5952   test/core/end2end/tests/bad_ping.cc
5953   test/core/end2end/tests/binary_metadata.cc
5954   test/core/end2end/tests/call_host_override.cc
5955   test/core/end2end/tests/cancel_after_accept.cc
5956   test/core/end2end/tests/cancel_after_client_done.cc
5957   test/core/end2end/tests/cancel_after_invoke.cc
5958   test/core/end2end/tests/cancel_after_round_trip.cc
5959   test/core/end2end/tests/cancel_before_invoke.cc
5960   test/core/end2end/tests/cancel_in_a_vacuum.cc
5961   test/core/end2end/tests/cancel_with_status.cc
5962   test/core/end2end/tests/channelz.cc
5963   test/core/end2end/tests/compressed_payload.cc
5964   test/core/end2end/tests/connectivity.cc
5965   test/core/end2end/tests/default_host.cc
5966   test/core/end2end/tests/disappearing_server.cc
5967   test/core/end2end/tests/empty_batch.cc
5968   test/core/end2end/tests/filter_call_init_fails.cc
5969   test/core/end2end/tests/filter_causes_close.cc
5970   test/core/end2end/tests/filter_context.cc
5971   test/core/end2end/tests/filter_latency.cc
5972   test/core/end2end/tests/filter_status_code.cc
5973   test/core/end2end/tests/graceful_server_shutdown.cc
5974   test/core/end2end/tests/high_initial_seqno.cc
5975   test/core/end2end/tests/hpack_size.cc
5976   test/core/end2end/tests/idempotent_request.cc
5977   test/core/end2end/tests/invoke_large_request.cc
5978   test/core/end2end/tests/keepalive_timeout.cc
5979   test/core/end2end/tests/large_metadata.cc
5980   test/core/end2end/tests/max_concurrent_streams.cc
5981   test/core/end2end/tests/max_connection_age.cc
5982   test/core/end2end/tests/max_connection_idle.cc
5983   test/core/end2end/tests/max_message_length.cc
5984   test/core/end2end/tests/negative_deadline.cc
5985   test/core/end2end/tests/no_error_on_hotpath.cc
5986   test/core/end2end/tests/no_logging.cc
5987   test/core/end2end/tests/no_op.cc
5988   test/core/end2end/tests/payload.cc
5989   test/core/end2end/tests/ping.cc
5990   test/core/end2end/tests/ping_pong_streaming.cc
5991   test/core/end2end/tests/proxy_auth.cc
5992   test/core/end2end/tests/registered_call.cc
5993   test/core/end2end/tests/request_with_flags.cc
5994   test/core/end2end/tests/request_with_payload.cc
5995   test/core/end2end/tests/resource_quota_server.cc
5996   test/core/end2end/tests/retry.cc
5997   test/core/end2end/tests/retry_cancellation.cc
5998   test/core/end2end/tests/retry_disabled.cc
5999   test/core/end2end/tests/retry_exceeds_buffer_size_in_initial_batch.cc
6000   test/core/end2end/tests/retry_exceeds_buffer_size_in_subsequent_batch.cc
6001   test/core/end2end/tests/retry_non_retriable_status.cc
6002   test/core/end2end/tests/retry_non_retriable_status_before_recv_trailing_metadata_started.cc
6003   test/core/end2end/tests/retry_recv_initial_metadata.cc
6004   test/core/end2end/tests/retry_recv_message.cc
6005   test/core/end2end/tests/retry_server_pushback_delay.cc
6006   test/core/end2end/tests/retry_server_pushback_disabled.cc
6007   test/core/end2end/tests/retry_streaming.cc
6008   test/core/end2end/tests/retry_streaming_after_commit.cc
6009   test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc
6010   test/core/end2end/tests/retry_throttled.cc
6011   test/core/end2end/tests/retry_too_many_attempts.cc
6012   test/core/end2end/tests/server_finishes_request.cc
6013   test/core/end2end/tests/shutdown_finishes_calls.cc
6014   test/core/end2end/tests/shutdown_finishes_tags.cc
6015   test/core/end2end/tests/simple_cacheable_request.cc
6016   test/core/end2end/tests/simple_delayed_request.cc
6017   test/core/end2end/tests/simple_metadata.cc
6018   test/core/end2end/tests/simple_request.cc
6019   test/core/end2end/tests/stream_compression_compressed_payload.cc
6020   test/core/end2end/tests/stream_compression_payload.cc
6021   test/core/end2end/tests/stream_compression_ping_pong_streaming.cc
6022   test/core/end2end/tests/streaming_error_response.cc
6023   test/core/end2end/tests/trailing_metadata.cc
6024   test/core/end2end/tests/workaround_cronet_compression.cc
6025   test/core/end2end/tests/write_buffering.cc
6026   test/core/end2end/tests/write_buffering_at_end.cc
6027 )
6028
6029 if(WIN32 AND MSVC)
6030   set_target_properties(end2end_nosec_tests PROPERTIES COMPILE_PDB_NAME "end2end_nosec_tests"
6031     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
6032   )
6033   if (gRPC_INSTALL)
6034     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/end2end_nosec_tests.pdb
6035       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
6036     )
6037   endif()
6038 endif()
6039
6040
6041 target_include_directories(end2end_nosec_tests
6042   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
6043   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6044   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6045   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6046   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6047   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6048   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6049   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6050   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6051   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6052 )
6053   # avoid dependency on libstdc++
6054   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6055     set_target_properties(end2end_nosec_tests PROPERTIES LINKER_LANGUAGE C)
6056     # only use the flags for C++ source files
6057     target_compile_options(end2end_nosec_tests PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6058   endif()
6059 target_link_libraries(end2end_nosec_tests
6060   ${_gRPC_ALLTARGETS_LIBRARIES}
6061   grpc_test_util_unsecure
6062   grpc_unsecure
6063   gpr
6064 )
6065
6066
6067 endif (gRPC_BUILD_TESTS)
6068
6069 if (gRPC_BUILD_TESTS)
6070
6071 add_executable(algorithm_test
6072   test/core/compression/algorithm_test.cc
6073 )
6074
6075
6076 target_include_directories(algorithm_test
6077   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6078   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6079   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6080   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6081   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6082   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6083   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6084   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6085   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6086   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6087 )
6088
6089 target_link_libraries(algorithm_test
6090   ${_gRPC_ALLTARGETS_LIBRARIES}
6091   grpc_test_util
6092   grpc
6093   gpr
6094 )
6095
6096   # avoid dependency on libstdc++
6097   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6098     set_target_properties(algorithm_test PROPERTIES LINKER_LANGUAGE C)
6099     target_compile_options(algorithm_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6100   endif()
6101
6102 endif (gRPC_BUILD_TESTS)
6103 if (gRPC_BUILD_TESTS)
6104
6105 add_executable(alloc_test
6106   test/core/gpr/alloc_test.cc
6107 )
6108
6109
6110 target_include_directories(alloc_test
6111   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6112   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6113   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6114   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6115   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6116   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6117   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6118   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6119   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6120   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6121 )
6122
6123 target_link_libraries(alloc_test
6124   ${_gRPC_ALLTARGETS_LIBRARIES}
6125   gpr
6126   grpc_test_util_unsecure
6127   grpc_unsecure
6128 )
6129
6130   # avoid dependency on libstdc++
6131   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6132     set_target_properties(alloc_test PROPERTIES LINKER_LANGUAGE C)
6133     target_compile_options(alloc_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6134   endif()
6135
6136 endif (gRPC_BUILD_TESTS)
6137 if (gRPC_BUILD_TESTS)
6138
6139 add_executable(alpn_test
6140   test/core/transport/chttp2/alpn_test.cc
6141 )
6142
6143
6144 target_include_directories(alpn_test
6145   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6146   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6147   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6148   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6149   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6150   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6151   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6152   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6153   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6154   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6155 )
6156
6157 target_link_libraries(alpn_test
6158   ${_gRPC_ALLTARGETS_LIBRARIES}
6159   grpc_test_util
6160   grpc
6161   gpr
6162 )
6163
6164   # avoid dependency on libstdc++
6165   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6166     set_target_properties(alpn_test PROPERTIES LINKER_LANGUAGE C)
6167     target_compile_options(alpn_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6168   endif()
6169
6170 endif (gRPC_BUILD_TESTS)
6171 if (gRPC_BUILD_TESTS)
6172
6173 add_executable(arena_test
6174   test/core/gpr/arena_test.cc
6175 )
6176
6177
6178 target_include_directories(arena_test
6179   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6180   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6181   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6182   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6183   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6184   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6185   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6186   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6187   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6188   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6189 )
6190
6191 target_link_libraries(arena_test
6192   ${_gRPC_ALLTARGETS_LIBRARIES}
6193   gpr
6194   grpc_test_util_unsecure
6195   grpc_unsecure
6196 )
6197
6198   # avoid dependency on libstdc++
6199   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6200     set_target_properties(arena_test PROPERTIES LINKER_LANGUAGE C)
6201     target_compile_options(arena_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6202   endif()
6203
6204 endif (gRPC_BUILD_TESTS)
6205 if (gRPC_BUILD_TESTS)
6206
6207 add_executable(avl_test
6208   test/core/avl/avl_test.cc
6209 )
6210
6211
6212 target_include_directories(avl_test
6213   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6214   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6215   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6216   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6217   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6218   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6219   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6220   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6221   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6222   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6223 )
6224
6225 target_link_libraries(avl_test
6226   ${_gRPC_ALLTARGETS_LIBRARIES}
6227   gpr
6228   grpc_test_util
6229   grpc
6230 )
6231
6232   # avoid dependency on libstdc++
6233   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6234     set_target_properties(avl_test PROPERTIES LINKER_LANGUAGE C)
6235     target_compile_options(avl_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6236   endif()
6237
6238 endif (gRPC_BUILD_TESTS)
6239 if (gRPC_BUILD_TESTS)
6240
6241 add_executable(bad_server_response_test
6242   test/core/end2end/bad_server_response_test.cc
6243 )
6244
6245
6246 target_include_directories(bad_server_response_test
6247   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6248   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6249   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6250   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6251   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6252   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6253   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6254   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6255   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6256   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6257 )
6258
6259 target_link_libraries(bad_server_response_test
6260   ${_gRPC_ALLTARGETS_LIBRARIES}
6261   test_tcp_server
6262   grpc_test_util
6263   grpc
6264   gpr
6265 )
6266
6267   # avoid dependency on libstdc++
6268   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6269     set_target_properties(bad_server_response_test PROPERTIES LINKER_LANGUAGE C)
6270     target_compile_options(bad_server_response_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6271   endif()
6272
6273 endif (gRPC_BUILD_TESTS)
6274 if (gRPC_BUILD_TESTS)
6275
6276 add_executable(bin_decoder_test
6277   test/core/transport/chttp2/bin_decoder_test.cc
6278 )
6279
6280
6281 target_include_directories(bin_decoder_test
6282   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6283   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6284   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6285   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6286   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6287   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6288   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6289   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6290   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6291   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6292 )
6293
6294 target_link_libraries(bin_decoder_test
6295   ${_gRPC_ALLTARGETS_LIBRARIES}
6296   grpc_test_util
6297   grpc
6298 )
6299
6300   # avoid dependency on libstdc++
6301   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6302     set_target_properties(bin_decoder_test PROPERTIES LINKER_LANGUAGE C)
6303     target_compile_options(bin_decoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6304   endif()
6305
6306 endif (gRPC_BUILD_TESTS)
6307 if (gRPC_BUILD_TESTS)
6308
6309 add_executable(bin_encoder_test
6310   test/core/transport/chttp2/bin_encoder_test.cc
6311 )
6312
6313
6314 target_include_directories(bin_encoder_test
6315   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6316   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6317   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6318   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6319   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6320   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6321   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6322   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6323   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6324   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6325 )
6326
6327 target_link_libraries(bin_encoder_test
6328   ${_gRPC_ALLTARGETS_LIBRARIES}
6329   grpc_test_util
6330   grpc
6331 )
6332
6333   # avoid dependency on libstdc++
6334   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6335     set_target_properties(bin_encoder_test PROPERTIES LINKER_LANGUAGE C)
6336     target_compile_options(bin_encoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6337   endif()
6338
6339 endif (gRPC_BUILD_TESTS)
6340 if (gRPC_BUILD_TESTS)
6341 if(_gRPC_PLATFORM_LINUX)
6342
6343 add_executable(buffer_list_test
6344   test/core/iomgr/buffer_list_test.cc
6345 )
6346
6347
6348 target_include_directories(buffer_list_test
6349   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6350   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6351   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6352   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6353   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6354   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6355   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6356   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6357   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6358   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6359 )
6360
6361 target_link_libraries(buffer_list_test
6362   ${_gRPC_ALLTARGETS_LIBRARIES}
6363   grpc_test_util
6364   grpc
6365   gpr
6366 )
6367
6368   # avoid dependency on libstdc++
6369   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6370     set_target_properties(buffer_list_test PROPERTIES LINKER_LANGUAGE C)
6371     target_compile_options(buffer_list_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6372   endif()
6373
6374 endif()
6375 endif (gRPC_BUILD_TESTS)
6376 if (gRPC_BUILD_TESTS)
6377
6378 add_executable(channel_create_test
6379   test/core/surface/channel_create_test.cc
6380 )
6381
6382
6383 target_include_directories(channel_create_test
6384   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6385   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6386   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6387   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6388   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6389   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6390   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6391   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6392   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6393   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6394 )
6395
6396 target_link_libraries(channel_create_test
6397   ${_gRPC_ALLTARGETS_LIBRARIES}
6398   grpc_test_util
6399   grpc
6400   gpr
6401 )
6402
6403   # avoid dependency on libstdc++
6404   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6405     set_target_properties(channel_create_test PROPERTIES LINKER_LANGUAGE C)
6406     target_compile_options(channel_create_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6407   endif()
6408
6409 endif (gRPC_BUILD_TESTS)
6410
6411 add_executable(check_epollexclusive
6412   test/build/check_epollexclusive.c
6413 )
6414
6415
6416 target_include_directories(check_epollexclusive
6417   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6418   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6419   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6420   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6421   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6422   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6423   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6424   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6425   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6426   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6427 )
6428
6429 target_link_libraries(check_epollexclusive
6430   ${_gRPC_ALLTARGETS_LIBRARIES}
6431   grpc
6432   gpr
6433 )
6434
6435   # avoid dependency on libstdc++
6436   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6437     set_target_properties(check_epollexclusive PROPERTIES LINKER_LANGUAGE C)
6438     target_compile_options(check_epollexclusive PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6439   endif()
6440
6441 if (gRPC_BUILD_TESTS)
6442
6443 add_executable(chttp2_hpack_encoder_test
6444   test/core/transport/chttp2/hpack_encoder_test.cc
6445 )
6446
6447
6448 target_include_directories(chttp2_hpack_encoder_test
6449   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6450   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6451   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6452   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6453   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6454   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6455   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6456   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6457   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6458   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6459 )
6460
6461 target_link_libraries(chttp2_hpack_encoder_test
6462   ${_gRPC_ALLTARGETS_LIBRARIES}
6463   grpc_test_util
6464   grpc
6465   gpr
6466 )
6467
6468   # avoid dependency on libstdc++
6469   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6470     set_target_properties(chttp2_hpack_encoder_test PROPERTIES LINKER_LANGUAGE C)
6471     target_compile_options(chttp2_hpack_encoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6472   endif()
6473
6474 endif (gRPC_BUILD_TESTS)
6475 if (gRPC_BUILD_TESTS)
6476
6477 add_executable(chttp2_stream_map_test
6478   test/core/transport/chttp2/stream_map_test.cc
6479 )
6480
6481
6482 target_include_directories(chttp2_stream_map_test
6483   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6484   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6485   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6486   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6487   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6488   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6489   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6490   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6491   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6492   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6493 )
6494
6495 target_link_libraries(chttp2_stream_map_test
6496   ${_gRPC_ALLTARGETS_LIBRARIES}
6497   grpc_test_util
6498   grpc
6499   gpr
6500 )
6501
6502   # avoid dependency on libstdc++
6503   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6504     set_target_properties(chttp2_stream_map_test PROPERTIES LINKER_LANGUAGE C)
6505     target_compile_options(chttp2_stream_map_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6506   endif()
6507
6508 endif (gRPC_BUILD_TESTS)
6509 if (gRPC_BUILD_TESTS)
6510
6511 add_executable(chttp2_varint_test
6512   test/core/transport/chttp2/varint_test.cc
6513 )
6514
6515
6516 target_include_directories(chttp2_varint_test
6517   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6518   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6519   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6520   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6521   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6522   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6523   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6524   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6525   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6526   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6527 )
6528
6529 target_link_libraries(chttp2_varint_test
6530   ${_gRPC_ALLTARGETS_LIBRARIES}
6531   grpc_test_util
6532   grpc
6533   gpr
6534 )
6535
6536   # avoid dependency on libstdc++
6537   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6538     set_target_properties(chttp2_varint_test PROPERTIES LINKER_LANGUAGE C)
6539     target_compile_options(chttp2_varint_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6540   endif()
6541
6542 endif (gRPC_BUILD_TESTS)
6543 if (gRPC_BUILD_TESTS)
6544 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
6545
6546 add_executable(close_fd_test
6547   test/core/bad_connection/close_fd_test.cc
6548 )
6549
6550
6551 target_include_directories(close_fd_test
6552   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6553   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6554   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6555   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6556   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6557   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6558   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6559   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6560   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6561   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6562 )
6563
6564 target_link_libraries(close_fd_test
6565   ${_gRPC_ALLTARGETS_LIBRARIES}
6566   grpc_test_util
6567   grpc
6568   gpr
6569 )
6570
6571   # avoid dependency on libstdc++
6572   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6573     set_target_properties(close_fd_test PROPERTIES LINKER_LANGUAGE C)
6574     target_compile_options(close_fd_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6575   endif()
6576
6577 endif()
6578 endif (gRPC_BUILD_TESTS)
6579 if (gRPC_BUILD_TESTS)
6580
6581 add_executable(cmdline_test
6582   test/core/util/cmdline_test.cc
6583 )
6584
6585
6586 target_include_directories(cmdline_test
6587   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6588   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6589   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6590   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6591   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6592   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6593   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6594   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6595   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6596   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6597 )
6598
6599 target_link_libraries(cmdline_test
6600   ${_gRPC_ALLTARGETS_LIBRARIES}
6601   gpr
6602   grpc_test_util
6603   grpc
6604 )
6605
6606   # avoid dependency on libstdc++
6607   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6608     set_target_properties(cmdline_test PROPERTIES LINKER_LANGUAGE C)
6609     target_compile_options(cmdline_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6610   endif()
6611
6612 endif (gRPC_BUILD_TESTS)
6613 if (gRPC_BUILD_TESTS)
6614
6615 add_executable(combiner_test
6616   test/core/iomgr/combiner_test.cc
6617 )
6618
6619
6620 target_include_directories(combiner_test
6621   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6622   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6623   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6624   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6625   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6626   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6627   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6628   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6629   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6630   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6631 )
6632
6633 target_link_libraries(combiner_test
6634   ${_gRPC_ALLTARGETS_LIBRARIES}
6635   grpc_test_util
6636   grpc
6637   gpr
6638 )
6639
6640   # avoid dependency on libstdc++
6641   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6642     set_target_properties(combiner_test PROPERTIES LINKER_LANGUAGE C)
6643     target_compile_options(combiner_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6644   endif()
6645
6646 endif (gRPC_BUILD_TESTS)
6647 if (gRPC_BUILD_TESTS)
6648
6649 add_executable(compression_test
6650   test/core/compression/compression_test.cc
6651 )
6652
6653
6654 target_include_directories(compression_test
6655   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6656   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6657   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6658   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6659   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6660   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6661   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6662   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6663   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6664   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6665 )
6666
6667 target_link_libraries(compression_test
6668   ${_gRPC_ALLTARGETS_LIBRARIES}
6669   grpc_test_util
6670   grpc
6671   gpr
6672 )
6673
6674   # avoid dependency on libstdc++
6675   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6676     set_target_properties(compression_test PROPERTIES LINKER_LANGUAGE C)
6677     target_compile_options(compression_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6678   endif()
6679
6680 endif (gRPC_BUILD_TESTS)
6681 if (gRPC_BUILD_TESTS)
6682
6683 add_executable(concurrent_connectivity_test
6684   test/core/surface/concurrent_connectivity_test.cc
6685 )
6686
6687
6688 target_include_directories(concurrent_connectivity_test
6689   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6690   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6691   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6692   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6693   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6694   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6695   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6696   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6697   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6698   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6699 )
6700
6701 target_link_libraries(concurrent_connectivity_test
6702   ${_gRPC_ALLTARGETS_LIBRARIES}
6703   grpc_test_util
6704   grpc
6705   gpr
6706 )
6707
6708   # avoid dependency on libstdc++
6709   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6710     set_target_properties(concurrent_connectivity_test PROPERTIES LINKER_LANGUAGE C)
6711     target_compile_options(concurrent_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6712   endif()
6713
6714 endif (gRPC_BUILD_TESTS)
6715 if (gRPC_BUILD_TESTS)
6716
6717 add_executable(connection_refused_test
6718   test/core/end2end/connection_refused_test.cc
6719 )
6720
6721
6722 target_include_directories(connection_refused_test
6723   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6724   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6725   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6726   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6727   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6728   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6729   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6730   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6731   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6732   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6733 )
6734
6735 target_link_libraries(connection_refused_test
6736   ${_gRPC_ALLTARGETS_LIBRARIES}
6737   grpc_test_util
6738   grpc
6739   gpr
6740 )
6741
6742   # avoid dependency on libstdc++
6743   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6744     set_target_properties(connection_refused_test PROPERTIES LINKER_LANGUAGE C)
6745     target_compile_options(connection_refused_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6746   endif()
6747
6748 endif (gRPC_BUILD_TESTS)
6749 if (gRPC_BUILD_TESTS)
6750
6751 add_executable(dns_resolver_connectivity_test
6752   test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
6753 )
6754
6755
6756 target_include_directories(dns_resolver_connectivity_test
6757   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6758   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6759   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6760   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6761   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6762   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6763   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6764   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6765   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6766   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6767 )
6768
6769 target_link_libraries(dns_resolver_connectivity_test
6770   ${_gRPC_ALLTARGETS_LIBRARIES}
6771   grpc_test_util
6772   grpc
6773   gpr
6774 )
6775
6776   # avoid dependency on libstdc++
6777   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6778     set_target_properties(dns_resolver_connectivity_test PROPERTIES LINKER_LANGUAGE C)
6779     target_compile_options(dns_resolver_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6780   endif()
6781
6782 endif (gRPC_BUILD_TESTS)
6783 if (gRPC_BUILD_TESTS)
6784
6785 add_executable(dns_resolver_cooldown_test
6786   test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc
6787 )
6788
6789
6790 target_include_directories(dns_resolver_cooldown_test
6791   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6792   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6793   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6794   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6795   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6796   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6797   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6798   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6799   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6800   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6801 )
6802
6803 target_link_libraries(dns_resolver_cooldown_test
6804   ${_gRPC_ALLTARGETS_LIBRARIES}
6805   grpc_test_util
6806   grpc
6807   gpr
6808 )
6809
6810   # avoid dependency on libstdc++
6811   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6812     set_target_properties(dns_resolver_cooldown_test PROPERTIES LINKER_LANGUAGE C)
6813     target_compile_options(dns_resolver_cooldown_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6814   endif()
6815
6816 endif (gRPC_BUILD_TESTS)
6817 if (gRPC_BUILD_TESTS)
6818
6819 add_executable(dns_resolver_test
6820   test/core/client_channel/resolvers/dns_resolver_test.cc
6821 )
6822
6823
6824 target_include_directories(dns_resolver_test
6825   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6826   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6827   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6828   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6829   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6830   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6831   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6832   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6833   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6834   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6835 )
6836
6837 target_link_libraries(dns_resolver_test
6838   ${_gRPC_ALLTARGETS_LIBRARIES}
6839   grpc_test_util
6840   grpc
6841   gpr
6842 )
6843
6844   # avoid dependency on libstdc++
6845   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6846     set_target_properties(dns_resolver_test PROPERTIES LINKER_LANGUAGE C)
6847     target_compile_options(dns_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6848   endif()
6849
6850 endif (gRPC_BUILD_TESTS)
6851 if (gRPC_BUILD_TESTS)
6852 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
6853
6854 add_executable(dualstack_socket_test
6855   test/core/end2end/dualstack_socket_test.cc
6856 )
6857
6858
6859 target_include_directories(dualstack_socket_test
6860   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6861   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6862   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6863   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6864   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6865   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6866   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6867   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6868   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6869   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6870 )
6871
6872 target_link_libraries(dualstack_socket_test
6873   ${_gRPC_ALLTARGETS_LIBRARIES}
6874   grpc_test_util
6875   grpc
6876   gpr
6877 )
6878
6879   # avoid dependency on libstdc++
6880   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6881     set_target_properties(dualstack_socket_test PROPERTIES LINKER_LANGUAGE C)
6882     target_compile_options(dualstack_socket_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6883   endif()
6884
6885 endif()
6886 endif (gRPC_BUILD_TESTS)
6887 if (gRPC_BUILD_TESTS)
6888
6889 add_executable(endpoint_pair_test
6890   test/core/iomgr/endpoint_pair_test.cc
6891 )
6892
6893
6894 target_include_directories(endpoint_pair_test
6895   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6896   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6897   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6898   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6899   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6900   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6901   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6902   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6903   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6904   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6905 )
6906
6907 target_link_libraries(endpoint_pair_test
6908   ${_gRPC_ALLTARGETS_LIBRARIES}
6909   grpc_test_util
6910   grpc
6911   gpr
6912 )
6913
6914   # avoid dependency on libstdc++
6915   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6916     set_target_properties(endpoint_pair_test PROPERTIES LINKER_LANGUAGE C)
6917     target_compile_options(endpoint_pair_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6918   endif()
6919
6920 endif (gRPC_BUILD_TESTS)
6921 if (gRPC_BUILD_TESTS)
6922
6923 add_executable(error_test
6924   test/core/iomgr/error_test.cc
6925 )
6926
6927
6928 target_include_directories(error_test
6929   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6930   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6931   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6932   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6933   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6934   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6935   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6936   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6937   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6938   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6939 )
6940
6941 target_link_libraries(error_test
6942   ${_gRPC_ALLTARGETS_LIBRARIES}
6943   grpc_test_util
6944   grpc
6945   gpr
6946 )
6947
6948   # avoid dependency on libstdc++
6949   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6950     set_target_properties(error_test PROPERTIES LINKER_LANGUAGE C)
6951     target_compile_options(error_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6952   endif()
6953
6954 endif (gRPC_BUILD_TESTS)
6955 if (gRPC_BUILD_TESTS)
6956 if(_gRPC_PLATFORM_LINUX)
6957
6958 add_executable(ev_epollex_linux_test
6959   test/core/iomgr/ev_epollex_linux_test.cc
6960 )
6961
6962
6963 target_include_directories(ev_epollex_linux_test
6964   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6965   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6966   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6967   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6968   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6969   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6970   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6971   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6972   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6973   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6974 )
6975
6976 target_link_libraries(ev_epollex_linux_test
6977   ${_gRPC_ALLTARGETS_LIBRARIES}
6978   grpc_test_util
6979   grpc
6980   gpr
6981 )
6982
6983   # avoid dependency on libstdc++
6984   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6985     set_target_properties(ev_epollex_linux_test PROPERTIES LINKER_LANGUAGE C)
6986     target_compile_options(ev_epollex_linux_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6987   endif()
6988
6989 endif()
6990 endif (gRPC_BUILD_TESTS)
6991 if (gRPC_BUILD_TESTS)
6992
6993 add_executable(fake_resolver_test
6994   test/core/client_channel/resolvers/fake_resolver_test.cc
6995 )
6996
6997
6998 target_include_directories(fake_resolver_test
6999   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7000   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7001   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7002   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7003   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7004   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7005   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7006   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7007   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7008   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7009 )
7010
7011 target_link_libraries(fake_resolver_test
7012   ${_gRPC_ALLTARGETS_LIBRARIES}
7013   grpc_test_util
7014   grpc
7015   gpr
7016 )
7017
7018   # avoid dependency on libstdc++
7019   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7020     set_target_properties(fake_resolver_test PROPERTIES LINKER_LANGUAGE C)
7021     target_compile_options(fake_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7022   endif()
7023
7024 endif (gRPC_BUILD_TESTS)
7025 if (gRPC_BUILD_TESTS)
7026 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
7027
7028 add_executable(fake_transport_security_test
7029   test/core/tsi/fake_transport_security_test.cc
7030   test/core/tsi/transport_security_test_lib.cc
7031 )
7032
7033
7034 target_include_directories(fake_transport_security_test
7035   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7036   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7037   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7038   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7039   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7040   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7041   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7042   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7043   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7044   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7045 )
7046
7047 target_link_libraries(fake_transport_security_test
7048   ${_gRPC_ALLTARGETS_LIBRARIES}
7049   gpr
7050   grpc_test_util
7051   grpc
7052 )
7053
7054   # avoid dependency on libstdc++
7055   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7056     set_target_properties(fake_transport_security_test PROPERTIES LINKER_LANGUAGE C)
7057     target_compile_options(fake_transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7058   endif()
7059
7060 endif()
7061 endif (gRPC_BUILD_TESTS)
7062 if (gRPC_BUILD_TESTS)
7063 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
7064
7065 add_executable(fd_conservation_posix_test
7066   test/core/iomgr/fd_conservation_posix_test.cc
7067 )
7068
7069
7070 target_include_directories(fd_conservation_posix_test
7071   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7072   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7073   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7074   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7075   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7076   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7077   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7078   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7079   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7080   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7081 )
7082
7083 target_link_libraries(fd_conservation_posix_test
7084   ${_gRPC_ALLTARGETS_LIBRARIES}
7085   grpc_test_util
7086   grpc
7087   gpr
7088 )
7089
7090   # avoid dependency on libstdc++
7091   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7092     set_target_properties(fd_conservation_posix_test PROPERTIES LINKER_LANGUAGE C)
7093     target_compile_options(fd_conservation_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7094   endif()
7095
7096 endif()
7097 endif (gRPC_BUILD_TESTS)
7098 if (gRPC_BUILD_TESTS)
7099 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
7100
7101 add_executable(fd_posix_test
7102   test/core/iomgr/fd_posix_test.cc
7103 )
7104
7105
7106 target_include_directories(fd_posix_test
7107   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7108   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7109   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7110   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7111   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7112   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7113   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7114   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7115   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7116   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7117 )
7118
7119 target_link_libraries(fd_posix_test
7120   ${_gRPC_ALLTARGETS_LIBRARIES}
7121   grpc_test_util
7122   grpc
7123   gpr
7124 )
7125
7126   # avoid dependency on libstdc++
7127   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7128     set_target_properties(fd_posix_test PROPERTIES LINKER_LANGUAGE C)
7129     target_compile_options(fd_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7130   endif()
7131
7132 endif()
7133 endif (gRPC_BUILD_TESTS)
7134 if (gRPC_BUILD_TESTS)
7135
7136 add_executable(fling_client
7137   test/core/fling/client.cc
7138 )
7139
7140
7141 target_include_directories(fling_client
7142   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7143   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7144   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7145   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7146   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7147   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7148   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7149   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7150   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7151   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7152 )
7153
7154 target_link_libraries(fling_client
7155   ${_gRPC_ALLTARGETS_LIBRARIES}
7156   grpc_test_util
7157   grpc
7158   gpr
7159 )
7160
7161   # avoid dependency on libstdc++
7162   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7163     set_target_properties(fling_client PROPERTIES LINKER_LANGUAGE C)
7164     target_compile_options(fling_client PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7165   endif()
7166
7167 endif (gRPC_BUILD_TESTS)
7168 if (gRPC_BUILD_TESTS)
7169
7170 add_executable(fling_server
7171   test/core/fling/server.cc
7172 )
7173
7174
7175 target_include_directories(fling_server
7176   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7177   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7178   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7179   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7180   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7181   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7182   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7183   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7184   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7185   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7186 )
7187
7188 target_link_libraries(fling_server
7189   ${_gRPC_ALLTARGETS_LIBRARIES}
7190   grpc_test_util
7191   grpc
7192   gpr
7193 )
7194
7195   # avoid dependency on libstdc++
7196   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7197     set_target_properties(fling_server PROPERTIES LINKER_LANGUAGE C)
7198     target_compile_options(fling_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7199   endif()
7200
7201 endif (gRPC_BUILD_TESTS)
7202 if (gRPC_BUILD_TESTS)
7203 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
7204
7205 add_executable(fling_stream_test
7206   test/core/fling/fling_stream_test.cc
7207 )
7208
7209
7210 target_include_directories(fling_stream_test
7211   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7212   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7213   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7214   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7215   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7216   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7217   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7218   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7219   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7220   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7221 )
7222
7223 target_link_libraries(fling_stream_test
7224   ${_gRPC_ALLTARGETS_LIBRARIES}
7225   grpc_test_util
7226   grpc
7227   gpr
7228 )
7229
7230   # avoid dependency on libstdc++
7231   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7232     set_target_properties(fling_stream_test PROPERTIES LINKER_LANGUAGE C)
7233     target_compile_options(fling_stream_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7234   endif()
7235
7236 endif()
7237 endif (gRPC_BUILD_TESTS)
7238 if (gRPC_BUILD_TESTS)
7239 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
7240
7241 add_executable(fling_test
7242   test/core/fling/fling_test.cc
7243 )
7244
7245
7246 target_include_directories(fling_test
7247   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7248   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7249   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7250   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7251   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7252   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7253   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7254   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7255   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7256   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7257 )
7258
7259 target_link_libraries(fling_test
7260   ${_gRPC_ALLTARGETS_LIBRARIES}
7261   grpc_test_util
7262   grpc
7263   gpr
7264 )
7265
7266   # avoid dependency on libstdc++
7267   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7268     set_target_properties(fling_test PROPERTIES LINKER_LANGUAGE C)
7269     target_compile_options(fling_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7270   endif()
7271
7272 endif()
7273 endif (gRPC_BUILD_TESTS)
7274 if (gRPC_BUILD_TESTS)
7275 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC)
7276
7277 add_executable(fork_test
7278   test/core/gprpp/fork_test.cc
7279 )
7280
7281
7282 target_include_directories(fork_test
7283   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7284   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7285   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7286   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7287   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7288   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7289   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7290   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7291   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7292   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7293 )
7294
7295 target_link_libraries(fork_test
7296   ${_gRPC_ALLTARGETS_LIBRARIES}
7297   gpr
7298   grpc_test_util_unsecure
7299   grpc_unsecure
7300 )
7301
7302   # avoid dependency on libstdc++
7303   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7304     set_target_properties(fork_test PROPERTIES LINKER_LANGUAGE C)
7305     target_compile_options(fork_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7306   endif()
7307
7308 endif()
7309 endif (gRPC_BUILD_TESTS)
7310 if (gRPC_BUILD_TESTS)
7311 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
7312
7313 add_executable(goaway_server_test
7314   test/core/end2end/goaway_server_test.cc
7315 )
7316
7317
7318 target_include_directories(goaway_server_test
7319   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7320   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7321   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7322   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7323   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7324   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7325   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7326   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7327   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7328   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7329 )
7330
7331 target_link_libraries(goaway_server_test
7332   ${_gRPC_ALLTARGETS_LIBRARIES}
7333   grpc_test_util
7334   grpc
7335   gpr
7336 )
7337
7338   # avoid dependency on libstdc++
7339   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7340     set_target_properties(goaway_server_test PROPERTIES LINKER_LANGUAGE C)
7341     target_compile_options(goaway_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7342   endif()
7343
7344 endif()
7345 endif (gRPC_BUILD_TESTS)
7346 if (gRPC_BUILD_TESTS)
7347
7348 add_executable(gpr_cpu_test
7349   test/core/gpr/cpu_test.cc
7350 )
7351
7352
7353 target_include_directories(gpr_cpu_test
7354   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7355   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7356   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7357   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7358   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7359   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7360   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7361   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7362   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7363   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7364 )
7365
7366 target_link_libraries(gpr_cpu_test
7367   ${_gRPC_ALLTARGETS_LIBRARIES}
7368   gpr
7369   grpc_test_util_unsecure
7370   grpc_unsecure
7371 )
7372
7373   # avoid dependency on libstdc++
7374   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7375     set_target_properties(gpr_cpu_test PROPERTIES LINKER_LANGUAGE C)
7376     target_compile_options(gpr_cpu_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7377   endif()
7378
7379 endif (gRPC_BUILD_TESTS)
7380 if (gRPC_BUILD_TESTS)
7381
7382 add_executable(gpr_env_test
7383   test/core/gpr/env_test.cc
7384 )
7385
7386
7387 target_include_directories(gpr_env_test
7388   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7389   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7390   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7391   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7392   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7393   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7394   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7395   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7396   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7397   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7398 )
7399
7400 target_link_libraries(gpr_env_test
7401   ${_gRPC_ALLTARGETS_LIBRARIES}
7402   gpr
7403   grpc_test_util_unsecure
7404   grpc_unsecure
7405 )
7406
7407   # avoid dependency on libstdc++
7408   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7409     set_target_properties(gpr_env_test PROPERTIES LINKER_LANGUAGE C)
7410     target_compile_options(gpr_env_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7411   endif()
7412
7413 endif (gRPC_BUILD_TESTS)
7414 if (gRPC_BUILD_TESTS)
7415
7416 add_executable(gpr_host_port_test
7417   test/core/gpr/host_port_test.cc
7418 )
7419
7420
7421 target_include_directories(gpr_host_port_test
7422   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7423   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7424   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7425   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7426   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7427   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7428   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7429   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7430   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7431   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7432 )
7433
7434 target_link_libraries(gpr_host_port_test
7435   ${_gRPC_ALLTARGETS_LIBRARIES}
7436   gpr
7437   grpc_test_util_unsecure
7438   grpc_unsecure
7439 )
7440
7441   # avoid dependency on libstdc++
7442   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7443     set_target_properties(gpr_host_port_test PROPERTIES LINKER_LANGUAGE C)
7444     target_compile_options(gpr_host_port_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7445   endif()
7446
7447 endif (gRPC_BUILD_TESTS)
7448 if (gRPC_BUILD_TESTS)
7449
7450 add_executable(gpr_log_test
7451   test/core/gpr/log_test.cc
7452 )
7453
7454
7455 target_include_directories(gpr_log_test
7456   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7457   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7458   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7459   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7460   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7461   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7462   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7463   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7464   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7465   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7466 )
7467
7468 target_link_libraries(gpr_log_test
7469   ${_gRPC_ALLTARGETS_LIBRARIES}
7470   gpr
7471   grpc_test_util_unsecure
7472   grpc_unsecure
7473 )
7474
7475   # avoid dependency on libstdc++
7476   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7477     set_target_properties(gpr_log_test PROPERTIES LINKER_LANGUAGE C)
7478     target_compile_options(gpr_log_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7479   endif()
7480
7481 endif (gRPC_BUILD_TESTS)
7482 if (gRPC_BUILD_TESTS)
7483
7484 add_executable(gpr_manual_constructor_test
7485   test/core/gprpp/manual_constructor_test.cc
7486 )
7487
7488
7489 target_include_directories(gpr_manual_constructor_test
7490   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7491   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7492   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7493   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7494   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7495   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7496   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7497   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7498   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7499   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7500 )
7501
7502 target_link_libraries(gpr_manual_constructor_test
7503   ${_gRPC_ALLTARGETS_LIBRARIES}
7504   gpr
7505   grpc_test_util_unsecure
7506   grpc_unsecure
7507 )
7508
7509   # avoid dependency on libstdc++
7510   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7511     set_target_properties(gpr_manual_constructor_test PROPERTIES LINKER_LANGUAGE C)
7512     target_compile_options(gpr_manual_constructor_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7513   endif()
7514
7515 endif (gRPC_BUILD_TESTS)
7516 if (gRPC_BUILD_TESTS)
7517
7518 add_executable(gpr_mpscq_test
7519   test/core/gpr/mpscq_test.cc
7520 )
7521
7522
7523 target_include_directories(gpr_mpscq_test
7524   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7525   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7526   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7527   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7528   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7529   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7530   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7531   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7532   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7533   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7534 )
7535
7536 target_link_libraries(gpr_mpscq_test
7537   ${_gRPC_ALLTARGETS_LIBRARIES}
7538   gpr
7539   grpc_test_util_unsecure
7540   grpc_unsecure
7541 )
7542
7543   # avoid dependency on libstdc++
7544   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7545     set_target_properties(gpr_mpscq_test PROPERTIES LINKER_LANGUAGE C)
7546     target_compile_options(gpr_mpscq_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7547   endif()
7548
7549 endif (gRPC_BUILD_TESTS)
7550 if (gRPC_BUILD_TESTS)
7551
7552 add_executable(gpr_spinlock_test
7553   test/core/gpr/spinlock_test.cc
7554 )
7555
7556
7557 target_include_directories(gpr_spinlock_test
7558   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7559   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7560   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7561   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7562   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7563   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7564   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7565   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7566   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7567   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7568 )
7569
7570 target_link_libraries(gpr_spinlock_test
7571   ${_gRPC_ALLTARGETS_LIBRARIES}
7572   gpr
7573   grpc_test_util_unsecure
7574   grpc_unsecure
7575 )
7576
7577   # avoid dependency on libstdc++
7578   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7579     set_target_properties(gpr_spinlock_test PROPERTIES LINKER_LANGUAGE C)
7580     target_compile_options(gpr_spinlock_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7581   endif()
7582
7583 endif (gRPC_BUILD_TESTS)
7584 if (gRPC_BUILD_TESTS)
7585
7586 add_executable(gpr_string_test
7587   test/core/gpr/string_test.cc
7588 )
7589
7590
7591 target_include_directories(gpr_string_test
7592   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7593   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7594   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7595   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7596   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7597   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7598   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7599   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7600   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7601   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7602 )
7603
7604 target_link_libraries(gpr_string_test
7605   ${_gRPC_ALLTARGETS_LIBRARIES}
7606   gpr
7607   grpc_test_util_unsecure
7608   grpc_unsecure
7609 )
7610
7611   # avoid dependency on libstdc++
7612   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7613     set_target_properties(gpr_string_test PROPERTIES LINKER_LANGUAGE C)
7614     target_compile_options(gpr_string_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7615   endif()
7616
7617 endif (gRPC_BUILD_TESTS)
7618 if (gRPC_BUILD_TESTS)
7619
7620 add_executable(gpr_sync_test
7621   test/core/gpr/sync_test.cc
7622 )
7623
7624
7625 target_include_directories(gpr_sync_test
7626   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7627   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7628   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7629   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7630   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7631   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7632   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7633   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7634   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7635   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7636 )
7637
7638 target_link_libraries(gpr_sync_test
7639   ${_gRPC_ALLTARGETS_LIBRARIES}
7640   gpr
7641   grpc_test_util_unsecure
7642   grpc_unsecure
7643 )
7644
7645   # avoid dependency on libstdc++
7646   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7647     set_target_properties(gpr_sync_test PROPERTIES LINKER_LANGUAGE C)
7648     target_compile_options(gpr_sync_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7649   endif()
7650
7651 endif (gRPC_BUILD_TESTS)
7652 if (gRPC_BUILD_TESTS)
7653
7654 add_executable(gpr_thd_test
7655   test/core/gprpp/thd_test.cc
7656 )
7657
7658
7659 target_include_directories(gpr_thd_test
7660   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7661   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7662   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7663   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7664   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7665   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7666   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7667   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7668   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7669   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7670 )
7671
7672 target_link_libraries(gpr_thd_test
7673   ${_gRPC_ALLTARGETS_LIBRARIES}
7674   gpr
7675   grpc_test_util_unsecure
7676   grpc_unsecure
7677 )
7678
7679   # avoid dependency on libstdc++
7680   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7681     set_target_properties(gpr_thd_test PROPERTIES LINKER_LANGUAGE C)
7682     target_compile_options(gpr_thd_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7683   endif()
7684
7685 endif (gRPC_BUILD_TESTS)
7686 if (gRPC_BUILD_TESTS)
7687
7688 add_executable(gpr_time_test
7689   test/core/gpr/time_test.cc
7690 )
7691
7692
7693 target_include_directories(gpr_time_test
7694   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7695   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7696   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7697   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7698   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7699   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7700   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7701   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7702   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7703   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7704 )
7705
7706 target_link_libraries(gpr_time_test
7707   ${_gRPC_ALLTARGETS_LIBRARIES}
7708   gpr
7709   grpc_test_util_unsecure
7710   grpc_unsecure
7711 )
7712
7713   # avoid dependency on libstdc++
7714   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7715     set_target_properties(gpr_time_test PROPERTIES LINKER_LANGUAGE C)
7716     target_compile_options(gpr_time_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7717   endif()
7718
7719 endif (gRPC_BUILD_TESTS)
7720 if (gRPC_BUILD_TESTS)
7721
7722 add_executable(gpr_tls_test
7723   test/core/gpr/tls_test.cc
7724 )
7725
7726
7727 target_include_directories(gpr_tls_test
7728   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7729   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7730   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7731   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7732   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7733   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7734   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7735   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7736   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7737   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7738 )
7739
7740 target_link_libraries(gpr_tls_test
7741   ${_gRPC_ALLTARGETS_LIBRARIES}
7742   gpr
7743   grpc_test_util_unsecure
7744   grpc_unsecure
7745 )
7746
7747   # avoid dependency on libstdc++
7748   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7749     set_target_properties(gpr_tls_test PROPERTIES LINKER_LANGUAGE C)
7750     target_compile_options(gpr_tls_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7751   endif()
7752
7753 endif (gRPC_BUILD_TESTS)
7754 if (gRPC_BUILD_TESTS)
7755
7756 add_executable(gpr_useful_test
7757   test/core/gpr/useful_test.cc
7758 )
7759
7760
7761 target_include_directories(gpr_useful_test
7762   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7763   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7764   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7765   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7766   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7767   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7768   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7769   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7770   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7771   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7772 )
7773
7774 target_link_libraries(gpr_useful_test
7775   ${_gRPC_ALLTARGETS_LIBRARIES}
7776   gpr
7777   grpc_test_util_unsecure
7778   grpc_unsecure
7779 )
7780
7781   # avoid dependency on libstdc++
7782   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7783     set_target_properties(gpr_useful_test PROPERTIES LINKER_LANGUAGE C)
7784     target_compile_options(gpr_useful_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7785   endif()
7786
7787 endif (gRPC_BUILD_TESTS)
7788 if (gRPC_BUILD_TESTS)
7789
7790 add_executable(grpc_auth_context_test
7791   test/core/security/auth_context_test.cc
7792 )
7793
7794
7795 target_include_directories(grpc_auth_context_test
7796   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7797   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7798   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7799   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7800   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7801   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7802   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7803   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7804   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7805   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7806 )
7807
7808 target_link_libraries(grpc_auth_context_test
7809   ${_gRPC_ALLTARGETS_LIBRARIES}
7810   grpc_test_util
7811   grpc
7812   gpr
7813 )
7814
7815   # avoid dependency on libstdc++
7816   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7817     set_target_properties(grpc_auth_context_test PROPERTIES LINKER_LANGUAGE C)
7818     target_compile_options(grpc_auth_context_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7819   endif()
7820
7821 endif (gRPC_BUILD_TESTS)
7822 if (gRPC_BUILD_TESTS)
7823
7824 add_executable(grpc_b64_test
7825   test/core/slice/b64_test.cc
7826 )
7827
7828
7829 target_include_directories(grpc_b64_test
7830   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7831   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7832   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7833   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7834   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7835   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7836   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7837   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7838   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7839   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7840 )
7841
7842 target_link_libraries(grpc_b64_test
7843   ${_gRPC_ALLTARGETS_LIBRARIES}
7844   grpc_test_util
7845   grpc
7846   gpr
7847 )
7848
7849   # avoid dependency on libstdc++
7850   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7851     set_target_properties(grpc_b64_test PROPERTIES LINKER_LANGUAGE C)
7852     target_compile_options(grpc_b64_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7853   endif()
7854
7855 endif (gRPC_BUILD_TESTS)
7856 if (gRPC_BUILD_TESTS)
7857
7858 add_executable(grpc_byte_buffer_reader_test
7859   test/core/surface/byte_buffer_reader_test.cc
7860 )
7861
7862
7863 target_include_directories(grpc_byte_buffer_reader_test
7864   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7865   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7866   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7867   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7868   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7869   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7870   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7871   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7872   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7873   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7874 )
7875
7876 target_link_libraries(grpc_byte_buffer_reader_test
7877   ${_gRPC_ALLTARGETS_LIBRARIES}
7878   grpc_test_util
7879   grpc
7880   gpr
7881 )
7882
7883   # avoid dependency on libstdc++
7884   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7885     set_target_properties(grpc_byte_buffer_reader_test PROPERTIES LINKER_LANGUAGE C)
7886     target_compile_options(grpc_byte_buffer_reader_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7887   endif()
7888
7889 endif (gRPC_BUILD_TESTS)
7890 if (gRPC_BUILD_TESTS)
7891
7892 add_executable(grpc_channel_args_test
7893   test/core/channel/channel_args_test.cc
7894 )
7895
7896
7897 target_include_directories(grpc_channel_args_test
7898   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7899   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7900   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7901   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7902   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7903   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7904   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7905   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7906   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7907   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7908 )
7909
7910 target_link_libraries(grpc_channel_args_test
7911   ${_gRPC_ALLTARGETS_LIBRARIES}
7912   grpc_test_util
7913   grpc
7914   gpr
7915 )
7916
7917   # avoid dependency on libstdc++
7918   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7919     set_target_properties(grpc_channel_args_test PROPERTIES LINKER_LANGUAGE C)
7920     target_compile_options(grpc_channel_args_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7921   endif()
7922
7923 endif (gRPC_BUILD_TESTS)
7924 if (gRPC_BUILD_TESTS)
7925
7926 add_executable(grpc_channel_stack_builder_test
7927   test/core/channel/channel_stack_builder_test.cc
7928 )
7929
7930
7931 target_include_directories(grpc_channel_stack_builder_test
7932   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7933   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7934   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7935   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7936   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7937   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7938   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7939   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7940   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7941   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7942 )
7943
7944 target_link_libraries(grpc_channel_stack_builder_test
7945   ${_gRPC_ALLTARGETS_LIBRARIES}
7946   grpc_test_util
7947   grpc
7948   gpr
7949 )
7950
7951   # avoid dependency on libstdc++
7952   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7953     set_target_properties(grpc_channel_stack_builder_test PROPERTIES LINKER_LANGUAGE C)
7954     target_compile_options(grpc_channel_stack_builder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7955   endif()
7956
7957 endif (gRPC_BUILD_TESTS)
7958 if (gRPC_BUILD_TESTS)
7959
7960 add_executable(grpc_channel_stack_test
7961   test/core/channel/channel_stack_test.cc
7962 )
7963
7964
7965 target_include_directories(grpc_channel_stack_test
7966   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7967   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7968   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7969   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7970   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7971   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7972   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7973   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7974   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7975   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7976 )
7977
7978 target_link_libraries(grpc_channel_stack_test
7979   ${_gRPC_ALLTARGETS_LIBRARIES}
7980   grpc_test_util
7981   grpc
7982   gpr
7983 )
7984
7985   # avoid dependency on libstdc++
7986   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7987     set_target_properties(grpc_channel_stack_test PROPERTIES LINKER_LANGUAGE C)
7988     target_compile_options(grpc_channel_stack_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7989   endif()
7990
7991 endif (gRPC_BUILD_TESTS)
7992 if (gRPC_BUILD_TESTS)
7993
7994 add_executable(grpc_completion_queue_test
7995   test/core/surface/completion_queue_test.cc
7996 )
7997
7998
7999 target_include_directories(grpc_completion_queue_test
8000   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8001   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8002   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8003   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8004   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8005   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8006   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8007   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8008   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8009   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8010 )
8011
8012 target_link_libraries(grpc_completion_queue_test
8013   ${_gRPC_ALLTARGETS_LIBRARIES}
8014   grpc_test_util
8015   grpc
8016   gpr
8017 )
8018
8019   # avoid dependency on libstdc++
8020   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8021     set_target_properties(grpc_completion_queue_test PROPERTIES LINKER_LANGUAGE C)
8022     target_compile_options(grpc_completion_queue_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8023   endif()
8024
8025 endif (gRPC_BUILD_TESTS)
8026 if (gRPC_BUILD_TESTS)
8027
8028 add_executable(grpc_completion_queue_threading_test
8029   test/core/surface/completion_queue_threading_test.cc
8030 )
8031
8032
8033 target_include_directories(grpc_completion_queue_threading_test
8034   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8035   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8036   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8037   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8038   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8039   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8040   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8041   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8042   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8043   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8044 )
8045
8046 target_link_libraries(grpc_completion_queue_threading_test
8047   ${_gRPC_ALLTARGETS_LIBRARIES}
8048   grpc_test_util
8049   grpc
8050   gpr
8051 )
8052
8053   # avoid dependency on libstdc++
8054   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8055     set_target_properties(grpc_completion_queue_threading_test PROPERTIES LINKER_LANGUAGE C)
8056     target_compile_options(grpc_completion_queue_threading_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8057   endif()
8058
8059 endif (gRPC_BUILD_TESTS)
8060
8061 add_executable(grpc_create_jwt
8062   test/core/security/create_jwt.cc
8063   test/core/util/cmdline.cc
8064 )
8065
8066
8067 target_include_directories(grpc_create_jwt
8068   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8069   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8070   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8071   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8072   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8073   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8074   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8075   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8076   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8077   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8078 )
8079
8080 target_link_libraries(grpc_create_jwt
8081   ${_gRPC_SSL_LIBRARIES}
8082   ${_gRPC_ALLTARGETS_LIBRARIES}
8083   grpc
8084   gpr
8085 )
8086
8087   # avoid dependency on libstdc++
8088   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8089     set_target_properties(grpc_create_jwt PROPERTIES LINKER_LANGUAGE C)
8090     target_compile_options(grpc_create_jwt PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8091   endif()
8092
8093 if (gRPC_BUILD_TESTS)
8094
8095 add_executable(grpc_credentials_test
8096   test/core/security/credentials_test.cc
8097 )
8098
8099
8100 target_include_directories(grpc_credentials_test
8101   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8102   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8103   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8104   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8105   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8106   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8107   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8108   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8109   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8110   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8111 )
8112
8113 target_link_libraries(grpc_credentials_test
8114   ${_gRPC_ALLTARGETS_LIBRARIES}
8115   grpc_test_util
8116   grpc
8117   gpr
8118 )
8119
8120   # avoid dependency on libstdc++
8121   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8122     set_target_properties(grpc_credentials_test PROPERTIES LINKER_LANGUAGE C)
8123     target_compile_options(grpc_credentials_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8124   endif()
8125
8126 endif (gRPC_BUILD_TESTS)
8127 if (gRPC_BUILD_TESTS)
8128
8129 add_executable(grpc_fetch_oauth2
8130   test/core/security/fetch_oauth2.cc
8131 )
8132
8133
8134 target_include_directories(grpc_fetch_oauth2
8135   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8136   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8137   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8138   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8139   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8140   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8141   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8142   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8143   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8144   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8145 )
8146
8147 target_link_libraries(grpc_fetch_oauth2
8148   ${_gRPC_ALLTARGETS_LIBRARIES}
8149   grpc_test_util
8150   grpc
8151   gpr
8152 )
8153
8154   # avoid dependency on libstdc++
8155   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8156     set_target_properties(grpc_fetch_oauth2 PROPERTIES LINKER_LANGUAGE C)
8157     target_compile_options(grpc_fetch_oauth2 PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8158   endif()
8159
8160 endif (gRPC_BUILD_TESTS)
8161 if (gRPC_BUILD_TESTS)
8162
8163 add_executable(grpc_ipv6_loopback_available_test
8164   test/core/iomgr/grpc_ipv6_loopback_available_test.cc
8165 )
8166
8167
8168 target_include_directories(grpc_ipv6_loopback_available_test
8169   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8170   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8171   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8172   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8173   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8174   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8175   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8176   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8177   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8178   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8179 )
8180
8181 target_link_libraries(grpc_ipv6_loopback_available_test
8182   ${_gRPC_ALLTARGETS_LIBRARIES}
8183   grpc_test_util
8184   grpc
8185   gpr
8186 )
8187
8188   # avoid dependency on libstdc++
8189   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8190     set_target_properties(grpc_ipv6_loopback_available_test PROPERTIES LINKER_LANGUAGE C)
8191     target_compile_options(grpc_ipv6_loopback_available_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8192   endif()
8193
8194 endif (gRPC_BUILD_TESTS)
8195 if (gRPC_BUILD_TESTS)
8196 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
8197
8198 add_executable(grpc_json_token_test
8199   test/core/security/json_token_test.cc
8200 )
8201
8202
8203 target_include_directories(grpc_json_token_test
8204   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8205   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8206   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8207   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8208   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8209   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8210   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8211   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8212   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8213   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8214 )
8215
8216 target_link_libraries(grpc_json_token_test
8217   ${_gRPC_ALLTARGETS_LIBRARIES}
8218   grpc_test_util
8219   grpc
8220   gpr
8221 )
8222
8223   # avoid dependency on libstdc++
8224   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8225     set_target_properties(grpc_json_token_test PROPERTIES LINKER_LANGUAGE C)
8226     target_compile_options(grpc_json_token_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8227   endif()
8228
8229 endif()
8230 endif (gRPC_BUILD_TESTS)
8231 if (gRPC_BUILD_TESTS)
8232
8233 add_executable(grpc_jwt_verifier_test
8234   test/core/security/jwt_verifier_test.cc
8235 )
8236
8237
8238 target_include_directories(grpc_jwt_verifier_test
8239   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8240   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8241   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8242   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8243   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8244   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8245   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8246   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8247   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8248   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8249 )
8250
8251 target_link_libraries(grpc_jwt_verifier_test
8252   ${_gRPC_ALLTARGETS_LIBRARIES}
8253   grpc_test_util
8254   grpc
8255   gpr
8256 )
8257
8258   # avoid dependency on libstdc++
8259   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8260     set_target_properties(grpc_jwt_verifier_test PROPERTIES LINKER_LANGUAGE C)
8261     target_compile_options(grpc_jwt_verifier_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8262   endif()
8263
8264 endif (gRPC_BUILD_TESTS)
8265
8266 add_executable(grpc_print_google_default_creds_token
8267   test/core/security/print_google_default_creds_token.cc
8268   test/core/util/cmdline.cc
8269 )
8270
8271
8272 target_include_directories(grpc_print_google_default_creds_token
8273   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8274   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8275   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8276   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8277   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8278   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8279   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8280   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8281   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8282   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8283 )
8284
8285 target_link_libraries(grpc_print_google_default_creds_token
8286   ${_gRPC_ALLTARGETS_LIBRARIES}
8287   grpc
8288   gpr
8289 )
8290
8291   # avoid dependency on libstdc++
8292   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8293     set_target_properties(grpc_print_google_default_creds_token PROPERTIES LINKER_LANGUAGE C)
8294     target_compile_options(grpc_print_google_default_creds_token PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8295   endif()
8296
8297 if (gRPC_BUILD_TESTS)
8298
8299 add_executable(grpc_security_connector_test
8300   test/core/security/security_connector_test.cc
8301 )
8302
8303
8304 target_include_directories(grpc_security_connector_test
8305   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8306   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8307   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8308   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8309   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8310   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8311   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8312   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8313   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8314   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8315 )
8316
8317 target_link_libraries(grpc_security_connector_test
8318   ${_gRPC_ALLTARGETS_LIBRARIES}
8319   grpc_test_util
8320   grpc
8321   gpr
8322 )
8323
8324   # avoid dependency on libstdc++
8325   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8326     set_target_properties(grpc_security_connector_test PROPERTIES LINKER_LANGUAGE C)
8327     target_compile_options(grpc_security_connector_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8328   endif()
8329
8330 endif (gRPC_BUILD_TESTS)
8331 if (gRPC_BUILD_TESTS)
8332
8333 add_executable(grpc_ssl_credentials_test
8334   test/core/security/ssl_credentials_test.cc
8335 )
8336
8337
8338 target_include_directories(grpc_ssl_credentials_test
8339   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8340   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8341   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8342   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8343   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8344   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8345   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8346   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8347   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8348   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8349 )
8350
8351 target_link_libraries(grpc_ssl_credentials_test
8352   ${_gRPC_ALLTARGETS_LIBRARIES}
8353   grpc_test_util
8354   grpc
8355   gpr
8356 )
8357
8358   # avoid dependency on libstdc++
8359   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8360     set_target_properties(grpc_ssl_credentials_test PROPERTIES LINKER_LANGUAGE C)
8361     target_compile_options(grpc_ssl_credentials_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8362   endif()
8363
8364 endif (gRPC_BUILD_TESTS)
8365
8366 add_executable(grpc_verify_jwt
8367   test/core/security/verify_jwt.cc
8368   test/core/util/cmdline.cc
8369 )
8370
8371
8372 target_include_directories(grpc_verify_jwt
8373   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8374   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8375   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8376   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8377   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8378   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8379   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8380   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8381   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8382   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8383 )
8384
8385 target_link_libraries(grpc_verify_jwt
8386   ${_gRPC_ALLTARGETS_LIBRARIES}
8387   grpc
8388   gpr
8389 )
8390
8391   # avoid dependency on libstdc++
8392   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8393     set_target_properties(grpc_verify_jwt PROPERTIES LINKER_LANGUAGE C)
8394     target_compile_options(grpc_verify_jwt PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8395   endif()
8396
8397 if (gRPC_BUILD_TESTS)
8398 if(_gRPC_PLATFORM_LINUX)
8399
8400 add_executable(handshake_client_ssl
8401   test/core/handshake/client_ssl.cc
8402 )
8403
8404
8405 target_include_directories(handshake_client_ssl
8406   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8407   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8408   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8409   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8410   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8411   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8412   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8413   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8414   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8415   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8416 )
8417
8418 target_link_libraries(handshake_client_ssl
8419   ${_gRPC_SSL_LIBRARIES}
8420   ${_gRPC_ALLTARGETS_LIBRARIES}
8421   grpc_test_util
8422   grpc
8423   gpr
8424 )
8425
8426   # avoid dependency on libstdc++
8427   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8428     set_target_properties(handshake_client_ssl PROPERTIES LINKER_LANGUAGE C)
8429     target_compile_options(handshake_client_ssl PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8430   endif()
8431
8432 endif()
8433 endif (gRPC_BUILD_TESTS)
8434 if (gRPC_BUILD_TESTS)
8435 if(_gRPC_PLATFORM_LINUX)
8436
8437 add_executable(handshake_server_ssl
8438   test/core/handshake/server_ssl.cc
8439   test/core/handshake/server_ssl_common.cc
8440 )
8441
8442
8443 target_include_directories(handshake_server_ssl
8444   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8445   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8446   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8447   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8448   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8449   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8450   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8451   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8452   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8453   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8454 )
8455
8456 target_link_libraries(handshake_server_ssl
8457   ${_gRPC_SSL_LIBRARIES}
8458   ${_gRPC_ALLTARGETS_LIBRARIES}
8459   grpc_test_util
8460   grpc
8461   gpr
8462 )
8463
8464   # avoid dependency on libstdc++
8465   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8466     set_target_properties(handshake_server_ssl PROPERTIES LINKER_LANGUAGE C)
8467     target_compile_options(handshake_server_ssl PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8468   endif()
8469
8470 endif()
8471 endif (gRPC_BUILD_TESTS)
8472 if (gRPC_BUILD_TESTS)
8473 if(_gRPC_PLATFORM_LINUX)
8474
8475 add_executable(handshake_server_with_readahead_handshaker
8476   test/core/handshake/readahead_handshaker_server_ssl.cc
8477   test/core/handshake/server_ssl_common.cc
8478 )
8479
8480
8481 target_include_directories(handshake_server_with_readahead_handshaker
8482   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8483   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8484   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8485   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8486   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8487   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8488   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8489   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8490   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8491   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8492 )
8493
8494 target_link_libraries(handshake_server_with_readahead_handshaker
8495   ${_gRPC_SSL_LIBRARIES}
8496   ${_gRPC_ALLTARGETS_LIBRARIES}
8497   grpc_test_util
8498   grpc
8499   gpr
8500 )
8501
8502   # avoid dependency on libstdc++
8503   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8504     set_target_properties(handshake_server_with_readahead_handshaker PROPERTIES LINKER_LANGUAGE C)
8505     target_compile_options(handshake_server_with_readahead_handshaker PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8506   endif()
8507
8508 endif()
8509 endif (gRPC_BUILD_TESTS)
8510 if (gRPC_BUILD_TESTS)
8511 if(_gRPC_PLATFORM_LINUX)
8512
8513 add_executable(handshake_verify_peer_options
8514   test/core/handshake/verify_peer_options.cc
8515 )
8516
8517
8518 target_include_directories(handshake_verify_peer_options
8519   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8520   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8521   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8522   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8523   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8524   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8525   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8526   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8527   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8528   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8529 )
8530
8531 target_link_libraries(handshake_verify_peer_options
8532   ${_gRPC_SSL_LIBRARIES}
8533   ${_gRPC_ALLTARGETS_LIBRARIES}
8534   grpc_test_util
8535   grpc
8536   gpr
8537 )
8538
8539   # avoid dependency on libstdc++
8540   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8541     set_target_properties(handshake_verify_peer_options PROPERTIES LINKER_LANGUAGE C)
8542     target_compile_options(handshake_verify_peer_options PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8543   endif()
8544
8545 endif()
8546 endif (gRPC_BUILD_TESTS)
8547 if (gRPC_BUILD_TESTS)
8548
8549 add_executable(histogram_test
8550   test/core/util/histogram_test.cc
8551 )
8552
8553
8554 target_include_directories(histogram_test
8555   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8556   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8557   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8558   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8559   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8560   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8561   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8562   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8563   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8564   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8565 )
8566
8567 target_link_libraries(histogram_test
8568   ${_gRPC_ALLTARGETS_LIBRARIES}
8569   grpc_test_util
8570   gpr
8571 )
8572
8573   # avoid dependency on libstdc++
8574   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8575     set_target_properties(histogram_test PROPERTIES LINKER_LANGUAGE C)
8576     target_compile_options(histogram_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8577   endif()
8578
8579 endif (gRPC_BUILD_TESTS)
8580 if (gRPC_BUILD_TESTS)
8581
8582 add_executable(hpack_parser_test
8583   test/core/transport/chttp2/hpack_parser_test.cc
8584 )
8585
8586
8587 target_include_directories(hpack_parser_test
8588   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8589   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8590   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8591   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8592   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8593   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8594   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8595   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8596   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8597   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8598 )
8599
8600 target_link_libraries(hpack_parser_test
8601   ${_gRPC_ALLTARGETS_LIBRARIES}
8602   grpc_test_util
8603   grpc
8604   gpr
8605 )
8606
8607   # avoid dependency on libstdc++
8608   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8609     set_target_properties(hpack_parser_test PROPERTIES LINKER_LANGUAGE C)
8610     target_compile_options(hpack_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8611   endif()
8612
8613 endif (gRPC_BUILD_TESTS)
8614 if (gRPC_BUILD_TESTS)
8615
8616 add_executable(hpack_table_test
8617   test/core/transport/chttp2/hpack_table_test.cc
8618 )
8619
8620
8621 target_include_directories(hpack_table_test
8622   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8623   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8624   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8625   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8626   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8627   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8628   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8629   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8630   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8631   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8632 )
8633
8634 target_link_libraries(hpack_table_test
8635   ${_gRPC_ALLTARGETS_LIBRARIES}
8636   grpc_test_util
8637   grpc
8638   gpr
8639 )
8640
8641   # avoid dependency on libstdc++
8642   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8643     set_target_properties(hpack_table_test PROPERTIES LINKER_LANGUAGE C)
8644     target_compile_options(hpack_table_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8645   endif()
8646
8647 endif (gRPC_BUILD_TESTS)
8648 if (gRPC_BUILD_TESTS)
8649
8650 add_executable(http_parser_test
8651   test/core/http/parser_test.cc
8652 )
8653
8654
8655 target_include_directories(http_parser_test
8656   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8657   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8658   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8659   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8660   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8661   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8662   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8663   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8664   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8665   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8666 )
8667
8668 target_link_libraries(http_parser_test
8669   ${_gRPC_ALLTARGETS_LIBRARIES}
8670   grpc_test_util
8671   grpc
8672   gpr
8673 )
8674
8675   # avoid dependency on libstdc++
8676   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8677     set_target_properties(http_parser_test PROPERTIES LINKER_LANGUAGE C)
8678     target_compile_options(http_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8679   endif()
8680
8681 endif (gRPC_BUILD_TESTS)
8682 if (gRPC_BUILD_TESTS)
8683
8684 add_executable(httpcli_format_request_test
8685   test/core/http/format_request_test.cc
8686 )
8687
8688
8689 target_include_directories(httpcli_format_request_test
8690   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8691   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8692   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8693   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8694   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8695   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8696   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8697   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8698   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8699   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8700 )
8701
8702 target_link_libraries(httpcli_format_request_test
8703   ${_gRPC_ALLTARGETS_LIBRARIES}
8704   grpc_test_util
8705   grpc
8706   gpr
8707 )
8708
8709   # avoid dependency on libstdc++
8710   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8711     set_target_properties(httpcli_format_request_test PROPERTIES LINKER_LANGUAGE C)
8712     target_compile_options(httpcli_format_request_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8713   endif()
8714
8715 endif (gRPC_BUILD_TESTS)
8716 if (gRPC_BUILD_TESTS)
8717 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
8718
8719 add_executable(httpcli_test
8720   test/core/http/httpcli_test.cc
8721 )
8722
8723
8724 target_include_directories(httpcli_test
8725   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8726   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8727   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8728   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8729   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8730   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8731   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8732   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8733   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8734   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8735 )
8736
8737 target_link_libraries(httpcli_test
8738   ${_gRPC_ALLTARGETS_LIBRARIES}
8739   grpc_test_util
8740   grpc
8741   gpr
8742 )
8743
8744   # avoid dependency on libstdc++
8745   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8746     set_target_properties(httpcli_test PROPERTIES LINKER_LANGUAGE C)
8747     target_compile_options(httpcli_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8748   endif()
8749
8750 endif()
8751 endif (gRPC_BUILD_TESTS)
8752 if (gRPC_BUILD_TESTS)
8753 if(_gRPC_PLATFORM_LINUX)
8754
8755 add_executable(httpscli_test
8756   test/core/http/httpscli_test.cc
8757 )
8758
8759
8760 target_include_directories(httpscli_test
8761   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8762   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8763   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8764   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8765   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8766   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8767   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8768   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8769   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8770   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8771 )
8772
8773 target_link_libraries(httpscli_test
8774   ${_gRPC_ALLTARGETS_LIBRARIES}
8775   grpc_test_util
8776   grpc
8777   gpr
8778 )
8779
8780   # avoid dependency on libstdc++
8781   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8782     set_target_properties(httpscli_test PROPERTIES LINKER_LANGUAGE C)
8783     target_compile_options(httpscli_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8784   endif()
8785
8786 endif()
8787 endif (gRPC_BUILD_TESTS)
8788 if (gRPC_BUILD_TESTS)
8789
8790 add_executable(init_test
8791   test/core/surface/init_test.cc
8792 )
8793
8794
8795 target_include_directories(init_test
8796   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8797   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8798   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8799   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8800   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8801   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8802   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8803   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8804   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8805   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8806 )
8807
8808 target_link_libraries(init_test
8809   ${_gRPC_ALLTARGETS_LIBRARIES}
8810   grpc_test_util
8811   grpc
8812   gpr
8813 )
8814
8815   # avoid dependency on libstdc++
8816   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8817     set_target_properties(init_test PROPERTIES LINKER_LANGUAGE C)
8818     target_compile_options(init_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8819   endif()
8820
8821 endif (gRPC_BUILD_TESTS)
8822 if (gRPC_BUILD_TESTS)
8823
8824 add_executable(inproc_callback_test
8825   test/core/end2end/inproc_callback_test.cc
8826 )
8827
8828
8829 target_include_directories(inproc_callback_test
8830   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8831   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8832   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8833   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8834   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8835   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8836   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8837   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8838   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8839   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8840 )
8841
8842 target_link_libraries(inproc_callback_test
8843   ${_gRPC_ALLTARGETS_LIBRARIES}
8844   grpc_test_util
8845   grpc
8846   gpr
8847 )
8848
8849   # avoid dependency on libstdc++
8850   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8851     set_target_properties(inproc_callback_test PROPERTIES LINKER_LANGUAGE C)
8852     target_compile_options(inproc_callback_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8853   endif()
8854
8855 endif (gRPC_BUILD_TESTS)
8856 if (gRPC_BUILD_TESTS)
8857
8858 add_executable(invalid_call_argument_test
8859   test/core/end2end/invalid_call_argument_test.cc
8860 )
8861
8862
8863 target_include_directories(invalid_call_argument_test
8864   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8865   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8866   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8867   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8868   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8869   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8870   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8871   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8872   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8873   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8874 )
8875
8876 target_link_libraries(invalid_call_argument_test
8877   ${_gRPC_ALLTARGETS_LIBRARIES}
8878   grpc_test_util
8879   grpc
8880   gpr
8881 )
8882
8883   # avoid dependency on libstdc++
8884   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8885     set_target_properties(invalid_call_argument_test PROPERTIES LINKER_LANGUAGE C)
8886     target_compile_options(invalid_call_argument_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8887   endif()
8888
8889 endif (gRPC_BUILD_TESTS)
8890 if (gRPC_BUILD_TESTS)
8891
8892 add_executable(json_rewrite
8893   test/core/json/json_rewrite.cc
8894 )
8895
8896
8897 target_include_directories(json_rewrite
8898   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8899   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8900   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8901   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8902   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8903   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8904   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8905   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8906   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8907   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8908 )
8909
8910 target_link_libraries(json_rewrite
8911   ${_gRPC_ALLTARGETS_LIBRARIES}
8912   grpc_test_util
8913   grpc
8914   gpr
8915 )
8916
8917   # avoid dependency on libstdc++
8918   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8919     set_target_properties(json_rewrite PROPERTIES LINKER_LANGUAGE C)
8920     target_compile_options(json_rewrite PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8921   endif()
8922
8923 endif (gRPC_BUILD_TESTS)
8924 if (gRPC_BUILD_TESTS)
8925
8926 add_executable(json_rewrite_test
8927   test/core/json/json_rewrite_test.cc
8928 )
8929
8930
8931 target_include_directories(json_rewrite_test
8932   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8933   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8934   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8935   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8936   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8937   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8938   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8939   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8940   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8941   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8942 )
8943
8944 target_link_libraries(json_rewrite_test
8945   ${_gRPC_ALLTARGETS_LIBRARIES}
8946   grpc_test_util
8947   grpc
8948   gpr
8949 )
8950
8951   # avoid dependency on libstdc++
8952   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8953     set_target_properties(json_rewrite_test PROPERTIES LINKER_LANGUAGE C)
8954     target_compile_options(json_rewrite_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8955   endif()
8956
8957 endif (gRPC_BUILD_TESTS)
8958 if (gRPC_BUILD_TESTS)
8959
8960 add_executable(json_stream_error_test
8961   test/core/json/json_stream_error_test.cc
8962 )
8963
8964
8965 target_include_directories(json_stream_error_test
8966   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8967   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8968   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8969   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8970   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8971   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8972   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8973   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8974   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8975   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8976 )
8977
8978 target_link_libraries(json_stream_error_test
8979   ${_gRPC_ALLTARGETS_LIBRARIES}
8980   grpc_test_util
8981   grpc
8982   gpr
8983 )
8984
8985   # avoid dependency on libstdc++
8986   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8987     set_target_properties(json_stream_error_test PROPERTIES LINKER_LANGUAGE C)
8988     target_compile_options(json_stream_error_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8989   endif()
8990
8991 endif (gRPC_BUILD_TESTS)
8992 if (gRPC_BUILD_TESTS)
8993
8994 add_executable(json_test
8995   test/core/json/json_test.cc
8996 )
8997
8998
8999 target_include_directories(json_test
9000   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9001   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9002   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9003   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9004   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9005   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9006   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9007   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9008   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9009   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9010 )
9011
9012 target_link_libraries(json_test
9013   ${_gRPC_ALLTARGETS_LIBRARIES}
9014   grpc_test_util
9015   grpc
9016   gpr
9017 )
9018
9019   # avoid dependency on libstdc++
9020   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9021     set_target_properties(json_test PROPERTIES LINKER_LANGUAGE C)
9022     target_compile_options(json_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9023   endif()
9024
9025 endif (gRPC_BUILD_TESTS)
9026 if (gRPC_BUILD_TESTS)
9027
9028 add_executable(lame_client_test
9029   test/core/surface/lame_client_test.cc
9030 )
9031
9032
9033 target_include_directories(lame_client_test
9034   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9035   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9036   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9037   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9038   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9039   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9040   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9041   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9042   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9043   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9044 )
9045
9046 target_link_libraries(lame_client_test
9047   ${_gRPC_ALLTARGETS_LIBRARIES}
9048   grpc_test_util
9049   grpc
9050   gpr
9051 )
9052
9053   # avoid dependency on libstdc++
9054   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9055     set_target_properties(lame_client_test PROPERTIES LINKER_LANGUAGE C)
9056     target_compile_options(lame_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9057   endif()
9058
9059 endif (gRPC_BUILD_TESTS)
9060 if (gRPC_BUILD_TESTS)
9061
9062 add_executable(load_file_test
9063   test/core/iomgr/load_file_test.cc
9064 )
9065
9066
9067 target_include_directories(load_file_test
9068   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9069   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9070   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9071   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9072   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9073   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9074   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9075   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9076   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9077   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9078 )
9079
9080 target_link_libraries(load_file_test
9081   ${_gRPC_ALLTARGETS_LIBRARIES}
9082   grpc_test_util
9083   grpc
9084   gpr
9085 )
9086
9087   # avoid dependency on libstdc++
9088   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9089     set_target_properties(load_file_test PROPERTIES LINKER_LANGUAGE C)
9090     target_compile_options(load_file_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9091   endif()
9092
9093 endif (gRPC_BUILD_TESTS)
9094 if (gRPC_BUILD_TESTS)
9095
9096 add_executable(memory_usage_client
9097   test/core/memory_usage/client.cc
9098 )
9099
9100
9101 target_include_directories(memory_usage_client
9102   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9103   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9104   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9105   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9106   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9107   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9108   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9109   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9110   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9111   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9112 )
9113
9114 target_link_libraries(memory_usage_client
9115   ${_gRPC_ALLTARGETS_LIBRARIES}
9116   grpc_test_util
9117   grpc
9118   gpr
9119 )
9120
9121   # avoid dependency on libstdc++
9122   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9123     set_target_properties(memory_usage_client PROPERTIES LINKER_LANGUAGE C)
9124     target_compile_options(memory_usage_client PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9125   endif()
9126
9127 endif (gRPC_BUILD_TESTS)
9128 if (gRPC_BUILD_TESTS)
9129
9130 add_executable(memory_usage_server
9131   test/core/memory_usage/server.cc
9132 )
9133
9134
9135 target_include_directories(memory_usage_server
9136   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9137   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9138   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9139   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9140   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9141   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9142   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9143   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9144   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9145   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9146 )
9147
9148 target_link_libraries(memory_usage_server
9149   ${_gRPC_ALLTARGETS_LIBRARIES}
9150   grpc_test_util
9151   grpc
9152   gpr
9153 )
9154
9155   # avoid dependency on libstdc++
9156   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9157     set_target_properties(memory_usage_server PROPERTIES LINKER_LANGUAGE C)
9158     target_compile_options(memory_usage_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9159   endif()
9160
9161 endif (gRPC_BUILD_TESTS)
9162 if (gRPC_BUILD_TESTS)
9163 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9164
9165 add_executable(memory_usage_test
9166   test/core/memory_usage/memory_usage_test.cc
9167 )
9168
9169
9170 target_include_directories(memory_usage_test
9171   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9172   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9173   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9174   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9175   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9176   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9177   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9178   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9179   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9180   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9181 )
9182
9183 target_link_libraries(memory_usage_test
9184   ${_gRPC_ALLTARGETS_LIBRARIES}
9185   grpc_test_util
9186   grpc
9187   gpr
9188 )
9189
9190   # avoid dependency on libstdc++
9191   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9192     set_target_properties(memory_usage_test PROPERTIES LINKER_LANGUAGE C)
9193     target_compile_options(memory_usage_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9194   endif()
9195
9196 endif()
9197 endif (gRPC_BUILD_TESTS)
9198 if (gRPC_BUILD_TESTS)
9199
9200 add_executable(message_compress_test
9201   test/core/compression/message_compress_test.cc
9202 )
9203
9204
9205 target_include_directories(message_compress_test
9206   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9207   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9208   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9209   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9210   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9211   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9212   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9213   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9214   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9215   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9216 )
9217
9218 target_link_libraries(message_compress_test
9219   ${_gRPC_ALLTARGETS_LIBRARIES}
9220   grpc_test_util
9221   grpc
9222   gpr
9223 )
9224
9225   # avoid dependency on libstdc++
9226   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9227     set_target_properties(message_compress_test PROPERTIES LINKER_LANGUAGE C)
9228     target_compile_options(message_compress_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9229   endif()
9230
9231 endif (gRPC_BUILD_TESTS)
9232 if (gRPC_BUILD_TESTS)
9233
9234 add_executable(minimal_stack_is_minimal_test
9235   test/core/channel/minimal_stack_is_minimal_test.cc
9236 )
9237
9238
9239 target_include_directories(minimal_stack_is_minimal_test
9240   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9241   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9242   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9243   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9244   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9245   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9246   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9247   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9248   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9249   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9250 )
9251
9252 target_link_libraries(minimal_stack_is_minimal_test
9253   ${_gRPC_ALLTARGETS_LIBRARIES}
9254   grpc_test_util
9255   grpc
9256   gpr
9257 )
9258
9259   # avoid dependency on libstdc++
9260   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9261     set_target_properties(minimal_stack_is_minimal_test PROPERTIES LINKER_LANGUAGE C)
9262     target_compile_options(minimal_stack_is_minimal_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9263   endif()
9264
9265 endif (gRPC_BUILD_TESTS)
9266 if (gRPC_BUILD_TESTS)
9267
9268 add_executable(multiple_server_queues_test
9269   test/core/end2end/multiple_server_queues_test.cc
9270 )
9271
9272
9273 target_include_directories(multiple_server_queues_test
9274   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9275   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9276   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9277   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9278   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9279   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9280   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9281   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9282   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9283   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9284 )
9285
9286 target_link_libraries(multiple_server_queues_test
9287   ${_gRPC_ALLTARGETS_LIBRARIES}
9288   grpc_test_util
9289   grpc
9290   gpr
9291 )
9292
9293   # avoid dependency on libstdc++
9294   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9295     set_target_properties(multiple_server_queues_test PROPERTIES LINKER_LANGUAGE C)
9296     target_compile_options(multiple_server_queues_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9297   endif()
9298
9299 endif (gRPC_BUILD_TESTS)
9300 if (gRPC_BUILD_TESTS)
9301
9302 add_executable(murmur_hash_test
9303   test/core/gpr/murmur_hash_test.cc
9304 )
9305
9306
9307 target_include_directories(murmur_hash_test
9308   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9309   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9310   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9311   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9312   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9313   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9314   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9315   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9316   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9317   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9318 )
9319
9320 target_link_libraries(murmur_hash_test
9321   ${_gRPC_ALLTARGETS_LIBRARIES}
9322   gpr
9323   grpc_test_util_unsecure
9324   grpc_unsecure
9325 )
9326
9327   # avoid dependency on libstdc++
9328   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9329     set_target_properties(murmur_hash_test PROPERTIES LINKER_LANGUAGE C)
9330     target_compile_options(murmur_hash_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9331   endif()
9332
9333 endif (gRPC_BUILD_TESTS)
9334 if (gRPC_BUILD_TESTS)
9335
9336 add_executable(no_server_test
9337   test/core/end2end/no_server_test.cc
9338 )
9339
9340
9341 target_include_directories(no_server_test
9342   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9343   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9344   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9345   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9346   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9347   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9348   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9349   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9350   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9351   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9352 )
9353
9354 target_link_libraries(no_server_test
9355   ${_gRPC_ALLTARGETS_LIBRARIES}
9356   grpc_test_util
9357   grpc
9358   gpr
9359 )
9360
9361   # avoid dependency on libstdc++
9362   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9363     set_target_properties(no_server_test PROPERTIES LINKER_LANGUAGE C)
9364     target_compile_options(no_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9365   endif()
9366
9367 endif (gRPC_BUILD_TESTS)
9368 if (gRPC_BUILD_TESTS)
9369
9370 add_executable(num_external_connectivity_watchers_test
9371   test/core/surface/num_external_connectivity_watchers_test.cc
9372 )
9373
9374
9375 target_include_directories(num_external_connectivity_watchers_test
9376   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9377   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9378   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9379   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9380   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9381   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9382   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9383   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9384   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9385   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9386 )
9387
9388 target_link_libraries(num_external_connectivity_watchers_test
9389   ${_gRPC_ALLTARGETS_LIBRARIES}
9390   grpc_test_util
9391   grpc
9392   gpr
9393 )
9394
9395   # avoid dependency on libstdc++
9396   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9397     set_target_properties(num_external_connectivity_watchers_test PROPERTIES LINKER_LANGUAGE C)
9398     target_compile_options(num_external_connectivity_watchers_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9399   endif()
9400
9401 endif (gRPC_BUILD_TESTS)
9402 if (gRPC_BUILD_TESTS)
9403
9404 add_executable(parse_address_test
9405   test/core/client_channel/parse_address_test.cc
9406 )
9407
9408
9409 target_include_directories(parse_address_test
9410   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9411   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9412   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9413   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9414   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9415   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9416   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9417   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9418   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9419   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9420 )
9421
9422 target_link_libraries(parse_address_test
9423   ${_gRPC_ALLTARGETS_LIBRARIES}
9424   grpc_test_util
9425   grpc
9426   gpr
9427 )
9428
9429   # avoid dependency on libstdc++
9430   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9431     set_target_properties(parse_address_test PROPERTIES LINKER_LANGUAGE C)
9432     target_compile_options(parse_address_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9433   endif()
9434
9435 endif (gRPC_BUILD_TESTS)
9436 if (gRPC_BUILD_TESTS)
9437 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9438
9439 add_executable(parse_address_with_named_scope_id_test
9440   test/core/client_channel/parse_address_with_named_scope_id_test.cc
9441 )
9442
9443
9444 target_include_directories(parse_address_with_named_scope_id_test
9445   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9446   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9447   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9448   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9449   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9450   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9451   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9452   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9453   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9454   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9455 )
9456
9457 target_link_libraries(parse_address_with_named_scope_id_test
9458   ${_gRPC_ALLTARGETS_LIBRARIES}
9459   grpc_test_util
9460   grpc
9461   gpr
9462 )
9463
9464   # avoid dependency on libstdc++
9465   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9466     set_target_properties(parse_address_with_named_scope_id_test PROPERTIES LINKER_LANGUAGE C)
9467     target_compile_options(parse_address_with_named_scope_id_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9468   endif()
9469
9470 endif()
9471 endif (gRPC_BUILD_TESTS)
9472 if (gRPC_BUILD_TESTS)
9473
9474 add_executable(percent_encoding_test
9475   test/core/slice/percent_encoding_test.cc
9476 )
9477
9478
9479 target_include_directories(percent_encoding_test
9480   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9481   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9482   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9483   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9484   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9485   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9486   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9487   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9488   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9489   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9490 )
9491
9492 target_link_libraries(percent_encoding_test
9493   ${_gRPC_ALLTARGETS_LIBRARIES}
9494   grpc_test_util
9495   grpc
9496   gpr
9497 )
9498
9499   # avoid dependency on libstdc++
9500   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9501     set_target_properties(percent_encoding_test PROPERTIES LINKER_LANGUAGE C)
9502     target_compile_options(percent_encoding_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9503   endif()
9504
9505 endif (gRPC_BUILD_TESTS)
9506 if (gRPC_BUILD_TESTS)
9507 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9508
9509 add_executable(resolve_address_using_ares_resolver_posix_test
9510   test/core/iomgr/resolve_address_posix_test.cc
9511 )
9512
9513
9514 target_include_directories(resolve_address_using_ares_resolver_posix_test
9515   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9516   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9517   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9518   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9519   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9520   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9521   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9522   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9523   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9524   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9525 )
9526
9527 target_link_libraries(resolve_address_using_ares_resolver_posix_test
9528   ${_gRPC_ALLTARGETS_LIBRARIES}
9529   grpc_test_util
9530   grpc
9531   gpr
9532 )
9533
9534   # avoid dependency on libstdc++
9535   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9536     set_target_properties(resolve_address_using_ares_resolver_posix_test PROPERTIES LINKER_LANGUAGE C)
9537     target_compile_options(resolve_address_using_ares_resolver_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9538   endif()
9539
9540 endif()
9541 endif (gRPC_BUILD_TESTS)
9542 if (gRPC_BUILD_TESTS)
9543
9544 add_executable(resolve_address_using_ares_resolver_test
9545   test/core/iomgr/resolve_address_test.cc
9546 )
9547
9548
9549 target_include_directories(resolve_address_using_ares_resolver_test
9550   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9551   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9552   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9553   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9554   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9555   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9556   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9557   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9558   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9559   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9560 )
9561
9562 target_link_libraries(resolve_address_using_ares_resolver_test
9563   ${_gRPC_ALLTARGETS_LIBRARIES}
9564   grpc_test_util
9565   grpc
9566   gpr
9567 )
9568
9569   # avoid dependency on libstdc++
9570   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9571     set_target_properties(resolve_address_using_ares_resolver_test PROPERTIES LINKER_LANGUAGE C)
9572     target_compile_options(resolve_address_using_ares_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9573   endif()
9574
9575 endif (gRPC_BUILD_TESTS)
9576 if (gRPC_BUILD_TESTS)
9577 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9578
9579 add_executable(resolve_address_using_native_resolver_posix_test
9580   test/core/iomgr/resolve_address_posix_test.cc
9581 )
9582
9583
9584 target_include_directories(resolve_address_using_native_resolver_posix_test
9585   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9586   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9587   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9588   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9589   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9590   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9591   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9592   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9593   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9594   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9595 )
9596
9597 target_link_libraries(resolve_address_using_native_resolver_posix_test
9598   ${_gRPC_ALLTARGETS_LIBRARIES}
9599   grpc_test_util
9600   grpc
9601   gpr
9602 )
9603
9604   # avoid dependency on libstdc++
9605   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9606     set_target_properties(resolve_address_using_native_resolver_posix_test PROPERTIES LINKER_LANGUAGE C)
9607     target_compile_options(resolve_address_using_native_resolver_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9608   endif()
9609
9610 endif()
9611 endif (gRPC_BUILD_TESTS)
9612 if (gRPC_BUILD_TESTS)
9613
9614 add_executable(resolve_address_using_native_resolver_test
9615   test/core/iomgr/resolve_address_test.cc
9616 )
9617
9618
9619 target_include_directories(resolve_address_using_native_resolver_test
9620   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9621   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9622   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9623   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9624   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9625   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9626   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9627   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9628   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9629   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9630 )
9631
9632 target_link_libraries(resolve_address_using_native_resolver_test
9633   ${_gRPC_ALLTARGETS_LIBRARIES}
9634   grpc_test_util
9635   grpc
9636   gpr
9637 )
9638
9639   # avoid dependency on libstdc++
9640   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9641     set_target_properties(resolve_address_using_native_resolver_test PROPERTIES LINKER_LANGUAGE C)
9642     target_compile_options(resolve_address_using_native_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9643   endif()
9644
9645 endif (gRPC_BUILD_TESTS)
9646 if (gRPC_BUILD_TESTS)
9647
9648 add_executable(resource_quota_test
9649   test/core/iomgr/resource_quota_test.cc
9650 )
9651
9652
9653 target_include_directories(resource_quota_test
9654   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9655   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9656   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9657   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9658   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9659   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9660   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9661   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9662   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9663   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9664 )
9665
9666 target_link_libraries(resource_quota_test
9667   ${_gRPC_ALLTARGETS_LIBRARIES}
9668   grpc_test_util
9669   grpc
9670   gpr
9671 )
9672
9673   # avoid dependency on libstdc++
9674   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9675     set_target_properties(resource_quota_test PROPERTIES LINKER_LANGUAGE C)
9676     target_compile_options(resource_quota_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9677   endif()
9678
9679 endif (gRPC_BUILD_TESTS)
9680 if (gRPC_BUILD_TESTS)
9681
9682 add_executable(secure_channel_create_test
9683   test/core/surface/secure_channel_create_test.cc
9684 )
9685
9686
9687 target_include_directories(secure_channel_create_test
9688   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9689   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9690   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9691   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9692   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9693   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9694   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9695   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9696   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9697   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9698 )
9699
9700 target_link_libraries(secure_channel_create_test
9701   ${_gRPC_ALLTARGETS_LIBRARIES}
9702   grpc_test_util
9703   grpc
9704   gpr
9705 )
9706
9707   # avoid dependency on libstdc++
9708   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9709     set_target_properties(secure_channel_create_test PROPERTIES LINKER_LANGUAGE C)
9710     target_compile_options(secure_channel_create_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9711   endif()
9712
9713 endif (gRPC_BUILD_TESTS)
9714 if (gRPC_BUILD_TESTS)
9715
9716 add_executable(secure_endpoint_test
9717   test/core/security/secure_endpoint_test.cc
9718 )
9719
9720
9721 target_include_directories(secure_endpoint_test
9722   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9723   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9724   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9725   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9726   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9727   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9728   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9729   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9730   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9731   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9732 )
9733
9734 target_link_libraries(secure_endpoint_test
9735   ${_gRPC_ALLTARGETS_LIBRARIES}
9736   grpc_test_util
9737   grpc
9738   gpr
9739 )
9740
9741   # avoid dependency on libstdc++
9742   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9743     set_target_properties(secure_endpoint_test PROPERTIES LINKER_LANGUAGE C)
9744     target_compile_options(secure_endpoint_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9745   endif()
9746
9747 endif (gRPC_BUILD_TESTS)
9748 if (gRPC_BUILD_TESTS)
9749
9750 add_executable(sequential_connectivity_test
9751   test/core/surface/sequential_connectivity_test.cc
9752 )
9753
9754
9755 target_include_directories(sequential_connectivity_test
9756   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9757   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9758   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9759   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9760   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9761   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9762   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9763   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9764   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9765   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9766 )
9767
9768 target_link_libraries(sequential_connectivity_test
9769   ${_gRPC_ALLTARGETS_LIBRARIES}
9770   grpc_test_util
9771   grpc
9772   gpr
9773 )
9774
9775   # avoid dependency on libstdc++
9776   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9777     set_target_properties(sequential_connectivity_test PROPERTIES LINKER_LANGUAGE C)
9778     target_compile_options(sequential_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9779   endif()
9780
9781 endif (gRPC_BUILD_TESTS)
9782 if (gRPC_BUILD_TESTS)
9783
9784 add_executable(server_chttp2_test
9785   test/core/surface/server_chttp2_test.cc
9786 )
9787
9788
9789 target_include_directories(server_chttp2_test
9790   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9791   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9792   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9793   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9794   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9795   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9796   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9797   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9798   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9799   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9800 )
9801
9802 target_link_libraries(server_chttp2_test
9803   ${_gRPC_ALLTARGETS_LIBRARIES}
9804   grpc_test_util
9805   grpc
9806   gpr
9807 )
9808
9809   # avoid dependency on libstdc++
9810   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9811     set_target_properties(server_chttp2_test PROPERTIES LINKER_LANGUAGE C)
9812     target_compile_options(server_chttp2_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9813   endif()
9814
9815 endif (gRPC_BUILD_TESTS)
9816 if (gRPC_BUILD_TESTS)
9817
9818 add_executable(server_test
9819   test/core/surface/server_test.cc
9820 )
9821
9822
9823 target_include_directories(server_test
9824   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9825   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9826   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9827   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9828   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9829   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9830   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9831   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9832   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9833   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9834 )
9835
9836 target_link_libraries(server_test
9837   ${_gRPC_ALLTARGETS_LIBRARIES}
9838   grpc_test_util
9839   grpc
9840   gpr
9841 )
9842
9843   # avoid dependency on libstdc++
9844   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9845     set_target_properties(server_test PROPERTIES LINKER_LANGUAGE C)
9846     target_compile_options(server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9847   endif()
9848
9849 endif (gRPC_BUILD_TESTS)
9850 if (gRPC_BUILD_TESTS)
9851
9852 add_executable(slice_buffer_test
9853   test/core/slice/slice_buffer_test.cc
9854 )
9855
9856
9857 target_include_directories(slice_buffer_test
9858   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9859   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9860   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9861   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9862   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9863   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9864   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9865   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9866   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9867   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9868 )
9869
9870 target_link_libraries(slice_buffer_test
9871   ${_gRPC_ALLTARGETS_LIBRARIES}
9872   grpc_test_util
9873   grpc
9874   gpr
9875 )
9876
9877   # avoid dependency on libstdc++
9878   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9879     set_target_properties(slice_buffer_test PROPERTIES LINKER_LANGUAGE C)
9880     target_compile_options(slice_buffer_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9881   endif()
9882
9883 endif (gRPC_BUILD_TESTS)
9884 if (gRPC_BUILD_TESTS)
9885
9886 add_executable(slice_string_helpers_test
9887   test/core/slice/slice_string_helpers_test.cc
9888 )
9889
9890
9891 target_include_directories(slice_string_helpers_test
9892   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9893   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9894   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9895   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9896   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9897   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9898   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9899   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9900   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9901   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9902 )
9903
9904 target_link_libraries(slice_string_helpers_test
9905   ${_gRPC_ALLTARGETS_LIBRARIES}
9906   grpc_test_util
9907   grpc
9908   gpr
9909 )
9910
9911   # avoid dependency on libstdc++
9912   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9913     set_target_properties(slice_string_helpers_test PROPERTIES LINKER_LANGUAGE C)
9914     target_compile_options(slice_string_helpers_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9915   endif()
9916
9917 endif (gRPC_BUILD_TESTS)
9918 if (gRPC_BUILD_TESTS)
9919
9920 add_executable(slice_test
9921   test/core/slice/slice_test.cc
9922 )
9923
9924
9925 target_include_directories(slice_test
9926   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9927   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9928   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9929   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9930   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9931   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9932   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9933   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9934   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9935   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9936 )
9937
9938 target_link_libraries(slice_test
9939   ${_gRPC_ALLTARGETS_LIBRARIES}
9940   grpc_test_util
9941   grpc
9942   gpr
9943 )
9944
9945   # avoid dependency on libstdc++
9946   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9947     set_target_properties(slice_test PROPERTIES LINKER_LANGUAGE C)
9948     target_compile_options(slice_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9949   endif()
9950
9951 endif (gRPC_BUILD_TESTS)
9952 if (gRPC_BUILD_TESTS)
9953
9954 add_executable(sockaddr_resolver_test
9955   test/core/client_channel/resolvers/sockaddr_resolver_test.cc
9956 )
9957
9958
9959 target_include_directories(sockaddr_resolver_test
9960   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9961   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9962   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9963   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9964   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9965   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9966   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9967   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9968   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9969   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9970 )
9971
9972 target_link_libraries(sockaddr_resolver_test
9973   ${_gRPC_ALLTARGETS_LIBRARIES}
9974   grpc_test_util
9975   grpc
9976   gpr
9977 )
9978
9979   # avoid dependency on libstdc++
9980   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9981     set_target_properties(sockaddr_resolver_test PROPERTIES LINKER_LANGUAGE C)
9982     target_compile_options(sockaddr_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9983   endif()
9984
9985 endif (gRPC_BUILD_TESTS)
9986 if (gRPC_BUILD_TESTS)
9987
9988 add_executable(sockaddr_utils_test
9989   test/core/iomgr/sockaddr_utils_test.cc
9990 )
9991
9992
9993 target_include_directories(sockaddr_utils_test
9994   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9995   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9996   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9997   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9998   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9999   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10000   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10001   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10002   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10003   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10004 )
10005
10006 target_link_libraries(sockaddr_utils_test
10007   ${_gRPC_ALLTARGETS_LIBRARIES}
10008   grpc_test_util
10009   grpc
10010   gpr
10011 )
10012
10013   # avoid dependency on libstdc++
10014   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10015     set_target_properties(sockaddr_utils_test PROPERTIES LINKER_LANGUAGE C)
10016     target_compile_options(sockaddr_utils_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10017   endif()
10018
10019 endif (gRPC_BUILD_TESTS)
10020 if (gRPC_BUILD_TESTS)
10021 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10022
10023 add_executable(socket_utils_test
10024   test/core/iomgr/socket_utils_test.cc
10025 )
10026
10027
10028 target_include_directories(socket_utils_test
10029   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10030   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10031   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10032   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10033   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10034   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10035   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10036   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10037   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10038   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10039 )
10040
10041 target_link_libraries(socket_utils_test
10042   ${_gRPC_ALLTARGETS_LIBRARIES}
10043   grpc_test_util
10044   grpc
10045   gpr
10046 )
10047
10048   # avoid dependency on libstdc++
10049   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10050     set_target_properties(socket_utils_test PROPERTIES LINKER_LANGUAGE C)
10051     target_compile_options(socket_utils_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10052   endif()
10053
10054 endif()
10055 endif (gRPC_BUILD_TESTS)
10056 if (gRPC_BUILD_TESTS)
10057 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10058
10059 add_executable(ssl_transport_security_test
10060   test/core/tsi/ssl_transport_security_test.cc
10061   test/core/tsi/transport_security_test_lib.cc
10062 )
10063
10064
10065 target_include_directories(ssl_transport_security_test
10066   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10067   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10068   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10069   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10070   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10071   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10072   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10073   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10074   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10075   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10076 )
10077
10078 target_link_libraries(ssl_transport_security_test
10079   ${_gRPC_ALLTARGETS_LIBRARIES}
10080   gpr
10081   grpc_test_util
10082   grpc
10083 )
10084
10085   # avoid dependency on libstdc++
10086   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10087     set_target_properties(ssl_transport_security_test PROPERTIES LINKER_LANGUAGE C)
10088     target_compile_options(ssl_transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10089   endif()
10090
10091 endif()
10092 endif (gRPC_BUILD_TESTS)
10093 if (gRPC_BUILD_TESTS)
10094
10095 add_executable(status_conversion_test
10096   test/core/transport/status_conversion_test.cc
10097 )
10098
10099
10100 target_include_directories(status_conversion_test
10101   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10102   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10103   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10104   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10105   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10106   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10107   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10108   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10109   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10110   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10111 )
10112
10113 target_link_libraries(status_conversion_test
10114   ${_gRPC_ALLTARGETS_LIBRARIES}
10115   grpc_test_util
10116   grpc
10117   gpr
10118 )
10119
10120   # avoid dependency on libstdc++
10121   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10122     set_target_properties(status_conversion_test PROPERTIES LINKER_LANGUAGE C)
10123     target_compile_options(status_conversion_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10124   endif()
10125
10126 endif (gRPC_BUILD_TESTS)
10127 if (gRPC_BUILD_TESTS)
10128
10129 add_executable(stream_compression_test
10130   test/core/compression/stream_compression_test.cc
10131 )
10132
10133
10134 target_include_directories(stream_compression_test
10135   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10136   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10137   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10138   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10139   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10140   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10141   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10142   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10143   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10144   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10145 )
10146
10147 target_link_libraries(stream_compression_test
10148   ${_gRPC_ALLTARGETS_LIBRARIES}
10149   grpc_test_util
10150   grpc
10151   gpr
10152 )
10153
10154   # avoid dependency on libstdc++
10155   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10156     set_target_properties(stream_compression_test PROPERTIES LINKER_LANGUAGE C)
10157     target_compile_options(stream_compression_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10158   endif()
10159
10160 endif (gRPC_BUILD_TESTS)
10161 if (gRPC_BUILD_TESTS)
10162
10163 add_executable(stream_owned_slice_test
10164   test/core/transport/stream_owned_slice_test.cc
10165 )
10166
10167
10168 target_include_directories(stream_owned_slice_test
10169   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10170   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10171   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10172   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10173   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10174   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10175   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10176   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10177   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10178   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10179 )
10180
10181 target_link_libraries(stream_owned_slice_test
10182   ${_gRPC_ALLTARGETS_LIBRARIES}
10183   grpc_test_util
10184   grpc
10185   gpr
10186 )
10187
10188   # avoid dependency on libstdc++
10189   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10190     set_target_properties(stream_owned_slice_test PROPERTIES LINKER_LANGUAGE C)
10191     target_compile_options(stream_owned_slice_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10192   endif()
10193
10194 endif (gRPC_BUILD_TESTS)
10195 if (gRPC_BUILD_TESTS)
10196 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10197
10198 add_executable(tcp_client_posix_test
10199   test/core/iomgr/tcp_client_posix_test.cc
10200 )
10201
10202
10203 target_include_directories(tcp_client_posix_test
10204   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10205   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10206   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10207   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10208   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10209   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10210   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10211   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10212   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10213   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10214 )
10215
10216 target_link_libraries(tcp_client_posix_test
10217   ${_gRPC_ALLTARGETS_LIBRARIES}
10218   grpc_test_util
10219   grpc
10220   gpr
10221 )
10222
10223   # avoid dependency on libstdc++
10224   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10225     set_target_properties(tcp_client_posix_test PROPERTIES LINKER_LANGUAGE C)
10226     target_compile_options(tcp_client_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10227   endif()
10228
10229 endif()
10230 endif (gRPC_BUILD_TESTS)
10231 if (gRPC_BUILD_TESTS)
10232
10233 add_executable(tcp_client_uv_test
10234   test/core/iomgr/tcp_client_uv_test.cc
10235 )
10236
10237
10238 target_include_directories(tcp_client_uv_test
10239   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10240   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10241   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10242   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10243   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10244   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10245   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10246   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10247   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10248   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10249 )
10250
10251 target_link_libraries(tcp_client_uv_test
10252   ${_gRPC_ALLTARGETS_LIBRARIES}
10253   grpc_test_util
10254   grpc
10255   gpr
10256 )
10257
10258   # avoid dependency on libstdc++
10259   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10260     set_target_properties(tcp_client_uv_test PROPERTIES LINKER_LANGUAGE C)
10261     target_compile_options(tcp_client_uv_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10262   endif()
10263
10264 endif (gRPC_BUILD_TESTS)
10265 if (gRPC_BUILD_TESTS)
10266 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10267
10268 add_executable(tcp_posix_test
10269   test/core/iomgr/tcp_posix_test.cc
10270 )
10271
10272
10273 target_include_directories(tcp_posix_test
10274   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10275   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10276   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10277   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10278   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10279   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10280   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10281   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10282   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10283   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10284 )
10285
10286 target_link_libraries(tcp_posix_test
10287   ${_gRPC_ALLTARGETS_LIBRARIES}
10288   grpc_test_util
10289   grpc
10290   gpr
10291 )
10292
10293   # avoid dependency on libstdc++
10294   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10295     set_target_properties(tcp_posix_test PROPERTIES LINKER_LANGUAGE C)
10296     target_compile_options(tcp_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10297   endif()
10298
10299 endif()
10300 endif (gRPC_BUILD_TESTS)
10301 if (gRPC_BUILD_TESTS)
10302 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10303
10304 add_executable(tcp_server_posix_test
10305   test/core/iomgr/tcp_server_posix_test.cc
10306 )
10307
10308
10309 target_include_directories(tcp_server_posix_test
10310   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10311   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10312   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10313   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10314   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10315   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10316   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10317   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10318   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10319   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10320 )
10321
10322 target_link_libraries(tcp_server_posix_test
10323   ${_gRPC_ALLTARGETS_LIBRARIES}
10324   grpc_test_util
10325   grpc
10326   gpr
10327 )
10328
10329   # avoid dependency on libstdc++
10330   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10331     set_target_properties(tcp_server_posix_test PROPERTIES LINKER_LANGUAGE C)
10332     target_compile_options(tcp_server_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10333   endif()
10334
10335 endif()
10336 endif (gRPC_BUILD_TESTS)
10337 if (gRPC_BUILD_TESTS)
10338
10339 add_executable(tcp_server_uv_test
10340   test/core/iomgr/tcp_server_uv_test.cc
10341 )
10342
10343
10344 target_include_directories(tcp_server_uv_test
10345   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10346   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10347   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10348   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10349   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10350   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10351   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10352   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10353   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10354   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10355 )
10356
10357 target_link_libraries(tcp_server_uv_test
10358   ${_gRPC_ALLTARGETS_LIBRARIES}
10359   grpc_test_util
10360   grpc
10361   gpr
10362 )
10363
10364   # avoid dependency on libstdc++
10365   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10366     set_target_properties(tcp_server_uv_test PROPERTIES LINKER_LANGUAGE C)
10367     target_compile_options(tcp_server_uv_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10368   endif()
10369
10370 endif (gRPC_BUILD_TESTS)
10371 if (gRPC_BUILD_TESTS)
10372
10373 add_executable(time_averaged_stats_test
10374   test/core/iomgr/time_averaged_stats_test.cc
10375 )
10376
10377
10378 target_include_directories(time_averaged_stats_test
10379   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10380   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10381   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10382   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10383   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10384   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10385   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10386   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10387   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10388   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10389 )
10390
10391 target_link_libraries(time_averaged_stats_test
10392   ${_gRPC_ALLTARGETS_LIBRARIES}
10393   grpc_test_util
10394   grpc
10395   gpr
10396 )
10397
10398   # avoid dependency on libstdc++
10399   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10400     set_target_properties(time_averaged_stats_test PROPERTIES LINKER_LANGUAGE C)
10401     target_compile_options(time_averaged_stats_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10402   endif()
10403
10404 endif (gRPC_BUILD_TESTS)
10405 if (gRPC_BUILD_TESTS)
10406
10407 add_executable(timeout_encoding_test
10408   test/core/transport/timeout_encoding_test.cc
10409 )
10410
10411
10412 target_include_directories(timeout_encoding_test
10413   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10414   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10415   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10416   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10417   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10418   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10419   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10420   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10421   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10422   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10423 )
10424
10425 target_link_libraries(timeout_encoding_test
10426   ${_gRPC_ALLTARGETS_LIBRARIES}
10427   grpc_test_util
10428   grpc
10429   gpr
10430 )
10431
10432   # avoid dependency on libstdc++
10433   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10434     set_target_properties(timeout_encoding_test PROPERTIES LINKER_LANGUAGE C)
10435     target_compile_options(timeout_encoding_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10436   endif()
10437
10438 endif (gRPC_BUILD_TESTS)
10439 if (gRPC_BUILD_TESTS)
10440
10441 add_executable(timer_heap_test
10442   test/core/iomgr/timer_heap_test.cc
10443 )
10444
10445
10446 target_include_directories(timer_heap_test
10447   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10448   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10449   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10450   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10451   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10452   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10453   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10454   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10455   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10456   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10457 )
10458
10459 target_link_libraries(timer_heap_test
10460   ${_gRPC_ALLTARGETS_LIBRARIES}
10461   grpc_test_util
10462   grpc
10463   gpr
10464 )
10465
10466   # avoid dependency on libstdc++
10467   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10468     set_target_properties(timer_heap_test PROPERTIES LINKER_LANGUAGE C)
10469     target_compile_options(timer_heap_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10470   endif()
10471
10472 endif (gRPC_BUILD_TESTS)
10473 if (gRPC_BUILD_TESTS)
10474
10475 add_executable(timer_list_test
10476   test/core/iomgr/timer_list_test.cc
10477 )
10478
10479
10480 target_include_directories(timer_list_test
10481   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10482   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10483   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10484   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10485   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10486   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10487   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10488   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10489   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10490   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10491 )
10492
10493 target_link_libraries(timer_list_test
10494   ${_gRPC_ALLTARGETS_LIBRARIES}
10495   grpc_test_util
10496   grpc
10497   gpr
10498 )
10499
10500   # avoid dependency on libstdc++
10501   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10502     set_target_properties(timer_list_test PROPERTIES LINKER_LANGUAGE C)
10503     target_compile_options(timer_list_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10504   endif()
10505
10506 endif (gRPC_BUILD_TESTS)
10507 if (gRPC_BUILD_TESTS)
10508
10509 add_executable(transport_connectivity_state_test
10510   test/core/transport/connectivity_state_test.cc
10511 )
10512
10513
10514 target_include_directories(transport_connectivity_state_test
10515   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10516   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10517   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10518   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10519   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10520   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10521   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10522   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10523   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10524   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10525 )
10526
10527 target_link_libraries(transport_connectivity_state_test
10528   ${_gRPC_ALLTARGETS_LIBRARIES}
10529   grpc_test_util
10530   grpc
10531   gpr
10532 )
10533
10534   # avoid dependency on libstdc++
10535   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10536     set_target_properties(transport_connectivity_state_test PROPERTIES LINKER_LANGUAGE C)
10537     target_compile_options(transport_connectivity_state_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10538   endif()
10539
10540 endif (gRPC_BUILD_TESTS)
10541 if (gRPC_BUILD_TESTS)
10542
10543 add_executable(transport_metadata_test
10544   test/core/transport/metadata_test.cc
10545 )
10546
10547
10548 target_include_directories(transport_metadata_test
10549   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10550   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10551   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10552   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10553   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10554   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10555   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10556   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10557   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10558   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10559 )
10560
10561 target_link_libraries(transport_metadata_test
10562   ${_gRPC_ALLTARGETS_LIBRARIES}
10563   grpc_test_util
10564   grpc
10565   gpr
10566 )
10567
10568   # avoid dependency on libstdc++
10569   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10570     set_target_properties(transport_metadata_test PROPERTIES LINKER_LANGUAGE C)
10571     target_compile_options(transport_metadata_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10572   endif()
10573
10574 endif (gRPC_BUILD_TESTS)
10575 if (gRPC_BUILD_TESTS)
10576 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10577
10578 add_executable(transport_security_test
10579   test/core/tsi/transport_security_test.cc
10580 )
10581
10582
10583 target_include_directories(transport_security_test
10584   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10585   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10586   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10587   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10588   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10589   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10590   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10591   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10592   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10593   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10594 )
10595
10596 target_link_libraries(transport_security_test
10597   ${_gRPC_ALLTARGETS_LIBRARIES}
10598   grpc_test_util
10599   grpc
10600   gpr
10601 )
10602
10603   # avoid dependency on libstdc++
10604   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10605     set_target_properties(transport_security_test PROPERTIES LINKER_LANGUAGE C)
10606     target_compile_options(transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10607   endif()
10608
10609 endif()
10610 endif (gRPC_BUILD_TESTS)
10611 if (gRPC_BUILD_TESTS)
10612 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10613
10614 add_executable(udp_server_test
10615   test/core/iomgr/udp_server_test.cc
10616 )
10617
10618
10619 target_include_directories(udp_server_test
10620   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10621   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10622   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10623   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10624   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10625   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10626   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10627   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10628   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10629   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10630 )
10631
10632 target_link_libraries(udp_server_test
10633   ${_gRPC_ALLTARGETS_LIBRARIES}
10634   grpc_test_util
10635   grpc
10636   gpr
10637 )
10638
10639   # avoid dependency on libstdc++
10640   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10641     set_target_properties(udp_server_test PROPERTIES LINKER_LANGUAGE C)
10642     target_compile_options(udp_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10643   endif()
10644
10645 endif()
10646 endif (gRPC_BUILD_TESTS)
10647 if (gRPC_BUILD_TESTS)
10648
10649 add_executable(uri_parser_test
10650   test/core/client_channel/uri_parser_test.cc
10651 )
10652
10653
10654 target_include_directories(uri_parser_test
10655   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10656   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10657   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10658   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10659   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10660   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10661   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10662   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10663   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10664   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10665 )
10666
10667 target_link_libraries(uri_parser_test
10668   ${_gRPC_ALLTARGETS_LIBRARIES}
10669   grpc_test_util
10670   grpc
10671   gpr
10672 )
10673
10674   # avoid dependency on libstdc++
10675   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10676     set_target_properties(uri_parser_test PROPERTIES LINKER_LANGUAGE C)
10677     target_compile_options(uri_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10678   endif()
10679
10680 endif (gRPC_BUILD_TESTS)
10681 if (gRPC_BUILD_TESTS)
10682
10683 add_executable(alarm_test
10684   test/cpp/common/alarm_test.cc
10685   third_party/googletest/googletest/src/gtest-all.cc
10686   third_party/googletest/googlemock/src/gmock-all.cc
10687 )
10688
10689
10690 target_include_directories(alarm_test
10691   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10692   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10693   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10694   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10695   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10696   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10697   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10698   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10699   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10700   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10701   PRIVATE third_party/googletest/googletest/include
10702   PRIVATE third_party/googletest/googletest
10703   PRIVATE third_party/googletest/googlemock/include
10704   PRIVATE third_party/googletest/googlemock
10705   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10706 )
10707
10708 target_link_libraries(alarm_test
10709   ${_gRPC_PROTOBUF_LIBRARIES}
10710   ${_gRPC_ALLTARGETS_LIBRARIES}
10711   grpc++_test_util_unsecure
10712   grpc_test_util_unsecure
10713   grpc++_unsecure
10714   grpc_unsecure
10715   gpr
10716   ${_gRPC_GFLAGS_LIBRARIES}
10717 )
10718
10719
10720 endif (gRPC_BUILD_TESTS)
10721 if (gRPC_BUILD_TESTS)
10722
10723 add_executable(alts_counter_test
10724   test/core/tsi/alts/frame_protector/alts_counter_test.cc
10725   third_party/googletest/googletest/src/gtest-all.cc
10726   third_party/googletest/googlemock/src/gmock-all.cc
10727 )
10728
10729
10730 target_include_directories(alts_counter_test
10731   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10732   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10733   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10734   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10735   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10736   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10737   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10738   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10739   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10740   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10741   PRIVATE third_party/googletest/googletest/include
10742   PRIVATE third_party/googletest/googletest
10743   PRIVATE third_party/googletest/googlemock/include
10744   PRIVATE third_party/googletest/googlemock
10745   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10746 )
10747
10748 target_link_libraries(alts_counter_test
10749   ${_gRPC_PROTOBUF_LIBRARIES}
10750   ${_gRPC_ALLTARGETS_LIBRARIES}
10751   alts_test_util
10752   gpr
10753   grpc
10754   ${_gRPC_GFLAGS_LIBRARIES}
10755 )
10756
10757
10758 endif (gRPC_BUILD_TESTS)
10759 if (gRPC_BUILD_TESTS)
10760
10761 add_executable(alts_crypt_test
10762   test/core/tsi/alts/crypt/aes_gcm_test.cc
10763   third_party/googletest/googletest/src/gtest-all.cc
10764   third_party/googletest/googlemock/src/gmock-all.cc
10765 )
10766
10767
10768 target_include_directories(alts_crypt_test
10769   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10770   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10771   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10772   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10773   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10774   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10775   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10776   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10777   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10778   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10779   PRIVATE third_party/googletest/googletest/include
10780   PRIVATE third_party/googletest/googletest
10781   PRIVATE third_party/googletest/googlemock/include
10782   PRIVATE third_party/googletest/googlemock
10783   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10784 )
10785
10786 target_link_libraries(alts_crypt_test
10787   ${_gRPC_PROTOBUF_LIBRARIES}
10788   ${_gRPC_ALLTARGETS_LIBRARIES}
10789   alts_test_util
10790   gpr
10791   grpc_test_util
10792   grpc
10793   ${_gRPC_GFLAGS_LIBRARIES}
10794 )
10795
10796
10797 endif (gRPC_BUILD_TESTS)
10798 if (gRPC_BUILD_TESTS)
10799
10800 add_executable(alts_crypter_test
10801   test/core/tsi/alts/frame_protector/alts_crypter_test.cc
10802   third_party/googletest/googletest/src/gtest-all.cc
10803   third_party/googletest/googlemock/src/gmock-all.cc
10804 )
10805
10806
10807 target_include_directories(alts_crypter_test
10808   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10809   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10810   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10811   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10812   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10813   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10814   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10815   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10816   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10817   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10818   PRIVATE third_party/googletest/googletest/include
10819   PRIVATE third_party/googletest/googletest
10820   PRIVATE third_party/googletest/googlemock/include
10821   PRIVATE third_party/googletest/googlemock
10822   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10823 )
10824
10825 target_link_libraries(alts_crypter_test
10826   ${_gRPC_PROTOBUF_LIBRARIES}
10827   ${_gRPC_ALLTARGETS_LIBRARIES}
10828   alts_test_util
10829   gpr
10830   grpc
10831   ${_gRPC_GFLAGS_LIBRARIES}
10832 )
10833
10834
10835 endif (gRPC_BUILD_TESTS)
10836 if (gRPC_BUILD_TESTS)
10837
10838 add_executable(alts_frame_handler_test
10839   test/core/tsi/alts/frame_protector/frame_handler_test.cc
10840   third_party/googletest/googletest/src/gtest-all.cc
10841   third_party/googletest/googlemock/src/gmock-all.cc
10842 )
10843
10844
10845 target_include_directories(alts_frame_handler_test
10846   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10847   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10848   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10849   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10850   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10851   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10852   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10853   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10854   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10855   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10856   PRIVATE third_party/googletest/googletest/include
10857   PRIVATE third_party/googletest/googletest
10858   PRIVATE third_party/googletest/googlemock/include
10859   PRIVATE third_party/googletest/googlemock
10860   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10861 )
10862
10863 target_link_libraries(alts_frame_handler_test
10864   ${_gRPC_PROTOBUF_LIBRARIES}
10865   ${_gRPC_ALLTARGETS_LIBRARIES}
10866   alts_test_util
10867   gpr
10868   grpc
10869   ${_gRPC_GFLAGS_LIBRARIES}
10870 )
10871
10872
10873 endif (gRPC_BUILD_TESTS)
10874 if (gRPC_BUILD_TESTS)
10875
10876 add_executable(alts_frame_protector_test
10877   test/core/tsi/alts/frame_protector/alts_frame_protector_test.cc
10878   test/core/tsi/transport_security_test_lib.cc
10879   third_party/googletest/googletest/src/gtest-all.cc
10880   third_party/googletest/googlemock/src/gmock-all.cc
10881 )
10882
10883
10884 target_include_directories(alts_frame_protector_test
10885   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10886   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10887   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10888   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10889   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10890   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10891   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10892   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10893   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10894   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10895   PRIVATE third_party/googletest/googletest/include
10896   PRIVATE third_party/googletest/googletest
10897   PRIVATE third_party/googletest/googlemock/include
10898   PRIVATE third_party/googletest/googlemock
10899   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10900 )
10901
10902 target_link_libraries(alts_frame_protector_test
10903   ${_gRPC_PROTOBUF_LIBRARIES}
10904   ${_gRPC_ALLTARGETS_LIBRARIES}
10905   alts_test_util
10906   gpr
10907   grpc
10908   ${_gRPC_GFLAGS_LIBRARIES}
10909 )
10910
10911
10912 endif (gRPC_BUILD_TESTS)
10913 if (gRPC_BUILD_TESTS)
10914
10915 add_executable(alts_grpc_record_protocol_test
10916   test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc
10917   third_party/googletest/googletest/src/gtest-all.cc
10918   third_party/googletest/googlemock/src/gmock-all.cc
10919 )
10920
10921
10922 target_include_directories(alts_grpc_record_protocol_test
10923   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10924   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10925   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10926   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10927   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10928   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10929   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10930   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10931   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10932   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10933   PRIVATE third_party/googletest/googletest/include
10934   PRIVATE third_party/googletest/googletest
10935   PRIVATE third_party/googletest/googlemock/include
10936   PRIVATE third_party/googletest/googlemock
10937   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10938 )
10939
10940 target_link_libraries(alts_grpc_record_protocol_test
10941   ${_gRPC_PROTOBUF_LIBRARIES}
10942   ${_gRPC_ALLTARGETS_LIBRARIES}
10943   alts_test_util
10944   gpr
10945   grpc
10946   ${_gRPC_GFLAGS_LIBRARIES}
10947 )
10948
10949
10950 endif (gRPC_BUILD_TESTS)
10951 if (gRPC_BUILD_TESTS)
10952
10953 add_executable(alts_handshaker_client_test
10954   test/core/tsi/alts/handshaker/alts_handshaker_client_test.cc
10955   third_party/googletest/googletest/src/gtest-all.cc
10956   third_party/googletest/googlemock/src/gmock-all.cc
10957 )
10958
10959
10960 target_include_directories(alts_handshaker_client_test
10961   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10962   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10963   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10964   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10965   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10966   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10967   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10968   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10969   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10970   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10971   PRIVATE third_party/googletest/googletest/include
10972   PRIVATE third_party/googletest/googletest
10973   PRIVATE third_party/googletest/googlemock/include
10974   PRIVATE third_party/googletest/googlemock
10975   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10976 )
10977
10978 target_link_libraries(alts_handshaker_client_test
10979   ${_gRPC_PROTOBUF_LIBRARIES}
10980   ${_gRPC_ALLTARGETS_LIBRARIES}
10981   alts_test_util
10982   gpr
10983   grpc
10984   ${_gRPC_GFLAGS_LIBRARIES}
10985 )
10986
10987
10988 endif (gRPC_BUILD_TESTS)
10989 if (gRPC_BUILD_TESTS)
10990
10991 add_executable(alts_handshaker_service_api_test
10992   test/core/tsi/alts/handshaker/alts_handshaker_service_api_test.cc
10993   third_party/googletest/googletest/src/gtest-all.cc
10994   third_party/googletest/googlemock/src/gmock-all.cc
10995 )
10996
10997
10998 target_include_directories(alts_handshaker_service_api_test
10999   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11000   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11001   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11002   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11003   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11004   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11005   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11006   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11007   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11008   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11009   PRIVATE third_party/googletest/googletest/include
11010   PRIVATE third_party/googletest/googletest
11011   PRIVATE third_party/googletest/googlemock/include
11012   PRIVATE third_party/googletest/googlemock
11013   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11014 )
11015
11016 target_link_libraries(alts_handshaker_service_api_test
11017   ${_gRPC_PROTOBUF_LIBRARIES}
11018   ${_gRPC_ALLTARGETS_LIBRARIES}
11019   alts_test_util
11020   gpr
11021   grpc
11022   ${_gRPC_GFLAGS_LIBRARIES}
11023 )
11024
11025
11026 endif (gRPC_BUILD_TESTS)
11027 if (gRPC_BUILD_TESTS)
11028
11029 add_executable(alts_iovec_record_protocol_test
11030   test/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol_test.cc
11031   third_party/googletest/googletest/src/gtest-all.cc
11032   third_party/googletest/googlemock/src/gmock-all.cc
11033 )
11034
11035
11036 target_include_directories(alts_iovec_record_protocol_test
11037   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11038   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11039   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11040   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11041   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11042   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11043   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11044   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11045   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11046   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11047   PRIVATE third_party/googletest/googletest/include
11048   PRIVATE third_party/googletest/googletest
11049   PRIVATE third_party/googletest/googlemock/include
11050   PRIVATE third_party/googletest/googlemock
11051   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11052 )
11053
11054 target_link_libraries(alts_iovec_record_protocol_test
11055   ${_gRPC_PROTOBUF_LIBRARIES}
11056   ${_gRPC_ALLTARGETS_LIBRARIES}
11057   alts_test_util
11058   gpr
11059   grpc
11060   ${_gRPC_GFLAGS_LIBRARIES}
11061 )
11062
11063
11064 endif (gRPC_BUILD_TESTS)
11065 if (gRPC_BUILD_TESTS)
11066
11067 add_executable(alts_security_connector_test
11068   test/core/security/alts_security_connector_test.cc
11069   third_party/googletest/googletest/src/gtest-all.cc
11070   third_party/googletest/googlemock/src/gmock-all.cc
11071 )
11072
11073
11074 target_include_directories(alts_security_connector_test
11075   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11076   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11077   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11078   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11079   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11080   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11081   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11082   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11083   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11084   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11085   PRIVATE third_party/googletest/googletest/include
11086   PRIVATE third_party/googletest/googletest
11087   PRIVATE third_party/googletest/googlemock/include
11088   PRIVATE third_party/googletest/googlemock
11089   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11090 )
11091
11092 target_link_libraries(alts_security_connector_test
11093   ${_gRPC_PROTOBUF_LIBRARIES}
11094   ${_gRPC_ALLTARGETS_LIBRARIES}
11095   gpr
11096   grpc
11097   ${_gRPC_GFLAGS_LIBRARIES}
11098 )
11099
11100
11101 endif (gRPC_BUILD_TESTS)
11102 if (gRPC_BUILD_TESTS)
11103
11104 add_executable(alts_tsi_handshaker_test
11105   test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc
11106   third_party/googletest/googletest/src/gtest-all.cc
11107   third_party/googletest/googlemock/src/gmock-all.cc
11108 )
11109
11110
11111 target_include_directories(alts_tsi_handshaker_test
11112   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11113   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11114   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11115   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11116   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11117   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11118   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11119   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11120   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11121   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11122   PRIVATE third_party/googletest/googletest/include
11123   PRIVATE third_party/googletest/googletest
11124   PRIVATE third_party/googletest/googlemock/include
11125   PRIVATE third_party/googletest/googlemock
11126   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11127 )
11128
11129 target_link_libraries(alts_tsi_handshaker_test
11130   ${_gRPC_PROTOBUF_LIBRARIES}
11131   ${_gRPC_ALLTARGETS_LIBRARIES}
11132   alts_test_util
11133   gpr
11134   grpc
11135   ${_gRPC_GFLAGS_LIBRARIES}
11136 )
11137
11138
11139 endif (gRPC_BUILD_TESTS)
11140 if (gRPC_BUILD_TESTS)
11141
11142 add_executable(alts_tsi_utils_test
11143   test/core/tsi/alts/handshaker/alts_tsi_utils_test.cc
11144   third_party/googletest/googletest/src/gtest-all.cc
11145   third_party/googletest/googlemock/src/gmock-all.cc
11146 )
11147
11148
11149 target_include_directories(alts_tsi_utils_test
11150   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11151   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11152   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11153   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11154   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11155   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11156   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11157   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11158   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11159   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11160   PRIVATE third_party/googletest/googletest/include
11161   PRIVATE third_party/googletest/googletest
11162   PRIVATE third_party/googletest/googlemock/include
11163   PRIVATE third_party/googletest/googlemock
11164   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11165 )
11166
11167 target_link_libraries(alts_tsi_utils_test
11168   ${_gRPC_PROTOBUF_LIBRARIES}
11169   ${_gRPC_ALLTARGETS_LIBRARIES}
11170   alts_test_util
11171   gpr
11172   grpc
11173   ${_gRPC_GFLAGS_LIBRARIES}
11174 )
11175
11176
11177 endif (gRPC_BUILD_TESTS)
11178 if (gRPC_BUILD_TESTS)
11179
11180 add_executable(alts_zero_copy_grpc_protector_test
11181   test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc
11182   third_party/googletest/googletest/src/gtest-all.cc
11183   third_party/googletest/googlemock/src/gmock-all.cc
11184 )
11185
11186
11187 target_include_directories(alts_zero_copy_grpc_protector_test
11188   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11189   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11190   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11191   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11192   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11193   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11194   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11195   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11196   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11197   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11198   PRIVATE third_party/googletest/googletest/include
11199   PRIVATE third_party/googletest/googletest
11200   PRIVATE third_party/googletest/googlemock/include
11201   PRIVATE third_party/googletest/googlemock
11202   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11203 )
11204
11205 target_link_libraries(alts_zero_copy_grpc_protector_test
11206   ${_gRPC_PROTOBUF_LIBRARIES}
11207   ${_gRPC_ALLTARGETS_LIBRARIES}
11208   alts_test_util
11209   gpr
11210   grpc
11211   ${_gRPC_GFLAGS_LIBRARIES}
11212 )
11213
11214
11215 endif (gRPC_BUILD_TESTS)
11216 if (gRPC_BUILD_TESTS)
11217
11218 add_executable(async_end2end_test
11219   test/cpp/end2end/async_end2end_test.cc
11220   third_party/googletest/googletest/src/gtest-all.cc
11221   third_party/googletest/googlemock/src/gmock-all.cc
11222 )
11223
11224
11225 target_include_directories(async_end2end_test
11226   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11227   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11228   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11229   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11230   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11231   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11232   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11233   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11234   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11235   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11236   PRIVATE third_party/googletest/googletest/include
11237   PRIVATE third_party/googletest/googletest
11238   PRIVATE third_party/googletest/googlemock/include
11239   PRIVATE third_party/googletest/googlemock
11240   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11241 )
11242
11243 target_link_libraries(async_end2end_test
11244   ${_gRPC_PROTOBUF_LIBRARIES}
11245   ${_gRPC_ALLTARGETS_LIBRARIES}
11246   grpc++_test_util
11247   grpc_test_util
11248   grpc++
11249   grpc
11250   gpr
11251   ${_gRPC_GFLAGS_LIBRARIES}
11252 )
11253
11254
11255 endif (gRPC_BUILD_TESTS)
11256 if (gRPC_BUILD_TESTS)
11257
11258 add_executable(auth_property_iterator_test
11259   test/cpp/common/auth_property_iterator_test.cc
11260   third_party/googletest/googletest/src/gtest-all.cc
11261   third_party/googletest/googlemock/src/gmock-all.cc
11262 )
11263
11264
11265 target_include_directories(auth_property_iterator_test
11266   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11267   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11268   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11269   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11270   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11271   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11272   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11273   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11274   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11275   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11276   PRIVATE third_party/googletest/googletest/include
11277   PRIVATE third_party/googletest/googletest
11278   PRIVATE third_party/googletest/googlemock/include
11279   PRIVATE third_party/googletest/googlemock
11280   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11281 )
11282
11283 target_link_libraries(auth_property_iterator_test
11284   ${_gRPC_PROTOBUF_LIBRARIES}
11285   ${_gRPC_ALLTARGETS_LIBRARIES}
11286   grpc++_test_util
11287   grpc_test_util
11288   grpc++
11289   grpc
11290   gpr
11291   ${_gRPC_GFLAGS_LIBRARIES}
11292 )
11293
11294
11295 endif (gRPC_BUILD_TESTS)
11296 if (gRPC_BUILD_TESTS)
11297
11298 add_executable(backoff_test
11299   test/core/backoff/backoff_test.cc
11300   third_party/googletest/googletest/src/gtest-all.cc
11301   third_party/googletest/googlemock/src/gmock-all.cc
11302 )
11303
11304
11305 target_include_directories(backoff_test
11306   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11307   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11308   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11309   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11310   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11311   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11312   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11313   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11314   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11315   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11316   PRIVATE third_party/googletest/googletest/include
11317   PRIVATE third_party/googletest/googletest
11318   PRIVATE third_party/googletest/googlemock/include
11319   PRIVATE third_party/googletest/googlemock
11320   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11321 )
11322
11323 target_link_libraries(backoff_test
11324   ${_gRPC_PROTOBUF_LIBRARIES}
11325   ${_gRPC_ALLTARGETS_LIBRARIES}
11326   grpc_test_util
11327   grpc
11328   gpr
11329   ${_gRPC_GFLAGS_LIBRARIES}
11330 )
11331
11332
11333 endif (gRPC_BUILD_TESTS)
11334 if (gRPC_BUILD_TESTS)
11335
11336 add_executable(bdp_estimator_test
11337   test/core/transport/bdp_estimator_test.cc
11338   third_party/googletest/googletest/src/gtest-all.cc
11339   third_party/googletest/googlemock/src/gmock-all.cc
11340 )
11341
11342
11343 target_include_directories(bdp_estimator_test
11344   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11345   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11346   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11347   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11348   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11349   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11350   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11351   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11352   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11353   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11354   PRIVATE third_party/googletest/googletest/include
11355   PRIVATE third_party/googletest/googletest
11356   PRIVATE third_party/googletest/googlemock/include
11357   PRIVATE third_party/googletest/googlemock
11358   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11359 )
11360
11361 target_link_libraries(bdp_estimator_test
11362   ${_gRPC_PROTOBUF_LIBRARIES}
11363   ${_gRPC_ALLTARGETS_LIBRARIES}
11364   grpc++_test_util
11365   grpc++
11366   grpc_test_util
11367   grpc
11368   gpr
11369   ${_gRPC_GFLAGS_LIBRARIES}
11370 )
11371
11372
11373 endif (gRPC_BUILD_TESTS)
11374 if (gRPC_BUILD_TESTS)
11375 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11376
11377 add_executable(bm_alarm
11378   test/cpp/microbenchmarks/bm_alarm.cc
11379   third_party/googletest/googletest/src/gtest-all.cc
11380   third_party/googletest/googlemock/src/gmock-all.cc
11381 )
11382
11383
11384 target_include_directories(bm_alarm
11385   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11386   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11387   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11388   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11389   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11390   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11391   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11392   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11393   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11394   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11395   PRIVATE third_party/googletest/googletest/include
11396   PRIVATE third_party/googletest/googletest
11397   PRIVATE third_party/googletest/googlemock/include
11398   PRIVATE third_party/googletest/googlemock
11399   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11400 )
11401
11402 target_link_libraries(bm_alarm
11403   ${_gRPC_PROTOBUF_LIBRARIES}
11404   ${_gRPC_ALLTARGETS_LIBRARIES}
11405   grpc_benchmark
11406   ${_gRPC_BENCHMARK_LIBRARIES}
11407   grpc++_test_util_unsecure
11408   grpc_test_util_unsecure
11409   grpc++_unsecure
11410   grpc_unsecure
11411   gpr
11412   grpc++_test_config
11413   ${_gRPC_GFLAGS_LIBRARIES}
11414 )
11415
11416
11417 endif()
11418 endif (gRPC_BUILD_TESTS)
11419 if (gRPC_BUILD_TESTS)
11420 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11421
11422 add_executable(bm_arena
11423   test/cpp/microbenchmarks/bm_arena.cc
11424   third_party/googletest/googletest/src/gtest-all.cc
11425   third_party/googletest/googlemock/src/gmock-all.cc
11426 )
11427
11428
11429 target_include_directories(bm_arena
11430   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11431   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11432   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11433   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11434   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11435   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11436   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11437   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11438   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11439   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11440   PRIVATE third_party/googletest/googletest/include
11441   PRIVATE third_party/googletest/googletest
11442   PRIVATE third_party/googletest/googlemock/include
11443   PRIVATE third_party/googletest/googlemock
11444   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11445 )
11446
11447 target_link_libraries(bm_arena
11448   ${_gRPC_PROTOBUF_LIBRARIES}
11449   ${_gRPC_ALLTARGETS_LIBRARIES}
11450   grpc_benchmark
11451   ${_gRPC_BENCHMARK_LIBRARIES}
11452   grpc++_test_util_unsecure
11453   grpc_test_util_unsecure
11454   grpc++_unsecure
11455   grpc_unsecure
11456   gpr
11457   grpc++_test_config
11458   ${_gRPC_GFLAGS_LIBRARIES}
11459 )
11460
11461
11462 endif()
11463 endif (gRPC_BUILD_TESTS)
11464 if (gRPC_BUILD_TESTS)
11465 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11466
11467 add_executable(bm_byte_buffer
11468   test/cpp/microbenchmarks/bm_byte_buffer.cc
11469   third_party/googletest/googletest/src/gtest-all.cc
11470   third_party/googletest/googlemock/src/gmock-all.cc
11471 )
11472
11473
11474 target_include_directories(bm_byte_buffer
11475   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11476   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11477   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11478   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11479   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11480   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11481   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11482   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11483   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11484   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11485   PRIVATE third_party/googletest/googletest/include
11486   PRIVATE third_party/googletest/googletest
11487   PRIVATE third_party/googletest/googlemock/include
11488   PRIVATE third_party/googletest/googlemock
11489   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11490 )
11491
11492 target_link_libraries(bm_byte_buffer
11493   ${_gRPC_PROTOBUF_LIBRARIES}
11494   ${_gRPC_ALLTARGETS_LIBRARIES}
11495   grpc_benchmark
11496   ${_gRPC_BENCHMARK_LIBRARIES}
11497   grpc++_test_util_unsecure
11498   grpc_test_util_unsecure
11499   grpc++_unsecure
11500   grpc_unsecure
11501   gpr
11502   grpc++_test_config
11503   ${_gRPC_GFLAGS_LIBRARIES}
11504 )
11505
11506
11507 endif()
11508 endif (gRPC_BUILD_TESTS)
11509 if (gRPC_BUILD_TESTS)
11510 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11511
11512 add_executable(bm_call_create
11513   test/cpp/microbenchmarks/bm_call_create.cc
11514   third_party/googletest/googletest/src/gtest-all.cc
11515   third_party/googletest/googlemock/src/gmock-all.cc
11516 )
11517
11518
11519 target_include_directories(bm_call_create
11520   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11521   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11522   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11523   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11524   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11525   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11526   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11527   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11528   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11529   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11530   PRIVATE third_party/googletest/googletest/include
11531   PRIVATE third_party/googletest/googletest
11532   PRIVATE third_party/googletest/googlemock/include
11533   PRIVATE third_party/googletest/googlemock
11534   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11535 )
11536
11537 target_link_libraries(bm_call_create
11538   ${_gRPC_PROTOBUF_LIBRARIES}
11539   ${_gRPC_ALLTARGETS_LIBRARIES}
11540   grpc_benchmark
11541   ${_gRPC_BENCHMARK_LIBRARIES}
11542   grpc++_test_util_unsecure
11543   grpc_test_util_unsecure
11544   grpc++_unsecure
11545   grpc_unsecure
11546   gpr
11547   grpc++_test_config
11548   ${_gRPC_GFLAGS_LIBRARIES}
11549 )
11550
11551
11552 endif()
11553 endif (gRPC_BUILD_TESTS)
11554 if (gRPC_BUILD_TESTS)
11555 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11556
11557 add_executable(bm_channel
11558   test/cpp/microbenchmarks/bm_channel.cc
11559   third_party/googletest/googletest/src/gtest-all.cc
11560   third_party/googletest/googlemock/src/gmock-all.cc
11561 )
11562
11563
11564 target_include_directories(bm_channel
11565   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11566   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11567   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11568   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11569   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11570   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11571   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11572   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11573   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11574   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11575   PRIVATE third_party/googletest/googletest/include
11576   PRIVATE third_party/googletest/googletest
11577   PRIVATE third_party/googletest/googlemock/include
11578   PRIVATE third_party/googletest/googlemock
11579   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11580 )
11581
11582 target_link_libraries(bm_channel
11583   ${_gRPC_PROTOBUF_LIBRARIES}
11584   ${_gRPC_ALLTARGETS_LIBRARIES}
11585   grpc_benchmark
11586   ${_gRPC_BENCHMARK_LIBRARIES}
11587   grpc++_test_util_unsecure
11588   grpc_test_util_unsecure
11589   grpc++_unsecure
11590   grpc_unsecure
11591   gpr
11592   grpc++_test_config
11593   ${_gRPC_GFLAGS_LIBRARIES}
11594 )
11595
11596
11597 endif()
11598 endif (gRPC_BUILD_TESTS)
11599 if (gRPC_BUILD_TESTS)
11600 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11601
11602 add_executable(bm_chttp2_hpack
11603   test/cpp/microbenchmarks/bm_chttp2_hpack.cc
11604   third_party/googletest/googletest/src/gtest-all.cc
11605   third_party/googletest/googlemock/src/gmock-all.cc
11606 )
11607
11608
11609 target_include_directories(bm_chttp2_hpack
11610   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11611   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11612   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11613   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11614   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11615   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11616   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11617   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11618   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11619   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11620   PRIVATE third_party/googletest/googletest/include
11621   PRIVATE third_party/googletest/googletest
11622   PRIVATE third_party/googletest/googlemock/include
11623   PRIVATE third_party/googletest/googlemock
11624   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11625 )
11626
11627 target_link_libraries(bm_chttp2_hpack
11628   ${_gRPC_PROTOBUF_LIBRARIES}
11629   ${_gRPC_ALLTARGETS_LIBRARIES}
11630   grpc_benchmark
11631   ${_gRPC_BENCHMARK_LIBRARIES}
11632   grpc++_test_util_unsecure
11633   grpc_test_util_unsecure
11634   grpc++_unsecure
11635   grpc_unsecure
11636   gpr
11637   grpc++_test_config
11638   ${_gRPC_GFLAGS_LIBRARIES}
11639 )
11640
11641
11642 endif()
11643 endif (gRPC_BUILD_TESTS)
11644 if (gRPC_BUILD_TESTS)
11645 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11646
11647 add_executable(bm_chttp2_transport
11648   test/cpp/microbenchmarks/bm_chttp2_transport.cc
11649   third_party/googletest/googletest/src/gtest-all.cc
11650   third_party/googletest/googlemock/src/gmock-all.cc
11651 )
11652
11653
11654 target_include_directories(bm_chttp2_transport
11655   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11656   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11657   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11658   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11659   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11660   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11661   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11662   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11663   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11664   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11665   PRIVATE third_party/googletest/googletest/include
11666   PRIVATE third_party/googletest/googletest
11667   PRIVATE third_party/googletest/googlemock/include
11668   PRIVATE third_party/googletest/googlemock
11669   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11670 )
11671
11672 target_link_libraries(bm_chttp2_transport
11673   ${_gRPC_PROTOBUF_LIBRARIES}
11674   ${_gRPC_ALLTARGETS_LIBRARIES}
11675   grpc_benchmark
11676   ${_gRPC_BENCHMARK_LIBRARIES}
11677   grpc++_test_util_unsecure
11678   grpc_test_util_unsecure
11679   grpc++_unsecure
11680   grpc_unsecure
11681   gpr
11682   grpc++_test_config
11683   ${_gRPC_GFLAGS_LIBRARIES}
11684 )
11685
11686
11687 endif()
11688 endif (gRPC_BUILD_TESTS)
11689 if (gRPC_BUILD_TESTS)
11690 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11691
11692 add_executable(bm_closure
11693   test/cpp/microbenchmarks/bm_closure.cc
11694   third_party/googletest/googletest/src/gtest-all.cc
11695   third_party/googletest/googlemock/src/gmock-all.cc
11696 )
11697
11698
11699 target_include_directories(bm_closure
11700   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11701   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11702   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11703   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11704   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11705   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11706   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11707   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11708   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11709   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11710   PRIVATE third_party/googletest/googletest/include
11711   PRIVATE third_party/googletest/googletest
11712   PRIVATE third_party/googletest/googlemock/include
11713   PRIVATE third_party/googletest/googlemock
11714   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11715 )
11716
11717 target_link_libraries(bm_closure
11718   ${_gRPC_PROTOBUF_LIBRARIES}
11719   ${_gRPC_ALLTARGETS_LIBRARIES}
11720   grpc_benchmark
11721   ${_gRPC_BENCHMARK_LIBRARIES}
11722   grpc++_test_util_unsecure
11723   grpc_test_util_unsecure
11724   grpc++_unsecure
11725   grpc_unsecure
11726   gpr
11727   grpc++_test_config
11728   ${_gRPC_GFLAGS_LIBRARIES}
11729 )
11730
11731
11732 endif()
11733 endif (gRPC_BUILD_TESTS)
11734 if (gRPC_BUILD_TESTS)
11735 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11736
11737 add_executable(bm_cq
11738   test/cpp/microbenchmarks/bm_cq.cc
11739   third_party/googletest/googletest/src/gtest-all.cc
11740   third_party/googletest/googlemock/src/gmock-all.cc
11741 )
11742
11743
11744 target_include_directories(bm_cq
11745   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11746   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11747   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11748   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11749   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11750   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11751   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11752   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11753   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11754   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11755   PRIVATE third_party/googletest/googletest/include
11756   PRIVATE third_party/googletest/googletest
11757   PRIVATE third_party/googletest/googlemock/include
11758   PRIVATE third_party/googletest/googlemock
11759   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11760 )
11761
11762 target_link_libraries(bm_cq
11763   ${_gRPC_PROTOBUF_LIBRARIES}
11764   ${_gRPC_ALLTARGETS_LIBRARIES}
11765   grpc_benchmark
11766   ${_gRPC_BENCHMARK_LIBRARIES}
11767   grpc++_test_util_unsecure
11768   grpc_test_util_unsecure
11769   grpc++_unsecure
11770   grpc_unsecure
11771   gpr
11772   grpc++_test_config
11773   ${_gRPC_GFLAGS_LIBRARIES}
11774 )
11775
11776
11777 endif()
11778 endif (gRPC_BUILD_TESTS)
11779 if (gRPC_BUILD_TESTS)
11780 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11781
11782 add_executable(bm_cq_multiple_threads
11783   test/cpp/microbenchmarks/bm_cq_multiple_threads.cc
11784   third_party/googletest/googletest/src/gtest-all.cc
11785   third_party/googletest/googlemock/src/gmock-all.cc
11786 )
11787
11788
11789 target_include_directories(bm_cq_multiple_threads
11790   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11791   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11792   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11793   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11794   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11795   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11796   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11797   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11798   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11799   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11800   PRIVATE third_party/googletest/googletest/include
11801   PRIVATE third_party/googletest/googletest
11802   PRIVATE third_party/googletest/googlemock/include
11803   PRIVATE third_party/googletest/googlemock
11804   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11805 )
11806
11807 target_link_libraries(bm_cq_multiple_threads
11808   ${_gRPC_PROTOBUF_LIBRARIES}
11809   ${_gRPC_ALLTARGETS_LIBRARIES}
11810   grpc_benchmark
11811   ${_gRPC_BENCHMARK_LIBRARIES}
11812   grpc++_test_util_unsecure
11813   grpc_test_util_unsecure
11814   grpc++_unsecure
11815   grpc_unsecure
11816   gpr
11817   grpc++_test_config
11818   ${_gRPC_GFLAGS_LIBRARIES}
11819 )
11820
11821
11822 endif()
11823 endif (gRPC_BUILD_TESTS)
11824 if (gRPC_BUILD_TESTS)
11825 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11826
11827 add_executable(bm_error
11828   test/cpp/microbenchmarks/bm_error.cc
11829   third_party/googletest/googletest/src/gtest-all.cc
11830   third_party/googletest/googlemock/src/gmock-all.cc
11831 )
11832
11833
11834 target_include_directories(bm_error
11835   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11836   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11837   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11838   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11839   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11840   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11841   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11842   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11843   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11844   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11845   PRIVATE third_party/googletest/googletest/include
11846   PRIVATE third_party/googletest/googletest
11847   PRIVATE third_party/googletest/googlemock/include
11848   PRIVATE third_party/googletest/googlemock
11849   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11850 )
11851
11852 target_link_libraries(bm_error
11853   ${_gRPC_PROTOBUF_LIBRARIES}
11854   ${_gRPC_ALLTARGETS_LIBRARIES}
11855   grpc_benchmark
11856   ${_gRPC_BENCHMARK_LIBRARIES}
11857   grpc++_test_util_unsecure
11858   grpc_test_util_unsecure
11859   grpc++_unsecure
11860   grpc_unsecure
11861   gpr
11862   grpc++_test_config
11863   ${_gRPC_GFLAGS_LIBRARIES}
11864 )
11865
11866
11867 endif()
11868 endif (gRPC_BUILD_TESTS)
11869 if (gRPC_BUILD_TESTS)
11870 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11871
11872 add_executable(bm_fullstack_streaming_ping_pong
11873   test/cpp/microbenchmarks/bm_fullstack_streaming_ping_pong.cc
11874   third_party/googletest/googletest/src/gtest-all.cc
11875   third_party/googletest/googlemock/src/gmock-all.cc
11876 )
11877
11878
11879 target_include_directories(bm_fullstack_streaming_ping_pong
11880   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11881   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11882   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11883   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11884   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11885   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11886   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11887   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11888   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11889   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11890   PRIVATE third_party/googletest/googletest/include
11891   PRIVATE third_party/googletest/googletest
11892   PRIVATE third_party/googletest/googlemock/include
11893   PRIVATE third_party/googletest/googlemock
11894   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11895 )
11896
11897 target_link_libraries(bm_fullstack_streaming_ping_pong
11898   ${_gRPC_PROTOBUF_LIBRARIES}
11899   ${_gRPC_ALLTARGETS_LIBRARIES}
11900   grpc_benchmark
11901   ${_gRPC_BENCHMARK_LIBRARIES}
11902   grpc++_test_util_unsecure
11903   grpc_test_util_unsecure
11904   grpc++_unsecure
11905   grpc_unsecure
11906   gpr
11907   grpc++_test_config
11908   ${_gRPC_GFLAGS_LIBRARIES}
11909 )
11910
11911
11912 endif()
11913 endif (gRPC_BUILD_TESTS)
11914 if (gRPC_BUILD_TESTS)
11915 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11916
11917 add_executable(bm_fullstack_streaming_pump
11918   test/cpp/microbenchmarks/bm_fullstack_streaming_pump.cc
11919   third_party/googletest/googletest/src/gtest-all.cc
11920   third_party/googletest/googlemock/src/gmock-all.cc
11921 )
11922
11923
11924 target_include_directories(bm_fullstack_streaming_pump
11925   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11926   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11927   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11928   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11929   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11930   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11931   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11932   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11933   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11934   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11935   PRIVATE third_party/googletest/googletest/include
11936   PRIVATE third_party/googletest/googletest
11937   PRIVATE third_party/googletest/googlemock/include
11938   PRIVATE third_party/googletest/googlemock
11939   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11940 )
11941
11942 target_link_libraries(bm_fullstack_streaming_pump
11943   ${_gRPC_PROTOBUF_LIBRARIES}
11944   ${_gRPC_ALLTARGETS_LIBRARIES}
11945   grpc_benchmark
11946   ${_gRPC_BENCHMARK_LIBRARIES}
11947   grpc++_test_util_unsecure
11948   grpc_test_util_unsecure
11949   grpc++_unsecure
11950   grpc_unsecure
11951   gpr
11952   grpc++_test_config
11953   ${_gRPC_GFLAGS_LIBRARIES}
11954 )
11955
11956
11957 endif()
11958 endif (gRPC_BUILD_TESTS)
11959 if (gRPC_BUILD_TESTS)
11960 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11961
11962 add_executable(bm_fullstack_trickle
11963   test/cpp/microbenchmarks/bm_fullstack_trickle.cc
11964   third_party/googletest/googletest/src/gtest-all.cc
11965   third_party/googletest/googlemock/src/gmock-all.cc
11966 )
11967
11968
11969 target_include_directories(bm_fullstack_trickle
11970   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11971   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11972   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11973   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11974   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11975   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11976   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11977   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11978   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11979   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11980   PRIVATE third_party/googletest/googletest/include
11981   PRIVATE third_party/googletest/googletest
11982   PRIVATE third_party/googletest/googlemock/include
11983   PRIVATE third_party/googletest/googlemock
11984   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11985 )
11986
11987 target_link_libraries(bm_fullstack_trickle
11988   ${_gRPC_PROTOBUF_LIBRARIES}
11989   ${_gRPC_ALLTARGETS_LIBRARIES}
11990   grpc_benchmark
11991   ${_gRPC_BENCHMARK_LIBRARIES}
11992   grpc++_test_util_unsecure
11993   grpc_test_util_unsecure
11994   grpc++_unsecure
11995   grpc_unsecure
11996   gpr
11997   grpc++_test_config
11998   ${_gRPC_GFLAGS_LIBRARIES}
11999 )
12000
12001
12002 endif()
12003 endif (gRPC_BUILD_TESTS)
12004 if (gRPC_BUILD_TESTS)
12005 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
12006
12007 add_executable(bm_fullstack_unary_ping_pong
12008   test/cpp/microbenchmarks/bm_fullstack_unary_ping_pong.cc
12009   third_party/googletest/googletest/src/gtest-all.cc
12010   third_party/googletest/googlemock/src/gmock-all.cc
12011 )
12012
12013
12014 target_include_directories(bm_fullstack_unary_ping_pong
12015   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12016   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12017   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12018   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12019   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12020   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12021   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12022   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12023   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12024   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12025   PRIVATE third_party/googletest/googletest/include
12026   PRIVATE third_party/googletest/googletest
12027   PRIVATE third_party/googletest/googlemock/include
12028   PRIVATE third_party/googletest/googlemock
12029   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12030 )
12031
12032 target_link_libraries(bm_fullstack_unary_ping_pong
12033   ${_gRPC_PROTOBUF_LIBRARIES}
12034   ${_gRPC_ALLTARGETS_LIBRARIES}
12035   grpc_benchmark
12036   ${_gRPC_BENCHMARK_LIBRARIES}
12037   grpc++_test_util_unsecure
12038   grpc_test_util_unsecure
12039   grpc++_unsecure
12040   grpc_unsecure
12041   gpr
12042   grpc++_test_config
12043   ${_gRPC_GFLAGS_LIBRARIES}
12044 )
12045
12046
12047 endif()
12048 endif (gRPC_BUILD_TESTS)
12049 if (gRPC_BUILD_TESTS)
12050 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
12051
12052 add_executable(bm_metadata
12053   test/cpp/microbenchmarks/bm_metadata.cc
12054   third_party/googletest/googletest/src/gtest-all.cc
12055   third_party/googletest/googlemock/src/gmock-all.cc
12056 )
12057
12058
12059 target_include_directories(bm_metadata
12060   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12061   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12062   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12063   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12064   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12065   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12066   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12067   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12068   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12069   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12070   PRIVATE third_party/googletest/googletest/include
12071   PRIVATE third_party/googletest/googletest
12072   PRIVATE third_party/googletest/googlemock/include
12073   PRIVATE third_party/googletest/googlemock
12074   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12075 )
12076
12077 target_link_libraries(bm_metadata
12078   ${_gRPC_PROTOBUF_LIBRARIES}
12079   ${_gRPC_ALLTARGETS_LIBRARIES}
12080   grpc_benchmark
12081   ${_gRPC_BENCHMARK_LIBRARIES}
12082   grpc++_test_util_unsecure
12083   grpc_test_util_unsecure
12084   grpc++_unsecure
12085   grpc_unsecure
12086   gpr
12087   grpc++_test_config
12088   ${_gRPC_GFLAGS_LIBRARIES}
12089 )
12090
12091
12092 endif()
12093 endif (gRPC_BUILD_TESTS)
12094 if (gRPC_BUILD_TESTS)
12095 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
12096
12097 add_executable(bm_pollset
12098   test/cpp/microbenchmarks/bm_pollset.cc
12099   third_party/googletest/googletest/src/gtest-all.cc
12100   third_party/googletest/googlemock/src/gmock-all.cc
12101 )
12102
12103
12104 target_include_directories(bm_pollset
12105   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12106   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12107   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12108   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12109   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12110   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12111   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12112   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12113   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12114   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12115   PRIVATE third_party/googletest/googletest/include
12116   PRIVATE third_party/googletest/googletest
12117   PRIVATE third_party/googletest/googlemock/include
12118   PRIVATE third_party/googletest/googlemock
12119   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12120 )
12121
12122 target_link_libraries(bm_pollset
12123   ${_gRPC_PROTOBUF_LIBRARIES}
12124   ${_gRPC_ALLTARGETS_LIBRARIES}
12125   grpc_benchmark
12126   ${_gRPC_BENCHMARK_LIBRARIES}
12127   grpc++_test_util_unsecure
12128   grpc_test_util_unsecure
12129   grpc++_unsecure
12130   grpc_unsecure
12131   gpr
12132   grpc++_test_config
12133   ${_gRPC_GFLAGS_LIBRARIES}
12134 )
12135
12136
12137 endif()
12138 endif (gRPC_BUILD_TESTS)
12139 if (gRPC_BUILD_TESTS)
12140 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
12141
12142 add_executable(bm_timer
12143   test/cpp/microbenchmarks/bm_timer.cc
12144   third_party/googletest/googletest/src/gtest-all.cc
12145   third_party/googletest/googlemock/src/gmock-all.cc
12146 )
12147
12148
12149 target_include_directories(bm_timer
12150   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12151   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12152   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12153   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12154   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12155   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12156   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12157   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12158   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12159   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12160   PRIVATE third_party/googletest/googletest/include
12161   PRIVATE third_party/googletest/googletest
12162   PRIVATE third_party/googletest/googlemock/include
12163   PRIVATE third_party/googletest/googlemock
12164   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12165 )
12166
12167 target_link_libraries(bm_timer
12168   ${_gRPC_PROTOBUF_LIBRARIES}
12169   ${_gRPC_ALLTARGETS_LIBRARIES}
12170   grpc_benchmark
12171   ${_gRPC_BENCHMARK_LIBRARIES}
12172   grpc++_test_util_unsecure
12173   grpc_test_util_unsecure
12174   grpc++_unsecure
12175   grpc_unsecure
12176   gpr
12177   grpc++_test_config
12178   ${_gRPC_GFLAGS_LIBRARIES}
12179 )
12180
12181
12182 endif()
12183 endif (gRPC_BUILD_TESTS)
12184 if (gRPC_BUILD_TESTS)
12185
12186 add_executable(byte_stream_test
12187   test/core/transport/byte_stream_test.cc
12188   third_party/googletest/googletest/src/gtest-all.cc
12189   third_party/googletest/googlemock/src/gmock-all.cc
12190 )
12191
12192
12193 target_include_directories(byte_stream_test
12194   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12195   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12196   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12197   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12198   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12199   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12200   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12201   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12202   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12203   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12204   PRIVATE third_party/googletest/googletest/include
12205   PRIVATE third_party/googletest/googletest
12206   PRIVATE third_party/googletest/googlemock/include
12207   PRIVATE third_party/googletest/googlemock
12208   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12209 )
12210
12211 target_link_libraries(byte_stream_test
12212   ${_gRPC_PROTOBUF_LIBRARIES}
12213   ${_gRPC_ALLTARGETS_LIBRARIES}
12214   grpc_test_util
12215   grpc
12216   gpr
12217   ${_gRPC_GFLAGS_LIBRARIES}
12218 )
12219
12220
12221 endif (gRPC_BUILD_TESTS)
12222 if (gRPC_BUILD_TESTS)
12223
12224 add_executable(channel_arguments_test
12225   test/cpp/common/channel_arguments_test.cc
12226   third_party/googletest/googletest/src/gtest-all.cc
12227   third_party/googletest/googlemock/src/gmock-all.cc
12228 )
12229
12230
12231 target_include_directories(channel_arguments_test
12232   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12233   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12234   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12235   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12236   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12237   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12238   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12239   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12240   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12241   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12242   PRIVATE third_party/googletest/googletest/include
12243   PRIVATE third_party/googletest/googletest
12244   PRIVATE third_party/googletest/googlemock/include
12245   PRIVATE third_party/googletest/googlemock
12246   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12247 )
12248
12249 target_link_libraries(channel_arguments_test
12250   ${_gRPC_PROTOBUF_LIBRARIES}
12251   ${_gRPC_ALLTARGETS_LIBRARIES}
12252   grpc++
12253   grpc
12254   gpr
12255   ${_gRPC_GFLAGS_LIBRARIES}
12256 )
12257
12258
12259 endif (gRPC_BUILD_TESTS)
12260 if (gRPC_BUILD_TESTS)
12261
12262 add_executable(channel_filter_test
12263   test/cpp/common/channel_filter_test.cc
12264   third_party/googletest/googletest/src/gtest-all.cc
12265   third_party/googletest/googlemock/src/gmock-all.cc
12266 )
12267
12268
12269 target_include_directories(channel_filter_test
12270   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12271   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12272   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12273   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12274   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12275   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12276   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12277   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12278   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12279   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12280   PRIVATE third_party/googletest/googletest/include
12281   PRIVATE third_party/googletest/googletest
12282   PRIVATE third_party/googletest/googlemock/include
12283   PRIVATE third_party/googletest/googlemock
12284   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12285 )
12286
12287 target_link_libraries(channel_filter_test
12288   ${_gRPC_PROTOBUF_LIBRARIES}
12289   ${_gRPC_ALLTARGETS_LIBRARIES}
12290   grpc++
12291   grpc
12292   gpr
12293   ${_gRPC_GFLAGS_LIBRARIES}
12294 )
12295
12296
12297 endif (gRPC_BUILD_TESTS)
12298 if (gRPC_BUILD_TESTS)
12299
12300 add_executable(channel_trace_test
12301   test/core/channel/channel_trace_test.cc
12302   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
12303   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
12304   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
12305   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
12306   third_party/googletest/googletest/src/gtest-all.cc
12307   third_party/googletest/googlemock/src/gmock-all.cc
12308 )
12309
12310 protobuf_generate_grpc_cpp(
12311   src/proto/grpc/channelz/channelz.proto
12312 )
12313
12314 target_include_directories(channel_trace_test
12315   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12316   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12317   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12318   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12319   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12320   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12321   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12322   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12323   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12324   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12325   PRIVATE third_party/googletest/googletest/include
12326   PRIVATE third_party/googletest/googletest
12327   PRIVATE third_party/googletest/googlemock/include
12328   PRIVATE third_party/googletest/googlemock
12329   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12330 )
12331
12332 target_link_libraries(channel_trace_test
12333   ${_gRPC_PROTOBUF_LIBRARIES}
12334   ${_gRPC_ALLTARGETS_LIBRARIES}
12335   grpc_test_util
12336   grpc++_test_util
12337   grpc++
12338   grpc
12339   gpr
12340   ${_gRPC_GFLAGS_LIBRARIES}
12341 )
12342
12343
12344 endif (gRPC_BUILD_TESTS)
12345 if (gRPC_BUILD_TESTS)
12346
12347 add_executable(channelz_registry_test
12348   test/core/channel/channelz_registry_test.cc
12349   third_party/googletest/googletest/src/gtest-all.cc
12350   third_party/googletest/googlemock/src/gmock-all.cc
12351 )
12352
12353
12354 target_include_directories(channelz_registry_test
12355   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12356   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12357   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12358   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12359   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12360   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12361   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12362   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12363   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12364   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12365   PRIVATE third_party/googletest/googletest/include
12366   PRIVATE third_party/googletest/googletest
12367   PRIVATE third_party/googletest/googlemock/include
12368   PRIVATE third_party/googletest/googlemock
12369   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12370 )
12371
12372 target_link_libraries(channelz_registry_test
12373   ${_gRPC_PROTOBUF_LIBRARIES}
12374   ${_gRPC_ALLTARGETS_LIBRARIES}
12375   grpc_test_util
12376   grpc++_test_util
12377   grpc++
12378   grpc
12379   gpr
12380   ${_gRPC_GFLAGS_LIBRARIES}
12381 )
12382
12383
12384 endif (gRPC_BUILD_TESTS)
12385 if (gRPC_BUILD_TESTS)
12386
12387 add_executable(channelz_service_test
12388   test/cpp/end2end/channelz_service_test.cc
12389   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
12390   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
12391   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
12392   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
12393   third_party/googletest/googletest/src/gtest-all.cc
12394   third_party/googletest/googlemock/src/gmock-all.cc
12395 )
12396
12397 protobuf_generate_grpc_cpp(
12398   src/proto/grpc/channelz/channelz.proto
12399 )
12400
12401 target_include_directories(channelz_service_test
12402   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12403   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12404   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12405   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12406   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12407   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12408   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12409   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12410   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12411   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12412   PRIVATE third_party/googletest/googletest/include
12413   PRIVATE third_party/googletest/googletest
12414   PRIVATE third_party/googletest/googlemock/include
12415   PRIVATE third_party/googletest/googlemock
12416   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12417 )
12418
12419 target_link_libraries(channelz_service_test
12420   ${_gRPC_PROTOBUF_LIBRARIES}
12421   ${_gRPC_ALLTARGETS_LIBRARIES}
12422   grpcpp_channelz
12423   grpc++_test_util
12424   grpc_test_util
12425   grpc++
12426   grpc
12427   gpr
12428   ${_gRPC_GFLAGS_LIBRARIES}
12429 )
12430
12431
12432 endif (gRPC_BUILD_TESTS)
12433 if (gRPC_BUILD_TESTS)
12434
12435 add_executable(channelz_test
12436   test/core/channel/channelz_test.cc
12437   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
12438   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
12439   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
12440   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
12441   third_party/googletest/googletest/src/gtest-all.cc
12442   third_party/googletest/googlemock/src/gmock-all.cc
12443 )
12444
12445 protobuf_generate_grpc_cpp(
12446   src/proto/grpc/channelz/channelz.proto
12447 )
12448
12449 target_include_directories(channelz_test
12450   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12451   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12452   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12453   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12454   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12455   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12456   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12457   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12458   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12459   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12460   PRIVATE third_party/googletest/googletest/include
12461   PRIVATE third_party/googletest/googletest
12462   PRIVATE third_party/googletest/googlemock/include
12463   PRIVATE third_party/googletest/googlemock
12464   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12465 )
12466
12467 target_link_libraries(channelz_test
12468   ${_gRPC_PROTOBUF_LIBRARIES}
12469   ${_gRPC_ALLTARGETS_LIBRARIES}
12470   grpc_test_util
12471   grpc++_test_util
12472   grpc++
12473   grpc
12474   gpr
12475   ${_gRPC_GFLAGS_LIBRARIES}
12476 )
12477
12478
12479 endif (gRPC_BUILD_TESTS)
12480 if (gRPC_BUILD_TESTS)
12481
12482 add_executable(check_gcp_environment_linux_test
12483   test/core/security/check_gcp_environment_linux_test.cc
12484   third_party/googletest/googletest/src/gtest-all.cc
12485   third_party/googletest/googlemock/src/gmock-all.cc
12486 )
12487
12488
12489 target_include_directories(check_gcp_environment_linux_test
12490   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12491   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12492   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12493   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12494   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12495   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12496   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12497   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12498   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12499   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12500   PRIVATE third_party/googletest/googletest/include
12501   PRIVATE third_party/googletest/googletest
12502   PRIVATE third_party/googletest/googlemock/include
12503   PRIVATE third_party/googletest/googlemock
12504   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12505 )
12506
12507 target_link_libraries(check_gcp_environment_linux_test
12508   ${_gRPC_PROTOBUF_LIBRARIES}
12509   ${_gRPC_ALLTARGETS_LIBRARIES}
12510   grpc
12511   gpr
12512   ${_gRPC_GFLAGS_LIBRARIES}
12513 )
12514
12515
12516 endif (gRPC_BUILD_TESTS)
12517 if (gRPC_BUILD_TESTS)
12518
12519 add_executable(check_gcp_environment_windows_test
12520   test/core/security/check_gcp_environment_windows_test.cc
12521   third_party/googletest/googletest/src/gtest-all.cc
12522   third_party/googletest/googlemock/src/gmock-all.cc
12523 )
12524
12525
12526 target_include_directories(check_gcp_environment_windows_test
12527   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12528   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12529   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12530   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12531   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12532   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12533   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12534   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12535   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12536   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12537   PRIVATE third_party/googletest/googletest/include
12538   PRIVATE third_party/googletest/googletest
12539   PRIVATE third_party/googletest/googlemock/include
12540   PRIVATE third_party/googletest/googlemock
12541   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12542 )
12543
12544 target_link_libraries(check_gcp_environment_windows_test
12545   ${_gRPC_PROTOBUF_LIBRARIES}
12546   ${_gRPC_ALLTARGETS_LIBRARIES}
12547   grpc
12548   gpr
12549   ${_gRPC_GFLAGS_LIBRARIES}
12550 )
12551
12552
12553 endif (gRPC_BUILD_TESTS)
12554 if (gRPC_BUILD_TESTS)
12555
12556 add_executable(chttp2_settings_timeout_test
12557   test/core/transport/chttp2/settings_timeout_test.cc
12558   third_party/googletest/googletest/src/gtest-all.cc
12559   third_party/googletest/googlemock/src/gmock-all.cc
12560 )
12561
12562
12563 target_include_directories(chttp2_settings_timeout_test
12564   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12565   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12566   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12567   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12568   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12569   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12570   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12571   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12572   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12573   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12574   PRIVATE third_party/googletest/googletest/include
12575   PRIVATE third_party/googletest/googletest
12576   PRIVATE third_party/googletest/googlemock/include
12577   PRIVATE third_party/googletest/googlemock
12578   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12579 )
12580
12581 target_link_libraries(chttp2_settings_timeout_test
12582   ${_gRPC_PROTOBUF_LIBRARIES}
12583   ${_gRPC_ALLTARGETS_LIBRARIES}
12584   grpc_test_util
12585   grpc
12586   gpr
12587   ${_gRPC_GFLAGS_LIBRARIES}
12588 )
12589
12590
12591 endif (gRPC_BUILD_TESTS)
12592 if (gRPC_BUILD_TESTS)
12593
12594 add_executable(cli_call_test
12595   test/cpp/util/cli_call_test.cc
12596   third_party/googletest/googletest/src/gtest-all.cc
12597   third_party/googletest/googlemock/src/gmock-all.cc
12598 )
12599
12600
12601 target_include_directories(cli_call_test
12602   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12603   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12604   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12605   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12606   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12607   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12608   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12609   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12610   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12611   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12612   PRIVATE third_party/googletest/googletest/include
12613   PRIVATE third_party/googletest/googletest
12614   PRIVATE third_party/googletest/googlemock/include
12615   PRIVATE third_party/googletest/googlemock
12616   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12617 )
12618
12619 target_link_libraries(cli_call_test
12620   ${_gRPC_PROTOBUF_LIBRARIES}
12621   ${_gRPC_ALLTARGETS_LIBRARIES}
12622   grpc_cli_libs
12623   grpc++_test_util
12624   grpc_test_util
12625   grpc++
12626   grpc
12627   gpr
12628   ${_gRPC_GFLAGS_LIBRARIES}
12629 )
12630
12631
12632 endif (gRPC_BUILD_TESTS)
12633 if (gRPC_BUILD_TESTS)
12634
12635 add_executable(client_callback_end2end_test
12636   test/cpp/end2end/client_callback_end2end_test.cc
12637   test/cpp/end2end/interceptors_util.cc
12638   third_party/googletest/googletest/src/gtest-all.cc
12639   third_party/googletest/googlemock/src/gmock-all.cc
12640 )
12641
12642
12643 target_include_directories(client_callback_end2end_test
12644   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12645   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12646   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12647   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12648   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12649   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12650   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12651   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12652   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12653   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12654   PRIVATE third_party/googletest/googletest/include
12655   PRIVATE third_party/googletest/googletest
12656   PRIVATE third_party/googletest/googlemock/include
12657   PRIVATE third_party/googletest/googlemock
12658   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12659 )
12660
12661 target_link_libraries(client_callback_end2end_test
12662   ${_gRPC_PROTOBUF_LIBRARIES}
12663   ${_gRPC_ALLTARGETS_LIBRARIES}
12664   grpc++_test_util
12665   grpc_test_util
12666   grpc++
12667   grpc
12668   gpr
12669   ${_gRPC_GFLAGS_LIBRARIES}
12670 )
12671
12672
12673 endif (gRPC_BUILD_TESTS)
12674 if (gRPC_BUILD_TESTS)
12675
12676 add_executable(client_channel_stress_test
12677   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc
12678   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc
12679   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h
12680   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h
12681   test/cpp/client/client_channel_stress_test.cc
12682   third_party/googletest/googletest/src/gtest-all.cc
12683   third_party/googletest/googlemock/src/gmock-all.cc
12684 )
12685
12686 protobuf_generate_grpc_cpp(
12687   src/proto/grpc/lb/v1/load_balancer.proto
12688 )
12689
12690 target_include_directories(client_channel_stress_test
12691   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12692   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12693   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12694   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12695   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12696   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12697   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12698   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12699   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12700   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12701   PRIVATE third_party/googletest/googletest/include
12702   PRIVATE third_party/googletest/googletest
12703   PRIVATE third_party/googletest/googlemock/include
12704   PRIVATE third_party/googletest/googlemock
12705   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12706 )
12707
12708 target_link_libraries(client_channel_stress_test
12709   ${_gRPC_PROTOBUF_LIBRARIES}
12710   ${_gRPC_ALLTARGETS_LIBRARIES}
12711   grpc++_test_util
12712   grpc_test_util
12713   grpc++
12714   grpc
12715   gpr
12716   ${_gRPC_GFLAGS_LIBRARIES}
12717 )
12718
12719
12720 endif (gRPC_BUILD_TESTS)
12721 if (gRPC_BUILD_TESTS)
12722 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
12723
12724 add_executable(client_crash_test
12725   test/cpp/end2end/client_crash_test.cc
12726   third_party/googletest/googletest/src/gtest-all.cc
12727   third_party/googletest/googlemock/src/gmock-all.cc
12728 )
12729
12730
12731 target_include_directories(client_crash_test
12732   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12733   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12734   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12735   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12736   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12737   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12738   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12739   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12740   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12741   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12742   PRIVATE third_party/googletest/googletest/include
12743   PRIVATE third_party/googletest/googletest
12744   PRIVATE third_party/googletest/googlemock/include
12745   PRIVATE third_party/googletest/googlemock
12746   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12747 )
12748
12749 target_link_libraries(client_crash_test
12750   ${_gRPC_PROTOBUF_LIBRARIES}
12751   ${_gRPC_ALLTARGETS_LIBRARIES}
12752   grpc++_test_util
12753   grpc_test_util
12754   grpc++
12755   grpc
12756   gpr
12757   ${_gRPC_GFLAGS_LIBRARIES}
12758 )
12759
12760
12761 endif()
12762 endif (gRPC_BUILD_TESTS)
12763 if (gRPC_BUILD_TESTS)
12764
12765 add_executable(client_crash_test_server
12766   test/cpp/end2end/client_crash_test_server.cc
12767   third_party/googletest/googletest/src/gtest-all.cc
12768   third_party/googletest/googlemock/src/gmock-all.cc
12769 )
12770
12771
12772 target_include_directories(client_crash_test_server
12773   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12774   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12775   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12776   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12777   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12778   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12779   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12780   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12781   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12782   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12783   PRIVATE third_party/googletest/googletest/include
12784   PRIVATE third_party/googletest/googletest
12785   PRIVATE third_party/googletest/googlemock/include
12786   PRIVATE third_party/googletest/googlemock
12787   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12788 )
12789
12790 target_link_libraries(client_crash_test_server
12791   ${_gRPC_PROTOBUF_LIBRARIES}
12792   ${_gRPC_ALLTARGETS_LIBRARIES}
12793   grpc++_test_config
12794   grpc++_test_util
12795   grpc_test_util
12796   grpc++
12797   grpc
12798   gpr
12799   ${_gRPC_GFLAGS_LIBRARIES}
12800 )
12801
12802
12803 endif (gRPC_BUILD_TESTS)
12804 if (gRPC_BUILD_TESTS)
12805
12806 add_executable(client_interceptors_end2end_test
12807   test/cpp/end2end/client_interceptors_end2end_test.cc
12808   test/cpp/end2end/interceptors_util.cc
12809   third_party/googletest/googletest/src/gtest-all.cc
12810   third_party/googletest/googlemock/src/gmock-all.cc
12811 )
12812
12813
12814 target_include_directories(client_interceptors_end2end_test
12815   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12816   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12817   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12818   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12819   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12820   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12821   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12822   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12823   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12824   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12825   PRIVATE third_party/googletest/googletest/include
12826   PRIVATE third_party/googletest/googletest
12827   PRIVATE third_party/googletest/googlemock/include
12828   PRIVATE third_party/googletest/googlemock
12829   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12830 )
12831
12832 target_link_libraries(client_interceptors_end2end_test
12833   ${_gRPC_PROTOBUF_LIBRARIES}
12834   ${_gRPC_ALLTARGETS_LIBRARIES}
12835   grpc++_test_util
12836   grpc_test_util
12837   grpc++
12838   grpc
12839   gpr
12840   ${_gRPC_GFLAGS_LIBRARIES}
12841 )
12842
12843
12844 endif (gRPC_BUILD_TESTS)
12845 if (gRPC_BUILD_TESTS)
12846
12847 add_executable(client_lb_end2end_test
12848   test/cpp/end2end/client_lb_end2end_test.cc
12849   third_party/googletest/googletest/src/gtest-all.cc
12850   third_party/googletest/googlemock/src/gmock-all.cc
12851 )
12852
12853
12854 target_include_directories(client_lb_end2end_test
12855   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12856   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12857   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12858   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12859   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12860   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12861   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12862   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12863   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12864   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12865   PRIVATE third_party/googletest/googletest/include
12866   PRIVATE third_party/googletest/googletest
12867   PRIVATE third_party/googletest/googlemock/include
12868   PRIVATE third_party/googletest/googlemock
12869   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12870 )
12871
12872 target_link_libraries(client_lb_end2end_test
12873   ${_gRPC_PROTOBUF_LIBRARIES}
12874   ${_gRPC_ALLTARGETS_LIBRARIES}
12875   grpc++_test_util
12876   grpc_test_util
12877   grpc++
12878   grpc
12879   gpr
12880   ${_gRPC_GFLAGS_LIBRARIES}
12881 )
12882
12883
12884 endif (gRPC_BUILD_TESTS)
12885 if (gRPC_BUILD_TESTS)
12886
12887 add_executable(codegen_test_full
12888   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.cc
12889   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.cc
12890   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.h
12891   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.h
12892   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
12893   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
12894   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
12895   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
12896   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.cc
12897   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.cc
12898   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.h
12899   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.h
12900   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.cc
12901   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.cc
12902   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.h
12903   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.h
12904   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.cc
12905   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.cc
12906   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.h
12907   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.h
12908   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.cc
12909   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.cc
12910   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.h
12911   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.h
12912   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.cc
12913   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.cc
12914   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.h
12915   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.h
12916   test/cpp/codegen/codegen_test_full.cc
12917   third_party/googletest/googletest/src/gtest-all.cc
12918   third_party/googletest/googlemock/src/gmock-all.cc
12919 )
12920
12921 protobuf_generate_grpc_cpp(
12922   src/proto/grpc/testing/control.proto
12923 )
12924 protobuf_generate_grpc_cpp(
12925   src/proto/grpc/testing/messages.proto
12926 )
12927 protobuf_generate_grpc_cpp(
12928   src/proto/grpc/testing/payloads.proto
12929 )
12930 protobuf_generate_grpc_cpp(
12931   src/proto/grpc/testing/benchmark_service.proto
12932 )
12933 protobuf_generate_grpc_cpp(
12934   src/proto/grpc/testing/report_qps_scenario_service.proto
12935 )
12936 protobuf_generate_grpc_cpp(
12937   src/proto/grpc/testing/worker_service.proto
12938 )
12939 protobuf_generate_grpc_cpp(
12940   src/proto/grpc/testing/stats.proto
12941 )
12942
12943 target_include_directories(codegen_test_full
12944   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12945   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12946   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12947   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12948   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12949   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12950   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12951   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12952   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12953   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12954   PRIVATE third_party/googletest/googletest/include
12955   PRIVATE third_party/googletest/googletest
12956   PRIVATE third_party/googletest/googlemock/include
12957   PRIVATE third_party/googletest/googlemock
12958   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12959 )
12960
12961 target_link_libraries(codegen_test_full
12962   ${_gRPC_PROTOBUF_LIBRARIES}
12963   ${_gRPC_ALLTARGETS_LIBRARIES}
12964   grpc++_core_stats
12965   grpc++
12966   grpc
12967   gpr
12968   ${_gRPC_GFLAGS_LIBRARIES}
12969 )
12970
12971
12972 endif (gRPC_BUILD_TESTS)
12973 if (gRPC_BUILD_TESTS)
12974
12975 add_executable(codegen_test_minimal
12976   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.cc
12977   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.cc
12978   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.h
12979   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.h
12980   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
12981   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
12982   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
12983   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
12984   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.cc
12985   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.cc
12986   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.h
12987   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.h
12988   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.cc
12989   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.cc
12990   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.h
12991   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.h
12992   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.cc
12993   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.cc
12994   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.h
12995   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.h
12996   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.cc
12997   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.cc
12998   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.h
12999   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.h
13000   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.cc
13001   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.cc
13002   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.h
13003   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.h
13004   test/cpp/codegen/codegen_test_minimal.cc
13005   src/cpp/codegen/codegen_init.cc
13006   third_party/googletest/googletest/src/gtest-all.cc
13007   third_party/googletest/googlemock/src/gmock-all.cc
13008 )
13009
13010 protobuf_generate_grpc_cpp(
13011   src/proto/grpc/testing/control.proto
13012 )
13013 protobuf_generate_grpc_cpp(
13014   src/proto/grpc/testing/messages.proto
13015 )
13016 protobuf_generate_grpc_cpp(
13017   src/proto/grpc/testing/payloads.proto
13018 )
13019 protobuf_generate_grpc_cpp(
13020   src/proto/grpc/testing/benchmark_service.proto
13021 )
13022 protobuf_generate_grpc_cpp(
13023   src/proto/grpc/testing/report_qps_scenario_service.proto
13024 )
13025 protobuf_generate_grpc_cpp(
13026   src/proto/grpc/testing/worker_service.proto
13027 )
13028 protobuf_generate_grpc_cpp(
13029   src/proto/grpc/testing/stats.proto
13030 )
13031
13032 target_include_directories(codegen_test_minimal
13033   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13034   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13035   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13036   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13037   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13038   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13039   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13040   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13041   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13042   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13043   PRIVATE third_party/googletest/googletest/include
13044   PRIVATE third_party/googletest/googletest
13045   PRIVATE third_party/googletest/googlemock/include
13046   PRIVATE third_party/googletest/googlemock
13047   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13048 )
13049
13050 target_link_libraries(codegen_test_minimal
13051   ${_gRPC_PROTOBUF_LIBRARIES}
13052   ${_gRPC_ALLTARGETS_LIBRARIES}
13053   grpc++_core_stats
13054   grpc
13055   gpr
13056   ${_gRPC_GFLAGS_LIBRARIES}
13057 )
13058
13059
13060 endif (gRPC_BUILD_TESTS)
13061 if (gRPC_BUILD_TESTS)
13062
13063 add_executable(context_list_test
13064   test/core/transport/chttp2/context_list_test.cc
13065   third_party/googletest/googletest/src/gtest-all.cc
13066   third_party/googletest/googlemock/src/gmock-all.cc
13067 )
13068
13069
13070 target_include_directories(context_list_test
13071   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13072   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13073   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13074   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13075   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13076   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13077   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13078   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13079   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13080   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13081   PRIVATE third_party/googletest/googletest/include
13082   PRIVATE third_party/googletest/googletest
13083   PRIVATE third_party/googletest/googlemock/include
13084   PRIVATE third_party/googletest/googlemock
13085   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13086 )
13087
13088 target_link_libraries(context_list_test
13089   ${_gRPC_PROTOBUF_LIBRARIES}
13090   ${_gRPC_ALLTARGETS_LIBRARIES}
13091   grpc_test_util
13092   grpc
13093   gpr
13094   ${_gRPC_GFLAGS_LIBRARIES}
13095 )
13096
13097
13098 endif (gRPC_BUILD_TESTS)
13099 if (gRPC_BUILD_TESTS)
13100
13101 add_executable(credentials_test
13102   test/cpp/client/credentials_test.cc
13103   third_party/googletest/googletest/src/gtest-all.cc
13104   third_party/googletest/googlemock/src/gmock-all.cc
13105 )
13106
13107
13108 target_include_directories(credentials_test
13109   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13110   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13111   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13112   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13113   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13114   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13115   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13116   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13117   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13118   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13119   PRIVATE third_party/googletest/googletest/include
13120   PRIVATE third_party/googletest/googletest
13121   PRIVATE third_party/googletest/googlemock/include
13122   PRIVATE third_party/googletest/googlemock
13123   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13124 )
13125
13126 target_link_libraries(credentials_test
13127   ${_gRPC_PROTOBUF_LIBRARIES}
13128   ${_gRPC_ALLTARGETS_LIBRARIES}
13129   grpc++
13130   grpc
13131   gpr
13132   ${_gRPC_GFLAGS_LIBRARIES}
13133 )
13134
13135
13136 endif (gRPC_BUILD_TESTS)
13137 if (gRPC_BUILD_TESTS)
13138
13139 add_executable(cxx_byte_buffer_test
13140   test/cpp/util/byte_buffer_test.cc
13141   third_party/googletest/googletest/src/gtest-all.cc
13142   third_party/googletest/googlemock/src/gmock-all.cc
13143 )
13144
13145
13146 target_include_directories(cxx_byte_buffer_test
13147   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13148   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13149   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13150   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13151   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13152   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13153   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13154   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13155   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13156   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13157   PRIVATE third_party/googletest/googletest/include
13158   PRIVATE third_party/googletest/googletest
13159   PRIVATE third_party/googletest/googlemock/include
13160   PRIVATE third_party/googletest/googlemock
13161   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13162 )
13163
13164 target_link_libraries(cxx_byte_buffer_test
13165   ${_gRPC_PROTOBUF_LIBRARIES}
13166   ${_gRPC_ALLTARGETS_LIBRARIES}
13167   grpc_test_util
13168   grpc++
13169   grpc
13170   gpr
13171   ${_gRPC_GFLAGS_LIBRARIES}
13172 )
13173
13174
13175 endif (gRPC_BUILD_TESTS)
13176 if (gRPC_BUILD_TESTS)
13177
13178 add_executable(cxx_slice_test
13179   test/cpp/util/slice_test.cc
13180   third_party/googletest/googletest/src/gtest-all.cc
13181   third_party/googletest/googlemock/src/gmock-all.cc
13182 )
13183
13184
13185 target_include_directories(cxx_slice_test
13186   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13187   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13188   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13189   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13190   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13191   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13192   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13193   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13194   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13195   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13196   PRIVATE third_party/googletest/googletest/include
13197   PRIVATE third_party/googletest/googletest
13198   PRIVATE third_party/googletest/googlemock/include
13199   PRIVATE third_party/googletest/googlemock
13200   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13201 )
13202
13203 target_link_libraries(cxx_slice_test
13204   ${_gRPC_PROTOBUF_LIBRARIES}
13205   ${_gRPC_ALLTARGETS_LIBRARIES}
13206   grpc_test_util
13207   grpc++
13208   grpc
13209   gpr
13210   ${_gRPC_GFLAGS_LIBRARIES}
13211 )
13212
13213
13214 endif (gRPC_BUILD_TESTS)
13215 if (gRPC_BUILD_TESTS)
13216
13217 add_executable(cxx_string_ref_test
13218   test/cpp/util/string_ref_test.cc
13219   third_party/googletest/googletest/src/gtest-all.cc
13220   third_party/googletest/googlemock/src/gmock-all.cc
13221 )
13222
13223
13224 target_include_directories(cxx_string_ref_test
13225   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13226   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13227   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13228   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13229   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13230   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13231   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13232   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13233   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13234   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13235   PRIVATE third_party/googletest/googletest/include
13236   PRIVATE third_party/googletest/googletest
13237   PRIVATE third_party/googletest/googlemock/include
13238   PRIVATE third_party/googletest/googlemock
13239   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13240 )
13241
13242 target_link_libraries(cxx_string_ref_test
13243   ${_gRPC_PROTOBUF_LIBRARIES}
13244   ${_gRPC_ALLTARGETS_LIBRARIES}
13245   grpc++
13246   grpc
13247   ${_gRPC_GFLAGS_LIBRARIES}
13248 )
13249
13250
13251 endif (gRPC_BUILD_TESTS)
13252 if (gRPC_BUILD_TESTS)
13253
13254 add_executable(cxx_time_test
13255   test/cpp/util/time_test.cc
13256   third_party/googletest/googletest/src/gtest-all.cc
13257   third_party/googletest/googlemock/src/gmock-all.cc
13258 )
13259
13260
13261 target_include_directories(cxx_time_test
13262   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13263   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13264   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13265   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13266   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13267   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13268   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13269   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13270   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13271   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13272   PRIVATE third_party/googletest/googletest/include
13273   PRIVATE third_party/googletest/googletest
13274   PRIVATE third_party/googletest/googlemock/include
13275   PRIVATE third_party/googletest/googlemock
13276   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13277 )
13278
13279 target_link_libraries(cxx_time_test
13280   ${_gRPC_PROTOBUF_LIBRARIES}
13281   ${_gRPC_ALLTARGETS_LIBRARIES}
13282   grpc_test_util
13283   grpc++
13284   grpc
13285   gpr
13286   ${_gRPC_GFLAGS_LIBRARIES}
13287 )
13288
13289
13290 endif (gRPC_BUILD_TESTS)
13291 if (gRPC_BUILD_TESTS)
13292
13293 add_executable(end2end_test
13294   test/cpp/end2end/end2end_test.cc
13295   test/cpp/end2end/interceptors_util.cc
13296   third_party/googletest/googletest/src/gtest-all.cc
13297   third_party/googletest/googlemock/src/gmock-all.cc
13298 )
13299
13300
13301 target_include_directories(end2end_test
13302   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13303   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13304   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13305   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13306   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13307   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13308   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13309   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13310   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13311   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13312   PRIVATE third_party/googletest/googletest/include
13313   PRIVATE third_party/googletest/googletest
13314   PRIVATE third_party/googletest/googlemock/include
13315   PRIVATE third_party/googletest/googlemock
13316   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13317 )
13318
13319 target_link_libraries(end2end_test
13320   ${_gRPC_PROTOBUF_LIBRARIES}
13321   ${_gRPC_ALLTARGETS_LIBRARIES}
13322   grpc++_test_util
13323   grpc_test_util
13324   grpc++
13325   grpc
13326   gpr
13327   ${_gRPC_GFLAGS_LIBRARIES}
13328 )
13329
13330
13331 endif (gRPC_BUILD_TESTS)
13332 if (gRPC_BUILD_TESTS)
13333
13334 add_executable(error_details_test
13335   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
13336   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
13337   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
13338   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
13339   test/cpp/util/error_details_test.cc
13340   third_party/googletest/googletest/src/gtest-all.cc
13341   third_party/googletest/googlemock/src/gmock-all.cc
13342 )
13343
13344 protobuf_generate_grpc_cpp(
13345   src/proto/grpc/testing/echo_messages.proto
13346 )
13347
13348 target_include_directories(error_details_test
13349   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13350   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13351   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13352   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13353   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13354   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13355   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13356   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13357   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13358   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13359   PRIVATE third_party/googletest/googletest/include
13360   PRIVATE third_party/googletest/googletest
13361   PRIVATE third_party/googletest/googlemock/include
13362   PRIVATE third_party/googletest/googlemock
13363   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13364 )
13365
13366 target_link_libraries(error_details_test
13367   ${_gRPC_PROTOBUF_LIBRARIES}
13368   ${_gRPC_ALLTARGETS_LIBRARIES}
13369   grpc++_error_details
13370   grpc++
13371   ${_gRPC_GFLAGS_LIBRARIES}
13372 )
13373
13374
13375 endif (gRPC_BUILD_TESTS)
13376 if (gRPC_BUILD_TESTS)
13377
13378 add_executable(exception_test
13379   test/cpp/end2end/exception_test.cc
13380   third_party/googletest/googletest/src/gtest-all.cc
13381   third_party/googletest/googlemock/src/gmock-all.cc
13382 )
13383
13384
13385 target_include_directories(exception_test
13386   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13387   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13388   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13389   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13390   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13391   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13392   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13393   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13394   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13395   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13396   PRIVATE third_party/googletest/googletest/include
13397   PRIVATE third_party/googletest/googletest
13398   PRIVATE third_party/googletest/googlemock/include
13399   PRIVATE third_party/googletest/googlemock
13400   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13401 )
13402
13403 target_link_libraries(exception_test
13404   ${_gRPC_PROTOBUF_LIBRARIES}
13405   ${_gRPC_ALLTARGETS_LIBRARIES}
13406   grpc++_test_util
13407   grpc_test_util
13408   grpc++
13409   grpc
13410   gpr
13411   ${_gRPC_GFLAGS_LIBRARIES}
13412 )
13413
13414
13415 endif (gRPC_BUILD_TESTS)
13416 if (gRPC_BUILD_TESTS)
13417
13418 add_executable(filter_end2end_test
13419   test/cpp/end2end/filter_end2end_test.cc
13420   third_party/googletest/googletest/src/gtest-all.cc
13421   third_party/googletest/googlemock/src/gmock-all.cc
13422 )
13423
13424
13425 target_include_directories(filter_end2end_test
13426   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13427   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13428   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13429   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13430   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13431   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13432   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13433   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13434   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13435   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13436   PRIVATE third_party/googletest/googletest/include
13437   PRIVATE third_party/googletest/googletest
13438   PRIVATE third_party/googletest/googlemock/include
13439   PRIVATE third_party/googletest/googlemock
13440   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13441 )
13442
13443 target_link_libraries(filter_end2end_test
13444   ${_gRPC_PROTOBUF_LIBRARIES}
13445   ${_gRPC_ALLTARGETS_LIBRARIES}
13446   grpc++_test_util
13447   grpc_test_util
13448   grpc++
13449   grpc
13450   gpr
13451   ${_gRPC_GFLAGS_LIBRARIES}
13452 )
13453
13454
13455 endif (gRPC_BUILD_TESTS)
13456 if (gRPC_BUILD_TESTS)
13457
13458 add_executable(generic_end2end_test
13459   test/cpp/end2end/generic_end2end_test.cc
13460   third_party/googletest/googletest/src/gtest-all.cc
13461   third_party/googletest/googlemock/src/gmock-all.cc
13462 )
13463
13464
13465 target_include_directories(generic_end2end_test
13466   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13467   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13468   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13469   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13470   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13471   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13472   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13473   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13474   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13475   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13476   PRIVATE third_party/googletest/googletest/include
13477   PRIVATE third_party/googletest/googletest
13478   PRIVATE third_party/googletest/googlemock/include
13479   PRIVATE third_party/googletest/googlemock
13480   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13481 )
13482
13483 target_link_libraries(generic_end2end_test
13484   ${_gRPC_PROTOBUF_LIBRARIES}
13485   ${_gRPC_ALLTARGETS_LIBRARIES}
13486   grpc++_test_util
13487   grpc_test_util
13488   grpc++
13489   grpc
13490   gpr
13491   ${_gRPC_GFLAGS_LIBRARIES}
13492 )
13493
13494
13495 endif (gRPC_BUILD_TESTS)
13496 if (gRPC_BUILD_TESTS)
13497
13498 add_executable(global_config_env_test
13499   test/core/gprpp/global_config_env_test.cc
13500   third_party/googletest/googletest/src/gtest-all.cc
13501   third_party/googletest/googlemock/src/gmock-all.cc
13502 )
13503
13504
13505 target_include_directories(global_config_env_test
13506   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13507   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13508   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13509   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13510   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13511   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13512   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13513   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13514   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13515   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13516   PRIVATE third_party/googletest/googletest/include
13517   PRIVATE third_party/googletest/googletest
13518   PRIVATE third_party/googletest/googlemock/include
13519   PRIVATE third_party/googletest/googlemock
13520   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13521 )
13522
13523 target_link_libraries(global_config_env_test
13524   ${_gRPC_PROTOBUF_LIBRARIES}
13525   ${_gRPC_ALLTARGETS_LIBRARIES}
13526   gpr
13527   grpc_test_util_unsecure
13528   ${_gRPC_GFLAGS_LIBRARIES}
13529 )
13530
13531
13532 endif (gRPC_BUILD_TESTS)
13533 if (gRPC_BUILD_TESTS)
13534
13535 add_executable(global_config_test
13536   test/core/gprpp/global_config_test.cc
13537   third_party/googletest/googletest/src/gtest-all.cc
13538   third_party/googletest/googlemock/src/gmock-all.cc
13539 )
13540
13541
13542 target_include_directories(global_config_test
13543   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13544   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13545   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13546   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13547   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13548   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13549   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13550   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13551   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13552   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13553   PRIVATE third_party/googletest/googletest/include
13554   PRIVATE third_party/googletest/googletest
13555   PRIVATE third_party/googletest/googlemock/include
13556   PRIVATE third_party/googletest/googlemock
13557   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13558 )
13559
13560 target_link_libraries(global_config_test
13561   ${_gRPC_PROTOBUF_LIBRARIES}
13562   ${_gRPC_ALLTARGETS_LIBRARIES}
13563   gpr
13564   grpc_test_util_unsecure
13565   ${_gRPC_GFLAGS_LIBRARIES}
13566 )
13567
13568
13569 endif (gRPC_BUILD_TESTS)
13570 if (gRPC_BUILD_TESTS)
13571
13572 add_executable(golden_file_test
13573   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/compiler_test.pb.cc
13574   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/compiler_test.grpc.pb.cc
13575   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/compiler_test.pb.h
13576   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/compiler_test.grpc.pb.h
13577   test/cpp/codegen/golden_file_test.cc
13578   third_party/googletest/googletest/src/gtest-all.cc
13579   third_party/googletest/googlemock/src/gmock-all.cc
13580 )
13581
13582 protobuf_generate_grpc_cpp(
13583   src/proto/grpc/testing/compiler_test.proto
13584 )
13585
13586 target_include_directories(golden_file_test
13587   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13588   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13589   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13590   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13591   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13592   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13593   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13594   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13595   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13596   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13597   PRIVATE third_party/googletest/googletest/include
13598   PRIVATE third_party/googletest/googletest
13599   PRIVATE third_party/googletest/googlemock/include
13600   PRIVATE third_party/googletest/googlemock
13601   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13602 )
13603
13604 target_link_libraries(golden_file_test
13605   ${_gRPC_PROTOBUF_LIBRARIES}
13606   ${_gRPC_ALLTARGETS_LIBRARIES}
13607   grpc++_test_config
13608   grpc++
13609   grpc
13610   gpr
13611   ${_gRPC_GFLAGS_LIBRARIES}
13612 )
13613
13614
13615 endif (gRPC_BUILD_TESTS)
13616 if (gRPC_BUILD_TESTS)
13617
13618 add_executable(grpc_alts_credentials_options_test
13619   test/core/security/grpc_alts_credentials_options_test.cc
13620   third_party/googletest/googletest/src/gtest-all.cc
13621   third_party/googletest/googlemock/src/gmock-all.cc
13622 )
13623
13624
13625 target_include_directories(grpc_alts_credentials_options_test
13626   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13627   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13628   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13629   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13630   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13631   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13632   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13633   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13634   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13635   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13636   PRIVATE third_party/googletest/googletest/include
13637   PRIVATE third_party/googletest/googletest
13638   PRIVATE third_party/googletest/googlemock/include
13639   PRIVATE third_party/googletest/googlemock
13640   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13641 )
13642
13643 target_link_libraries(grpc_alts_credentials_options_test
13644   ${_gRPC_PROTOBUF_LIBRARIES}
13645   ${_gRPC_ALLTARGETS_LIBRARIES}
13646   grpc
13647   gpr
13648   ${_gRPC_GFLAGS_LIBRARIES}
13649 )
13650
13651
13652 endif (gRPC_BUILD_TESTS)
13653 if (gRPC_BUILD_TESTS)
13654
13655 add_executable(grpc_cli
13656   test/cpp/util/grpc_cli.cc
13657   third_party/googletest/googletest/src/gtest-all.cc
13658   third_party/googletest/googlemock/src/gmock-all.cc
13659 )
13660
13661
13662 target_include_directories(grpc_cli
13663   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13664   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13665   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13666   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13667   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13668   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13669   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13670   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13671   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13672   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13673   PRIVATE third_party/googletest/googletest/include
13674   PRIVATE third_party/googletest/googletest
13675   PRIVATE third_party/googletest/googlemock/include
13676   PRIVATE third_party/googletest/googlemock
13677   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13678 )
13679
13680 target_link_libraries(grpc_cli
13681   ${_gRPC_PROTOBUF_LIBRARIES}
13682   ${_gRPC_ALLTARGETS_LIBRARIES}
13683   grpc_cli_libs
13684   grpc++_proto_reflection_desc_db
13685   grpc++
13686   grpc
13687   gpr
13688   grpc++_test_config
13689   ${_gRPC_GFLAGS_LIBRARIES}
13690 )
13691
13692
13693 endif (gRPC_BUILD_TESTS)
13694 if (gRPC_BUILD_TESTS)
13695
13696 add_executable(grpc_core_map_test
13697   test/core/gprpp/map_test.cc
13698   third_party/googletest/googletest/src/gtest-all.cc
13699   third_party/googletest/googlemock/src/gmock-all.cc
13700 )
13701
13702
13703 target_include_directories(grpc_core_map_test
13704   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13705   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13706   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13707   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13708   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13709   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13710   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13711   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13712   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13713   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13714   PRIVATE third_party/googletest/googletest/include
13715   PRIVATE third_party/googletest/googletest
13716   PRIVATE third_party/googletest/googlemock/include
13717   PRIVATE third_party/googletest/googlemock
13718   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13719 )
13720
13721 target_link_libraries(grpc_core_map_test
13722   ${_gRPC_PROTOBUF_LIBRARIES}
13723   ${_gRPC_ALLTARGETS_LIBRARIES}
13724   grpc_test_util
13725   grpc++
13726   grpc
13727   gpr
13728   ${_gRPC_GFLAGS_LIBRARIES}
13729 )
13730
13731
13732 endif (gRPC_BUILD_TESTS)
13733 if (gRPC_BUILD_CODEGEN)
13734
13735 add_executable(grpc_cpp_plugin
13736   src/compiler/cpp_plugin.cc
13737 )
13738
13739
13740 target_include_directories(grpc_cpp_plugin
13741   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13742   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13743   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13744   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13745   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13746   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13747   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13748   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13749   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13750   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13751   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13752 )
13753
13754 target_link_libraries(grpc_cpp_plugin
13755   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13756   ${_gRPC_PROTOBUF_LIBRARIES}
13757   ${_gRPC_ALLTARGETS_LIBRARIES}
13758   grpc_plugin_support
13759 )
13760
13761
13762
13763 if (gRPC_INSTALL)
13764   install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets
13765     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13766     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13767     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13768   )
13769 endif()
13770
13771 endif (gRPC_BUILD_CODEGEN)
13772 if (gRPC_BUILD_CODEGEN)
13773
13774 add_executable(grpc_csharp_plugin
13775   src/compiler/csharp_plugin.cc
13776 )
13777
13778
13779 target_include_directories(grpc_csharp_plugin
13780   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13781   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13782   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13783   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13784   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13785   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13786   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13787   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13788   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13789   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13790   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13791 )
13792
13793 target_link_libraries(grpc_csharp_plugin
13794   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13795   ${_gRPC_PROTOBUF_LIBRARIES}
13796   ${_gRPC_ALLTARGETS_LIBRARIES}
13797   grpc_plugin_support
13798 )
13799
13800
13801
13802 if (gRPC_INSTALL)
13803   install(TARGETS grpc_csharp_plugin EXPORT gRPCTargets
13804     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13805     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13806     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13807   )
13808 endif()
13809
13810 endif (gRPC_BUILD_CODEGEN)
13811 if (gRPC_BUILD_TESTS)
13812
13813 add_executable(grpc_linux_system_roots_test
13814   test/core/security/linux_system_roots_test.cc
13815   third_party/googletest/googletest/src/gtest-all.cc
13816   third_party/googletest/googlemock/src/gmock-all.cc
13817 )
13818
13819
13820 target_include_directories(grpc_linux_system_roots_test
13821   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13822   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13823   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13824   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13825   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13826   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13827   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13828   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13829   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13830   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13831   PRIVATE third_party/googletest/googletest/include
13832   PRIVATE third_party/googletest/googletest
13833   PRIVATE third_party/googletest/googlemock/include
13834   PRIVATE third_party/googletest/googlemock
13835   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13836 )
13837
13838 target_link_libraries(grpc_linux_system_roots_test
13839   ${_gRPC_PROTOBUF_LIBRARIES}
13840   ${_gRPC_ALLTARGETS_LIBRARIES}
13841   grpc_test_util
13842   grpc
13843   gpr
13844   ${_gRPC_GFLAGS_LIBRARIES}
13845 )
13846
13847
13848 endif (gRPC_BUILD_TESTS)
13849 if (gRPC_BUILD_CODEGEN)
13850
13851 add_executable(grpc_node_plugin
13852   src/compiler/node_plugin.cc
13853 )
13854
13855
13856 target_include_directories(grpc_node_plugin
13857   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13858   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13859   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13860   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13861   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13862   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13863   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13864   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13865   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13866   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13867   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13868 )
13869
13870 target_link_libraries(grpc_node_plugin
13871   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13872   ${_gRPC_PROTOBUF_LIBRARIES}
13873   ${_gRPC_ALLTARGETS_LIBRARIES}
13874   grpc_plugin_support
13875 )
13876
13877
13878
13879 if (gRPC_INSTALL)
13880   install(TARGETS grpc_node_plugin EXPORT gRPCTargets
13881     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13882     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13883     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13884   )
13885 endif()
13886
13887 endif (gRPC_BUILD_CODEGEN)
13888 if (gRPC_BUILD_CODEGEN)
13889
13890 add_executable(grpc_objective_c_plugin
13891   src/compiler/objective_c_plugin.cc
13892 )
13893
13894
13895 target_include_directories(grpc_objective_c_plugin
13896   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13897   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13898   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13899   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13900   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13901   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13902   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13903   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13904   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13905   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13906   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13907 )
13908
13909 target_link_libraries(grpc_objective_c_plugin
13910   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13911   ${_gRPC_PROTOBUF_LIBRARIES}
13912   ${_gRPC_ALLTARGETS_LIBRARIES}
13913   grpc_plugin_support
13914 )
13915
13916
13917
13918 if (gRPC_INSTALL)
13919   install(TARGETS grpc_objective_c_plugin EXPORT gRPCTargets
13920     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13921     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13922     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13923   )
13924 endif()
13925
13926 endif (gRPC_BUILD_CODEGEN)
13927 if (gRPC_BUILD_CODEGEN)
13928
13929 add_executable(grpc_php_plugin
13930   src/compiler/php_plugin.cc
13931 )
13932
13933
13934 target_include_directories(grpc_php_plugin
13935   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13936   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13937   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13938   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13939   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13940   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13941   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13942   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13943   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13944   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13945   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13946 )
13947
13948 target_link_libraries(grpc_php_plugin
13949   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13950   ${_gRPC_PROTOBUF_LIBRARIES}
13951   ${_gRPC_ALLTARGETS_LIBRARIES}
13952   grpc_plugin_support
13953 )
13954
13955
13956
13957 if (gRPC_INSTALL)
13958   install(TARGETS grpc_php_plugin EXPORT gRPCTargets
13959     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13960     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13961     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13962   )
13963 endif()
13964
13965 endif (gRPC_BUILD_CODEGEN)
13966 if (gRPC_BUILD_CODEGEN)
13967
13968 add_executable(grpc_python_plugin
13969   src/compiler/python_plugin.cc
13970 )
13971
13972
13973 target_include_directories(grpc_python_plugin
13974   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13975   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13976   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13977   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13978   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13979   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13980   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13981   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13982   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13983   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13984   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13985 )
13986
13987 target_link_libraries(grpc_python_plugin
13988   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13989   ${_gRPC_PROTOBUF_LIBRARIES}
13990   ${_gRPC_ALLTARGETS_LIBRARIES}
13991   grpc_plugin_support
13992 )
13993
13994
13995
13996 if (gRPC_INSTALL)
13997   install(TARGETS grpc_python_plugin EXPORT gRPCTargets
13998     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13999     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
14000     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
14001   )
14002 endif()
14003
14004 endif (gRPC_BUILD_CODEGEN)
14005 if (gRPC_BUILD_CODEGEN)
14006
14007 add_executable(grpc_ruby_plugin
14008   src/compiler/ruby_plugin.cc
14009 )
14010
14011
14012 target_include_directories(grpc_ruby_plugin
14013   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14014   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14015   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14016   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14017   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14018   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14019   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14020   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14021   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14022   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14023   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14024 )
14025
14026 target_link_libraries(grpc_ruby_plugin
14027   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
14028   ${_gRPC_PROTOBUF_LIBRARIES}
14029   ${_gRPC_ALLTARGETS_LIBRARIES}
14030   grpc_plugin_support
14031 )
14032
14033
14034
14035 if (gRPC_INSTALL)
14036   install(TARGETS grpc_ruby_plugin EXPORT gRPCTargets
14037     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
14038     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
14039     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
14040   )
14041 endif()
14042
14043 endif (gRPC_BUILD_CODEGEN)
14044 if (gRPC_BUILD_TESTS)
14045
14046 add_executable(grpc_tool_test
14047   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
14048   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
14049   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
14050   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
14051   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
14052   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
14053   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
14054   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
14055   test/cpp/util/grpc_tool_test.cc
14056   third_party/googletest/googletest/src/gtest-all.cc
14057   third_party/googletest/googlemock/src/gmock-all.cc
14058 )
14059
14060 protobuf_generate_grpc_cpp(
14061   src/proto/grpc/testing/echo.proto
14062 )
14063 protobuf_generate_grpc_cpp(
14064   src/proto/grpc/testing/echo_messages.proto
14065 )
14066
14067 target_include_directories(grpc_tool_test
14068   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14069   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14070   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14071   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14072   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14073   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14074   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14075   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14076   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14077   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14078   PRIVATE third_party/googletest/googletest/include
14079   PRIVATE third_party/googletest/googletest
14080   PRIVATE third_party/googletest/googlemock/include
14081   PRIVATE third_party/googletest/googlemock
14082   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14083 )
14084
14085 target_link_libraries(grpc_tool_test
14086   ${_gRPC_PROTOBUF_LIBRARIES}
14087   ${_gRPC_ALLTARGETS_LIBRARIES}
14088   grpc_cli_libs
14089   grpc++_proto_reflection_desc_db
14090   grpc++_reflection
14091   grpc++_test_util
14092   grpc_test_util
14093   grpc++
14094   grpc
14095   gpr
14096   ${_gRPC_GFLAGS_LIBRARIES}
14097 )
14098
14099
14100 endif (gRPC_BUILD_TESTS)
14101 if (gRPC_BUILD_TESTS)
14102
14103 add_executable(grpclb_api_test
14104   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc
14105   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc
14106   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h
14107   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h
14108   test/cpp/grpclb/grpclb_api_test.cc
14109   third_party/googletest/googletest/src/gtest-all.cc
14110   third_party/googletest/googlemock/src/gmock-all.cc
14111 )
14112
14113 protobuf_generate_grpc_cpp(
14114   src/proto/grpc/lb/v1/load_balancer.proto
14115 )
14116
14117 target_include_directories(grpclb_api_test
14118   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14119   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14120   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14121   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14122   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14123   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14124   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14125   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14126   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14127   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14128   PRIVATE third_party/googletest/googletest/include
14129   PRIVATE third_party/googletest/googletest
14130   PRIVATE third_party/googletest/googlemock/include
14131   PRIVATE third_party/googletest/googlemock
14132   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14133 )
14134
14135 target_link_libraries(grpclb_api_test
14136   ${_gRPC_PROTOBUF_LIBRARIES}
14137   ${_gRPC_ALLTARGETS_LIBRARIES}
14138   grpc++_test_util
14139   grpc_test_util
14140   grpc++
14141   grpc
14142   ${_gRPC_GFLAGS_LIBRARIES}
14143 )
14144
14145
14146 endif (gRPC_BUILD_TESTS)
14147 if (gRPC_BUILD_TESTS)
14148
14149 add_executable(grpclb_end2end_test
14150   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc
14151   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc
14152   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h
14153   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h
14154   test/cpp/end2end/grpclb_end2end_test.cc
14155   third_party/googletest/googletest/src/gtest-all.cc
14156   third_party/googletest/googlemock/src/gmock-all.cc
14157 )
14158
14159 protobuf_generate_grpc_cpp(
14160   src/proto/grpc/lb/v1/load_balancer.proto
14161 )
14162
14163 target_include_directories(grpclb_end2end_test
14164   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14165   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14166   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14167   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14168   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14169   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14170   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14171   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14172   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14173   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14174   PRIVATE third_party/googletest/googletest/include
14175   PRIVATE third_party/googletest/googletest
14176   PRIVATE third_party/googletest/googlemock/include
14177   PRIVATE third_party/googletest/googlemock
14178   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14179 )
14180
14181 target_link_libraries(grpclb_end2end_test
14182   ${_gRPC_PROTOBUF_LIBRARIES}
14183   ${_gRPC_ALLTARGETS_LIBRARIES}
14184   grpc++_test_util
14185   grpc_test_util
14186   grpc++
14187   grpc
14188   gpr
14189   ${_gRPC_GFLAGS_LIBRARIES}
14190 )
14191
14192
14193 endif (gRPC_BUILD_TESTS)
14194 if (gRPC_BUILD_TESTS)
14195
14196 add_executable(h2_ssl_cert_test
14197   test/core/end2end/h2_ssl_cert_test.cc
14198   third_party/googletest/googletest/src/gtest-all.cc
14199   third_party/googletest/googlemock/src/gmock-all.cc
14200 )
14201
14202
14203 target_include_directories(h2_ssl_cert_test
14204   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14205   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14206   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14207   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14208   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14209   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14210   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14211   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14212   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14213   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14214   PRIVATE third_party/googletest/googletest/include
14215   PRIVATE third_party/googletest/googletest
14216   PRIVATE third_party/googletest/googlemock/include
14217   PRIVATE third_party/googletest/googlemock
14218   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14219 )
14220
14221 target_link_libraries(h2_ssl_cert_test
14222   ${_gRPC_PROTOBUF_LIBRARIES}
14223   ${_gRPC_ALLTARGETS_LIBRARIES}
14224   grpc_test_util
14225   grpc++
14226   grpc
14227   gpr
14228   ${_gRPC_GFLAGS_LIBRARIES}
14229 )
14230
14231
14232 endif (gRPC_BUILD_TESTS)
14233 if (gRPC_BUILD_TESTS)
14234
14235 add_executable(h2_ssl_session_reuse_test
14236   test/core/end2end/h2_ssl_session_reuse_test.cc
14237   third_party/googletest/googletest/src/gtest-all.cc
14238   third_party/googletest/googlemock/src/gmock-all.cc
14239 )
14240
14241
14242 target_include_directories(h2_ssl_session_reuse_test
14243   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14244   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14245   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14246   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14247   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14248   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14249   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14250   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14251   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14252   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14253   PRIVATE third_party/googletest/googletest/include
14254   PRIVATE third_party/googletest/googletest
14255   PRIVATE third_party/googletest/googlemock/include
14256   PRIVATE third_party/googletest/googlemock
14257   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14258 )
14259
14260 target_link_libraries(h2_ssl_session_reuse_test
14261   ${_gRPC_PROTOBUF_LIBRARIES}
14262   ${_gRPC_ALLTARGETS_LIBRARIES}
14263   grpc_test_util
14264   grpc++
14265   grpc
14266   gpr
14267   ${_gRPC_GFLAGS_LIBRARIES}
14268 )
14269
14270
14271 endif (gRPC_BUILD_TESTS)
14272 if (gRPC_BUILD_TESTS)
14273
14274 add_executable(health_service_end2end_test
14275   test/cpp/end2end/health_service_end2end_test.cc
14276   third_party/googletest/googletest/src/gtest-all.cc
14277   third_party/googletest/googlemock/src/gmock-all.cc
14278 )
14279
14280
14281 target_include_directories(health_service_end2end_test
14282   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14283   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14284   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14285   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14286   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14287   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14288   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14289   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14290   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14291   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14292   PRIVATE third_party/googletest/googletest/include
14293   PRIVATE third_party/googletest/googletest
14294   PRIVATE third_party/googletest/googlemock/include
14295   PRIVATE third_party/googletest/googlemock
14296   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14297 )
14298
14299 target_link_libraries(health_service_end2end_test
14300   ${_gRPC_PROTOBUF_LIBRARIES}
14301   ${_gRPC_ALLTARGETS_LIBRARIES}
14302   grpc++_test_util
14303   grpc_test_util
14304   grpc++
14305   grpc
14306   gpr
14307   ${_gRPC_GFLAGS_LIBRARIES}
14308 )
14309
14310
14311 endif (gRPC_BUILD_TESTS)
14312 if (gRPC_BUILD_TESTS)
14313 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14314
14315 add_executable(http2_client
14316   third_party/googletest/googletest/src/gtest-all.cc
14317   third_party/googletest/googlemock/src/gmock-all.cc
14318 )
14319
14320
14321 target_include_directories(http2_client
14322   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14323   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14324   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14325   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14326   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14327   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14328   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14329   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14330   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14331   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14332   PRIVATE third_party/googletest/googletest/include
14333   PRIVATE third_party/googletest/googletest
14334   PRIVATE third_party/googletest/googlemock/include
14335   PRIVATE third_party/googletest/googlemock
14336   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14337 )
14338
14339 target_link_libraries(http2_client
14340   ${_gRPC_PROTOBUF_LIBRARIES}
14341   ${_gRPC_ALLTARGETS_LIBRARIES}
14342   http2_client_main
14343   grpc++_test_util
14344   grpc_test_util
14345   grpc++
14346   grpc
14347   grpc++_test_config
14348   ${_gRPC_GFLAGS_LIBRARIES}
14349 )
14350
14351
14352 endif()
14353 endif (gRPC_BUILD_TESTS)
14354 if (gRPC_BUILD_TESTS)
14355
14356 add_executable(hybrid_end2end_test
14357   test/cpp/end2end/hybrid_end2end_test.cc
14358   third_party/googletest/googletest/src/gtest-all.cc
14359   third_party/googletest/googlemock/src/gmock-all.cc
14360 )
14361
14362
14363 target_include_directories(hybrid_end2end_test
14364   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14365   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14366   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14367   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14368   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14369   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14370   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14371   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14372   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14373   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14374   PRIVATE third_party/googletest/googletest/include
14375   PRIVATE third_party/googletest/googletest
14376   PRIVATE third_party/googletest/googlemock/include
14377   PRIVATE third_party/googletest/googlemock
14378   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14379 )
14380
14381 target_link_libraries(hybrid_end2end_test
14382   ${_gRPC_PROTOBUF_LIBRARIES}
14383   ${_gRPC_ALLTARGETS_LIBRARIES}
14384   grpc++_test_util
14385   grpc_test_util
14386   grpc++
14387   grpc
14388   gpr
14389   ${_gRPC_GFLAGS_LIBRARIES}
14390 )
14391
14392
14393 endif (gRPC_BUILD_TESTS)
14394 if (gRPC_BUILD_TESTS)
14395
14396 add_executable(inlined_vector_test
14397   test/core/gprpp/inlined_vector_test.cc
14398   third_party/googletest/googletest/src/gtest-all.cc
14399   third_party/googletest/googlemock/src/gmock-all.cc
14400 )
14401
14402
14403 target_include_directories(inlined_vector_test
14404   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14405   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14406   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14407   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14408   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14409   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14410   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14411   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14412   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14413   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14414   PRIVATE third_party/googletest/googletest/include
14415   PRIVATE third_party/googletest/googletest
14416   PRIVATE third_party/googletest/googlemock/include
14417   PRIVATE third_party/googletest/googlemock
14418   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14419 )
14420
14421 target_link_libraries(inlined_vector_test
14422   ${_gRPC_PROTOBUF_LIBRARIES}
14423   ${_gRPC_ALLTARGETS_LIBRARIES}
14424   grpc_test_util
14425   grpc++
14426   grpc
14427   gpr
14428   ${_gRPC_GFLAGS_LIBRARIES}
14429 )
14430
14431
14432 endif (gRPC_BUILD_TESTS)
14433 if (gRPC_BUILD_TESTS)
14434 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14435
14436 add_executable(inproc_sync_unary_ping_pong_test
14437   test/cpp/qps/inproc_sync_unary_ping_pong_test.cc
14438   third_party/googletest/googletest/src/gtest-all.cc
14439   third_party/googletest/googlemock/src/gmock-all.cc
14440 )
14441
14442
14443 target_include_directories(inproc_sync_unary_ping_pong_test
14444   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14445   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14446   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14447   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14448   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14449   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14450   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14451   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14452   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14453   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14454   PRIVATE third_party/googletest/googletest/include
14455   PRIVATE third_party/googletest/googletest
14456   PRIVATE third_party/googletest/googlemock/include
14457   PRIVATE third_party/googletest/googlemock
14458   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14459 )
14460
14461 target_link_libraries(inproc_sync_unary_ping_pong_test
14462   ${_gRPC_PROTOBUF_LIBRARIES}
14463   ${_gRPC_ALLTARGETS_LIBRARIES}
14464   qps
14465   grpc++_core_stats
14466   grpc++_test_util
14467   grpc_test_util
14468   grpc++
14469   grpc
14470   gpr
14471   grpc++_test_config
14472   ${_gRPC_GFLAGS_LIBRARIES}
14473 )
14474
14475
14476 endif()
14477 endif (gRPC_BUILD_TESTS)
14478 if (gRPC_BUILD_TESTS)
14479 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14480
14481 add_executable(interop_client
14482   third_party/googletest/googletest/src/gtest-all.cc
14483   third_party/googletest/googlemock/src/gmock-all.cc
14484 )
14485
14486
14487 target_include_directories(interop_client
14488   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14489   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14490   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14491   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14492   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14493   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14494   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14495   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14496   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14497   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14498   PRIVATE third_party/googletest/googletest/include
14499   PRIVATE third_party/googletest/googletest
14500   PRIVATE third_party/googletest/googlemock/include
14501   PRIVATE third_party/googletest/googlemock
14502   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14503 )
14504
14505 target_link_libraries(interop_client
14506   ${_gRPC_PROTOBUF_LIBRARIES}
14507   ${_gRPC_ALLTARGETS_LIBRARIES}
14508   interop_client_main
14509   interop_client_helper
14510   grpc++_test_util
14511   grpc_test_util
14512   grpc++
14513   grpc
14514   gpr
14515   grpc++_test_config
14516   ${_gRPC_GFLAGS_LIBRARIES}
14517 )
14518
14519
14520 endif()
14521 endif (gRPC_BUILD_TESTS)
14522 if (gRPC_BUILD_TESTS)
14523 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14524
14525 add_executable(interop_server
14526   third_party/googletest/googletest/src/gtest-all.cc
14527   third_party/googletest/googlemock/src/gmock-all.cc
14528 )
14529
14530
14531 target_include_directories(interop_server
14532   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14533   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14534   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14535   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14536   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14537   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14538   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14539   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14540   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14541   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14542   PRIVATE third_party/googletest/googletest/include
14543   PRIVATE third_party/googletest/googletest
14544   PRIVATE third_party/googletest/googlemock/include
14545   PRIVATE third_party/googletest/googlemock
14546   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14547 )
14548
14549 target_link_libraries(interop_server
14550   ${_gRPC_PROTOBUF_LIBRARIES}
14551   ${_gRPC_ALLTARGETS_LIBRARIES}
14552   interop_server_main
14553   interop_server_helper
14554   interop_server_lib
14555   grpc++_test_util
14556   grpc_test_util
14557   grpc++
14558   grpc
14559   gpr
14560   grpc++_test_config
14561   ${_gRPC_GFLAGS_LIBRARIES}
14562 )
14563
14564
14565 endif()
14566 endif (gRPC_BUILD_TESTS)
14567 if (gRPC_BUILD_TESTS)
14568 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14569
14570 add_executable(interop_test
14571   test/cpp/interop/interop_test.cc
14572   third_party/googletest/googletest/src/gtest-all.cc
14573   third_party/googletest/googlemock/src/gmock-all.cc
14574 )
14575
14576
14577 target_include_directories(interop_test
14578   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14579   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14580   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14581   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14582   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14583   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14584   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14585   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14586   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14587   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14588   PRIVATE third_party/googletest/googletest/include
14589   PRIVATE third_party/googletest/googletest
14590   PRIVATE third_party/googletest/googlemock/include
14591   PRIVATE third_party/googletest/googlemock
14592   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14593 )
14594
14595 target_link_libraries(interop_test
14596   ${_gRPC_PROTOBUF_LIBRARIES}
14597   ${_gRPC_ALLTARGETS_LIBRARIES}
14598   grpc_test_util
14599   grpc
14600   gpr
14601   grpc++_test_config
14602   ${_gRPC_GFLAGS_LIBRARIES}
14603 )
14604
14605
14606 endif()
14607 endif (gRPC_BUILD_TESTS)
14608 if (gRPC_BUILD_TESTS)
14609 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14610
14611 add_executable(json_run_localhost
14612   test/cpp/qps/json_run_localhost.cc
14613   third_party/googletest/googletest/src/gtest-all.cc
14614   third_party/googletest/googlemock/src/gmock-all.cc
14615 )
14616
14617
14618 target_include_directories(json_run_localhost
14619   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14620   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14621   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14622   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14623   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14624   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14625   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14626   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14627   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14628   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14629   PRIVATE third_party/googletest/googletest/include
14630   PRIVATE third_party/googletest/googletest
14631   PRIVATE third_party/googletest/googlemock/include
14632   PRIVATE third_party/googletest/googlemock
14633   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14634 )
14635
14636 target_link_libraries(json_run_localhost
14637   ${_gRPC_PROTOBUF_LIBRARIES}
14638   ${_gRPC_ALLTARGETS_LIBRARIES}
14639   grpc++_test_util
14640   grpc_test_util
14641   grpc++
14642   grpc
14643   gpr
14644   grpc++_test_config
14645   ${_gRPC_GFLAGS_LIBRARIES}
14646 )
14647
14648
14649 endif()
14650 endif (gRPC_BUILD_TESTS)
14651 if (gRPC_BUILD_TESTS)
14652
14653 add_executable(memory_test
14654   test/core/gprpp/memory_test.cc
14655   third_party/googletest/googletest/src/gtest-all.cc
14656   third_party/googletest/googlemock/src/gmock-all.cc
14657 )
14658
14659
14660 target_include_directories(memory_test
14661   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14662   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14663   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14664   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14665   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14666   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14667   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14668   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14669   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14670   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14671   PRIVATE third_party/googletest/googletest/include
14672   PRIVATE third_party/googletest/googletest
14673   PRIVATE third_party/googletest/googlemock/include
14674   PRIVATE third_party/googletest/googlemock
14675   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14676 )
14677
14678 target_link_libraries(memory_test
14679   ${_gRPC_PROTOBUF_LIBRARIES}
14680   ${_gRPC_ALLTARGETS_LIBRARIES}
14681   grpc_test_util
14682   grpc++
14683   grpc
14684   gpr
14685   ${_gRPC_GFLAGS_LIBRARIES}
14686 )
14687
14688
14689 endif (gRPC_BUILD_TESTS)
14690 if (gRPC_BUILD_TESTS)
14691
14692 add_executable(message_allocator_end2end_test
14693   test/cpp/end2end/message_allocator_end2end_test.cc
14694   third_party/googletest/googletest/src/gtest-all.cc
14695   third_party/googletest/googlemock/src/gmock-all.cc
14696 )
14697
14698
14699 target_include_directories(message_allocator_end2end_test
14700   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14701   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14702   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14703   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14704   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14705   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14706   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14707   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14708   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14709   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14710   PRIVATE third_party/googletest/googletest/include
14711   PRIVATE third_party/googletest/googletest
14712   PRIVATE third_party/googletest/googlemock/include
14713   PRIVATE third_party/googletest/googlemock
14714   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14715 )
14716
14717 target_link_libraries(message_allocator_end2end_test
14718   ${_gRPC_PROTOBUF_LIBRARIES}
14719   ${_gRPC_ALLTARGETS_LIBRARIES}
14720   grpc++_test_util
14721   grpc_test_util
14722   grpc++
14723   grpc
14724   gpr
14725   ${_gRPC_GFLAGS_LIBRARIES}
14726 )
14727
14728
14729 endif (gRPC_BUILD_TESTS)
14730 if (gRPC_BUILD_TESTS)
14731
14732 add_executable(metrics_client
14733   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.pb.cc
14734   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.grpc.pb.cc
14735   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.pb.h
14736   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.grpc.pb.h
14737   test/cpp/interop/metrics_client.cc
14738   third_party/googletest/googletest/src/gtest-all.cc
14739   third_party/googletest/googlemock/src/gmock-all.cc
14740 )
14741
14742 protobuf_generate_grpc_cpp(
14743   src/proto/grpc/testing/metrics.proto
14744 )
14745
14746 target_include_directories(metrics_client
14747   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14748   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14749   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14750   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14751   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14752   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14753   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14754   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14755   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14756   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14757   PRIVATE third_party/googletest/googletest/include
14758   PRIVATE third_party/googletest/googletest
14759   PRIVATE third_party/googletest/googlemock/include
14760   PRIVATE third_party/googletest/googlemock
14761   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14762 )
14763
14764 target_link_libraries(metrics_client
14765   ${_gRPC_PROTOBUF_LIBRARIES}
14766   ${_gRPC_ALLTARGETS_LIBRARIES}
14767   grpc++
14768   grpc
14769   gpr
14770   grpc++_test_config
14771   ${_gRPC_GFLAGS_LIBRARIES}
14772 )
14773
14774
14775 endif (gRPC_BUILD_TESTS)
14776 if (gRPC_BUILD_TESTS)
14777
14778 add_executable(mock_test
14779   test/cpp/end2end/mock_test.cc
14780   third_party/googletest/googletest/src/gtest-all.cc
14781   third_party/googletest/googlemock/src/gmock-all.cc
14782 )
14783
14784
14785 target_include_directories(mock_test
14786   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14787   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14788   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14789   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14790   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14791   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14792   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14793   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14794   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14795   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14796   PRIVATE third_party/googletest/googletest/include
14797   PRIVATE third_party/googletest/googletest
14798   PRIVATE third_party/googletest/googlemock/include
14799   PRIVATE third_party/googletest/googlemock
14800   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14801 )
14802
14803 target_link_libraries(mock_test
14804   ${_gRPC_PROTOBUF_LIBRARIES}
14805   ${_gRPC_ALLTARGETS_LIBRARIES}
14806   grpc++_test_util
14807   grpc_test_util
14808   grpc++
14809   grpc
14810   gpr
14811   ${_gRPC_GFLAGS_LIBRARIES}
14812 )
14813
14814
14815 endif (gRPC_BUILD_TESTS)
14816 if (gRPC_BUILD_TESTS)
14817
14818 add_executable(nonblocking_test
14819   test/cpp/end2end/nonblocking_test.cc
14820   third_party/googletest/googletest/src/gtest-all.cc
14821   third_party/googletest/googlemock/src/gmock-all.cc
14822 )
14823
14824
14825 target_include_directories(nonblocking_test
14826   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14827   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14828   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14829   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14830   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14831   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14832   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14833   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14834   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14835   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14836   PRIVATE third_party/googletest/googletest/include
14837   PRIVATE third_party/googletest/googletest
14838   PRIVATE third_party/googletest/googlemock/include
14839   PRIVATE third_party/googletest/googlemock
14840   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14841 )
14842
14843 target_link_libraries(nonblocking_test
14844   ${_gRPC_PROTOBUF_LIBRARIES}
14845   ${_gRPC_ALLTARGETS_LIBRARIES}
14846   grpc++_test_util
14847   grpc_test_util
14848   grpc++
14849   grpc
14850   gpr
14851   ${_gRPC_GFLAGS_LIBRARIES}
14852 )
14853
14854
14855 endif (gRPC_BUILD_TESTS)
14856 if (gRPC_BUILD_TESTS)
14857
14858 add_executable(noop-benchmark
14859   test/cpp/microbenchmarks/noop-benchmark.cc
14860   third_party/googletest/googletest/src/gtest-all.cc
14861   third_party/googletest/googlemock/src/gmock-all.cc
14862 )
14863
14864
14865 target_include_directories(noop-benchmark
14866   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14867   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14868   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14869   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14870   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14871   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14872   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14873   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14874   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14875   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14876   PRIVATE third_party/googletest/googletest/include
14877   PRIVATE third_party/googletest/googletest
14878   PRIVATE third_party/googletest/googlemock/include
14879   PRIVATE third_party/googletest/googlemock
14880   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14881 )
14882
14883 target_link_libraries(noop-benchmark
14884   ${_gRPC_PROTOBUF_LIBRARIES}
14885   ${_gRPC_ALLTARGETS_LIBRARIES}
14886   ${_gRPC_BENCHMARK_LIBRARIES}
14887   ${_gRPC_GFLAGS_LIBRARIES}
14888 )
14889
14890
14891 endif (gRPC_BUILD_TESTS)
14892 if (gRPC_BUILD_TESTS)
14893
14894 add_executable(optional_test
14895   test/core/gprpp/optional_test.cc
14896   third_party/googletest/googletest/src/gtest-all.cc
14897   third_party/googletest/googlemock/src/gmock-all.cc
14898 )
14899
14900
14901 target_include_directories(optional_test
14902   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14903   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14904   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14905   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14906   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14907   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14908   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14909   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14910   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14911   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14912   PRIVATE third_party/googletest/googletest/include
14913   PRIVATE third_party/googletest/googletest
14914   PRIVATE third_party/googletest/googlemock/include
14915   PRIVATE third_party/googletest/googlemock
14916   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14917 )
14918
14919 target_link_libraries(optional_test
14920   ${_gRPC_PROTOBUF_LIBRARIES}
14921   ${_gRPC_ALLTARGETS_LIBRARIES}
14922   grpc_test_util
14923   grpc++
14924   grpc
14925   gpr
14926   ${_gRPC_GFLAGS_LIBRARIES}
14927 )
14928
14929
14930 endif (gRPC_BUILD_TESTS)
14931 if (gRPC_BUILD_TESTS)
14932
14933 add_executable(orphanable_test
14934   test/core/gprpp/orphanable_test.cc
14935   third_party/googletest/googletest/src/gtest-all.cc
14936   third_party/googletest/googlemock/src/gmock-all.cc
14937 )
14938
14939
14940 target_include_directories(orphanable_test
14941   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14942   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14943   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14944   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14945   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14946   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14947   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14948   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14949   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14950   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14951   PRIVATE third_party/googletest/googletest/include
14952   PRIVATE third_party/googletest/googletest
14953   PRIVATE third_party/googletest/googlemock/include
14954   PRIVATE third_party/googletest/googlemock
14955   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14956 )
14957
14958 target_link_libraries(orphanable_test
14959   ${_gRPC_PROTOBUF_LIBRARIES}
14960   ${_gRPC_ALLTARGETS_LIBRARIES}
14961   grpc_test_util
14962   grpc++
14963   grpc
14964   gpr
14965   ${_gRPC_GFLAGS_LIBRARIES}
14966 )
14967
14968
14969 endif (gRPC_BUILD_TESTS)
14970 if (gRPC_BUILD_TESTS)
14971
14972 add_executable(proto_server_reflection_test
14973   test/cpp/end2end/proto_server_reflection_test.cc
14974   third_party/googletest/googletest/src/gtest-all.cc
14975   third_party/googletest/googlemock/src/gmock-all.cc
14976 )
14977
14978
14979 target_include_directories(proto_server_reflection_test
14980   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14981   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14982   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14983   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14984   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14985   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14986   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14987   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14988   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14989   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14990   PRIVATE third_party/googletest/googletest/include
14991   PRIVATE third_party/googletest/googletest
14992   PRIVATE third_party/googletest/googlemock/include
14993   PRIVATE third_party/googletest/googlemock
14994   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14995 )
14996
14997 target_link_libraries(proto_server_reflection_test
14998   ${_gRPC_PROTOBUF_LIBRARIES}
14999   ${_gRPC_ALLTARGETS_LIBRARIES}
15000   grpc++_proto_reflection_desc_db
15001   grpc++_reflection
15002   grpc++_test_util
15003   grpc_test_util
15004   grpc++
15005   grpc
15006   gpr
15007   ${_gRPC_GFLAGS_LIBRARIES}
15008 )
15009
15010
15011 endif (gRPC_BUILD_TESTS)
15012 if (gRPC_BUILD_TESTS)
15013
15014 add_executable(proto_utils_test
15015   test/cpp/codegen/proto_utils_test.cc
15016   third_party/googletest/googletest/src/gtest-all.cc
15017   third_party/googletest/googlemock/src/gmock-all.cc
15018 )
15019
15020
15021 target_include_directories(proto_utils_test
15022   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15023   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15024   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15025   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15026   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15027   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15028   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15029   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15030   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15031   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15032   PRIVATE third_party/googletest/googletest/include
15033   PRIVATE third_party/googletest/googletest
15034   PRIVATE third_party/googletest/googlemock/include
15035   PRIVATE third_party/googletest/googlemock
15036   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15037 )
15038
15039 target_link_libraries(proto_utils_test
15040   ${_gRPC_PROTOBUF_LIBRARIES}
15041   ${_gRPC_ALLTARGETS_LIBRARIES}
15042   grpc++
15043   grpc
15044   ${_gRPC_GFLAGS_LIBRARIES}
15045 )
15046
15047
15048 endif (gRPC_BUILD_TESTS)
15049 if (gRPC_BUILD_TESTS)
15050 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
15051
15052 add_executable(qps_interarrival_test
15053   test/cpp/qps/qps_interarrival_test.cc
15054   third_party/googletest/googletest/src/gtest-all.cc
15055   third_party/googletest/googlemock/src/gmock-all.cc
15056 )
15057
15058
15059 target_include_directories(qps_interarrival_test
15060   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15061   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15062   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15063   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15064   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15065   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15066   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15067   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15068   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15069   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15070   PRIVATE third_party/googletest/googletest/include
15071   PRIVATE third_party/googletest/googletest
15072   PRIVATE third_party/googletest/googlemock/include
15073   PRIVATE third_party/googletest/googlemock
15074   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15075 )
15076
15077 target_link_libraries(qps_interarrival_test
15078   ${_gRPC_PROTOBUF_LIBRARIES}
15079   ${_gRPC_ALLTARGETS_LIBRARIES}
15080   qps
15081   grpc++_test_util
15082   grpc_test_util
15083   grpc++
15084   grpc
15085   gpr
15086   grpc++_test_config
15087   ${_gRPC_GFLAGS_LIBRARIES}
15088 )
15089
15090
15091 endif()
15092 endif (gRPC_BUILD_TESTS)
15093 if (gRPC_BUILD_TESTS)
15094
15095 add_executable(qps_json_driver
15096   test/cpp/qps/qps_json_driver.cc
15097   third_party/googletest/googletest/src/gtest-all.cc
15098   third_party/googletest/googlemock/src/gmock-all.cc
15099 )
15100
15101
15102 target_include_directories(qps_json_driver
15103   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15104   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15105   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15106   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15107   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15108   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15109   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15110   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15111   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15112   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15113   PRIVATE third_party/googletest/googletest/include
15114   PRIVATE third_party/googletest/googletest
15115   PRIVATE third_party/googletest/googlemock/include
15116   PRIVATE third_party/googletest/googlemock
15117   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15118 )
15119
15120 target_link_libraries(qps_json_driver
15121   ${_gRPC_PROTOBUF_LIBRARIES}
15122   ${_gRPC_ALLTARGETS_LIBRARIES}
15123   qps
15124   grpc++_core_stats
15125   grpc++_test_util
15126   grpc_test_util
15127   grpc++
15128   grpc
15129   gpr
15130   grpc++_test_config
15131   ${_gRPC_GFLAGS_LIBRARIES}
15132 )
15133
15134
15135 endif (gRPC_BUILD_TESTS)
15136 if (gRPC_BUILD_TESTS)
15137 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
15138
15139 add_executable(qps_openloop_test
15140   test/cpp/qps/qps_openloop_test.cc
15141   third_party/googletest/googletest/src/gtest-all.cc
15142   third_party/googletest/googlemock/src/gmock-all.cc
15143 )
15144
15145
15146 target_include_directories(qps_openloop_test
15147   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15148   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15149   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15150   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15151   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15152   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15153   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15154   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15155   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15156   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15157   PRIVATE third_party/googletest/googletest/include
15158   PRIVATE third_party/googletest/googletest
15159   PRIVATE third_party/googletest/googlemock/include
15160   PRIVATE third_party/googletest/googlemock
15161   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15162 )
15163
15164 target_link_libraries(qps_openloop_test
15165   ${_gRPC_PROTOBUF_LIBRARIES}
15166   ${_gRPC_ALLTARGETS_LIBRARIES}
15167   qps
15168   grpc++_core_stats
15169   grpc++_test_util
15170   grpc_test_util
15171   grpc++
15172   grpc
15173   gpr
15174   grpc++_test_config
15175   ${_gRPC_GFLAGS_LIBRARIES}
15176 )
15177
15178
15179 endif()
15180 endif (gRPC_BUILD_TESTS)
15181 if (gRPC_BUILD_TESTS)
15182
15183 add_executable(qps_worker
15184   test/cpp/qps/worker.cc
15185   third_party/googletest/googletest/src/gtest-all.cc
15186   third_party/googletest/googlemock/src/gmock-all.cc
15187 )
15188
15189
15190 target_include_directories(qps_worker
15191   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15192   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15193   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15194   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15195   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15196   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15197   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15198   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15199   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15200   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15201   PRIVATE third_party/googletest/googletest/include
15202   PRIVATE third_party/googletest/googletest
15203   PRIVATE third_party/googletest/googlemock/include
15204   PRIVATE third_party/googletest/googlemock
15205   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15206 )
15207
15208 target_link_libraries(qps_worker
15209   ${_gRPC_PROTOBUF_LIBRARIES}
15210   ${_gRPC_ALLTARGETS_LIBRARIES}
15211   qps
15212   grpc++_core_stats
15213   grpc++_test_util
15214   grpc_test_util
15215   grpc++
15216   grpc
15217   gpr
15218   grpc++_test_config
15219   ${_gRPC_GFLAGS_LIBRARIES}
15220 )
15221
15222
15223 endif (gRPC_BUILD_TESTS)
15224 if (gRPC_BUILD_TESTS)
15225
15226 add_executable(raw_end2end_test
15227   test/cpp/end2end/raw_end2end_test.cc
15228   third_party/googletest/googletest/src/gtest-all.cc
15229   third_party/googletest/googlemock/src/gmock-all.cc
15230 )
15231
15232
15233 target_include_directories(raw_end2end_test
15234   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15235   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15236   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15237   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15238   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15239   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15240   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15241   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15242   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15243   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15244   PRIVATE third_party/googletest/googletest/include
15245   PRIVATE third_party/googletest/googletest
15246   PRIVATE third_party/googletest/googlemock/include
15247   PRIVATE third_party/googletest/googlemock
15248   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15249 )
15250
15251 target_link_libraries(raw_end2end_test
15252   ${_gRPC_PROTOBUF_LIBRARIES}
15253   ${_gRPC_ALLTARGETS_LIBRARIES}
15254   grpc++_test_util
15255   grpc_test_util
15256   grpc++
15257   grpc
15258   gpr
15259   ${_gRPC_GFLAGS_LIBRARIES}
15260 )
15261
15262
15263 endif (gRPC_BUILD_TESTS)
15264 if (gRPC_BUILD_TESTS)
15265
15266 add_executable(reconnect_interop_client
15267   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
15268   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
15269   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
15270   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
15271   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
15272   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
15273   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
15274   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
15275   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
15276   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
15277   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
15278   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
15279   test/cpp/interop/reconnect_interop_client.cc
15280   third_party/googletest/googletest/src/gtest-all.cc
15281   third_party/googletest/googlemock/src/gmock-all.cc
15282 )
15283
15284 protobuf_generate_grpc_cpp(
15285   src/proto/grpc/testing/empty.proto
15286 )
15287 protobuf_generate_grpc_cpp(
15288   src/proto/grpc/testing/messages.proto
15289 )
15290 protobuf_generate_grpc_cpp(
15291   src/proto/grpc/testing/test.proto
15292 )
15293
15294 target_include_directories(reconnect_interop_client
15295   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15296   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15297   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15298   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15299   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15300   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15301   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15302   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15303   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15304   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15305   PRIVATE third_party/googletest/googletest/include
15306   PRIVATE third_party/googletest/googletest
15307   PRIVATE third_party/googletest/googlemock/include
15308   PRIVATE third_party/googletest/googlemock
15309   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15310 )
15311
15312 target_link_libraries(reconnect_interop_client
15313   ${_gRPC_PROTOBUF_LIBRARIES}
15314   ${_gRPC_ALLTARGETS_LIBRARIES}
15315   grpc++_test_util
15316   grpc_test_util
15317   grpc++
15318   grpc
15319   gpr
15320   grpc++_test_config
15321   ${_gRPC_GFLAGS_LIBRARIES}
15322 )
15323
15324
15325 endif (gRPC_BUILD_TESTS)
15326 if (gRPC_BUILD_TESTS)
15327
15328 add_executable(reconnect_interop_server
15329   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
15330   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
15331   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
15332   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
15333   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
15334   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
15335   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
15336   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
15337   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
15338   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
15339   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
15340   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
15341   test/cpp/interop/reconnect_interop_server.cc
15342   third_party/googletest/googletest/src/gtest-all.cc
15343   third_party/googletest/googlemock/src/gmock-all.cc
15344 )
15345
15346 protobuf_generate_grpc_cpp(
15347   src/proto/grpc/testing/empty.proto
15348 )
15349 protobuf_generate_grpc_cpp(
15350   src/proto/grpc/testing/messages.proto
15351 )
15352 protobuf_generate_grpc_cpp(
15353   src/proto/grpc/testing/test.proto
15354 )
15355
15356 target_include_directories(reconnect_interop_server
15357   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15358   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15359   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15360   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15361   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15362   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15363   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15364   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15365   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15366   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15367   PRIVATE third_party/googletest/googletest/include
15368   PRIVATE third_party/googletest/googletest
15369   PRIVATE third_party/googletest/googlemock/include
15370   PRIVATE third_party/googletest/googlemock
15371   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15372 )
15373
15374 target_link_libraries(reconnect_interop_server
15375   ${_gRPC_PROTOBUF_LIBRARIES}
15376   ${_gRPC_ALLTARGETS_LIBRARIES}
15377   reconnect_server
15378   test_tcp_server
15379   grpc++_test_util
15380   grpc_test_util
15381   grpc++
15382   grpc
15383   gpr
15384   grpc++_test_config
15385   ${_gRPC_GFLAGS_LIBRARIES}
15386 )
15387
15388
15389 endif (gRPC_BUILD_TESTS)
15390 if (gRPC_BUILD_TESTS)
15391
15392 add_executable(ref_counted_ptr_test
15393   test/core/gprpp/ref_counted_ptr_test.cc
15394   third_party/googletest/googletest/src/gtest-all.cc
15395   third_party/googletest/googlemock/src/gmock-all.cc
15396 )
15397
15398
15399 target_include_directories(ref_counted_ptr_test
15400   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15401   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15402   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15403   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15404   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15405   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15406   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15407   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15408   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15409   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15410   PRIVATE third_party/googletest/googletest/include
15411   PRIVATE third_party/googletest/googletest
15412   PRIVATE third_party/googletest/googlemock/include
15413   PRIVATE third_party/googletest/googlemock
15414   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15415 )
15416
15417 target_link_libraries(ref_counted_ptr_test
15418   ${_gRPC_PROTOBUF_LIBRARIES}
15419   ${_gRPC_ALLTARGETS_LIBRARIES}
15420   grpc_test_util
15421   grpc++
15422   grpc
15423   gpr
15424   ${_gRPC_GFLAGS_LIBRARIES}
15425 )
15426
15427
15428 endif (gRPC_BUILD_TESTS)
15429 if (gRPC_BUILD_TESTS)
15430
15431 add_executable(ref_counted_test
15432   test/core/gprpp/ref_counted_test.cc
15433   third_party/googletest/googletest/src/gtest-all.cc
15434   third_party/googletest/googlemock/src/gmock-all.cc
15435 )
15436
15437
15438 target_include_directories(ref_counted_test
15439   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15440   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15441   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15442   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15443   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15444   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15445   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15446   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15447   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15448   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15449   PRIVATE third_party/googletest/googletest/include
15450   PRIVATE third_party/googletest/googletest
15451   PRIVATE third_party/googletest/googlemock/include
15452   PRIVATE third_party/googletest/googlemock
15453   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15454 )
15455
15456 target_link_libraries(ref_counted_test
15457   ${_gRPC_PROTOBUF_LIBRARIES}
15458   ${_gRPC_ALLTARGETS_LIBRARIES}
15459   grpc_test_util
15460   grpc++
15461   grpc
15462   gpr
15463   ${_gRPC_GFLAGS_LIBRARIES}
15464 )
15465
15466
15467 endif (gRPC_BUILD_TESTS)
15468 if (gRPC_BUILD_TESTS)
15469
15470 add_executable(retry_throttle_test
15471   test/core/client_channel/retry_throttle_test.cc
15472   third_party/googletest/googletest/src/gtest-all.cc
15473   third_party/googletest/googlemock/src/gmock-all.cc
15474 )
15475
15476
15477 target_include_directories(retry_throttle_test
15478   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15479   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15480   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15481   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15482   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15483   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15484   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15485   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15486   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15487   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15488   PRIVATE third_party/googletest/googletest/include
15489   PRIVATE third_party/googletest/googletest
15490   PRIVATE third_party/googletest/googlemock/include
15491   PRIVATE third_party/googletest/googlemock
15492   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15493 )
15494
15495 target_link_libraries(retry_throttle_test
15496   ${_gRPC_PROTOBUF_LIBRARIES}
15497   ${_gRPC_ALLTARGETS_LIBRARIES}
15498   grpc_test_util
15499   grpc
15500   gpr
15501   ${_gRPC_GFLAGS_LIBRARIES}
15502 )
15503
15504
15505 endif (gRPC_BUILD_TESTS)
15506 if (gRPC_BUILD_TESTS)
15507
15508 add_executable(secure_auth_context_test
15509   test/cpp/common/secure_auth_context_test.cc
15510   third_party/googletest/googletest/src/gtest-all.cc
15511   third_party/googletest/googlemock/src/gmock-all.cc
15512 )
15513
15514
15515 target_include_directories(secure_auth_context_test
15516   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15517   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15518   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15519   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15520   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15521   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15522   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15523   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15524   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15525   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15526   PRIVATE third_party/googletest/googletest/include
15527   PRIVATE third_party/googletest/googletest
15528   PRIVATE third_party/googletest/googlemock/include
15529   PRIVATE third_party/googletest/googlemock
15530   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15531 )
15532
15533 target_link_libraries(secure_auth_context_test
15534   ${_gRPC_PROTOBUF_LIBRARIES}
15535   ${_gRPC_ALLTARGETS_LIBRARIES}
15536   grpc++_test_util
15537   grpc_test_util
15538   grpc++
15539   grpc
15540   gpr
15541   ${_gRPC_GFLAGS_LIBRARIES}
15542 )
15543
15544
15545 endif (gRPC_BUILD_TESTS)
15546 if (gRPC_BUILD_TESTS)
15547 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
15548
15549 add_executable(secure_sync_unary_ping_pong_test
15550   test/cpp/qps/secure_sync_unary_ping_pong_test.cc
15551   third_party/googletest/googletest/src/gtest-all.cc
15552   third_party/googletest/googlemock/src/gmock-all.cc
15553 )
15554
15555
15556 target_include_directories(secure_sync_unary_ping_pong_test
15557   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15558   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15559   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15560   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15561   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15562   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15563   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15564   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15565   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15566   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15567   PRIVATE third_party/googletest/googletest/include
15568   PRIVATE third_party/googletest/googletest
15569   PRIVATE third_party/googletest/googlemock/include
15570   PRIVATE third_party/googletest/googlemock
15571   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15572 )
15573
15574 target_link_libraries(secure_sync_unary_ping_pong_test
15575   ${_gRPC_PROTOBUF_LIBRARIES}
15576   ${_gRPC_ALLTARGETS_LIBRARIES}
15577   qps
15578   grpc++_core_stats
15579   grpc++_test_util
15580   grpc_test_util
15581   grpc++
15582   grpc
15583   gpr
15584   grpc++_test_config
15585   ${_gRPC_GFLAGS_LIBRARIES}
15586 )
15587
15588
15589 endif()
15590 endif (gRPC_BUILD_TESTS)
15591 if (gRPC_BUILD_TESTS)
15592
15593 add_executable(server_builder_plugin_test
15594   test/cpp/end2end/server_builder_plugin_test.cc
15595   third_party/googletest/googletest/src/gtest-all.cc
15596   third_party/googletest/googlemock/src/gmock-all.cc
15597 )
15598
15599
15600 target_include_directories(server_builder_plugin_test
15601   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15602   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15603   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15604   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15605   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15606   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15607   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15608   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15609   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15610   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15611   PRIVATE third_party/googletest/googletest/include
15612   PRIVATE third_party/googletest/googletest
15613   PRIVATE third_party/googletest/googlemock/include
15614   PRIVATE third_party/googletest/googlemock
15615   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15616 )
15617
15618 target_link_libraries(server_builder_plugin_test
15619   ${_gRPC_PROTOBUF_LIBRARIES}
15620   ${_gRPC_ALLTARGETS_LIBRARIES}
15621   grpc++_test_util
15622   grpc_test_util
15623   grpc++
15624   grpc
15625   gpr
15626   ${_gRPC_GFLAGS_LIBRARIES}
15627 )
15628
15629
15630 endif (gRPC_BUILD_TESTS)
15631 if (gRPC_BUILD_TESTS)
15632
15633 add_executable(server_builder_test
15634   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
15635   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
15636   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
15637   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
15638   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
15639   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
15640   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
15641   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
15642   test/cpp/server/server_builder_test.cc
15643   third_party/googletest/googletest/src/gtest-all.cc
15644   third_party/googletest/googlemock/src/gmock-all.cc
15645 )
15646
15647 protobuf_generate_grpc_cpp(
15648   src/proto/grpc/testing/echo_messages.proto
15649 )
15650 protobuf_generate_grpc_cpp(
15651   src/proto/grpc/testing/echo.proto
15652 )
15653
15654 target_include_directories(server_builder_test
15655   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15656   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15657   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15658   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15659   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15660   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15661   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15662   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15663   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15664   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15665   PRIVATE third_party/googletest/googletest/include
15666   PRIVATE third_party/googletest/googletest
15667   PRIVATE third_party/googletest/googlemock/include
15668   PRIVATE third_party/googletest/googlemock
15669   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15670 )
15671
15672 target_link_libraries(server_builder_test
15673   ${_gRPC_PROTOBUF_LIBRARIES}
15674   ${_gRPC_ALLTARGETS_LIBRARIES}
15675   grpc++_test_util_unsecure
15676   grpc_test_util_unsecure
15677   grpc++_unsecure
15678   grpc_unsecure
15679   gpr
15680   ${_gRPC_GFLAGS_LIBRARIES}
15681 )
15682
15683
15684 endif (gRPC_BUILD_TESTS)
15685 if (gRPC_BUILD_TESTS)
15686 if(_gRPC_PLATFORM_POSIX)
15687
15688 add_executable(server_builder_with_socket_mutator_test
15689   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
15690   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
15691   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
15692   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
15693   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
15694   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
15695   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
15696   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
15697   test/cpp/server/server_builder_with_socket_mutator_test.cc
15698   third_party/googletest/googletest/src/gtest-all.cc
15699   third_party/googletest/googlemock/src/gmock-all.cc
15700 )
15701
15702 protobuf_generate_grpc_cpp(
15703   src/proto/grpc/testing/echo_messages.proto
15704 )
15705 protobuf_generate_grpc_cpp(
15706   src/proto/grpc/testing/echo.proto
15707 )
15708
15709 target_include_directories(server_builder_with_socket_mutator_test
15710   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15711   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15712   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15713   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15714   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15715   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15716   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15717   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15718   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15719   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15720   PRIVATE third_party/googletest/googletest/include
15721   PRIVATE third_party/googletest/googletest
15722   PRIVATE third_party/googletest/googlemock/include
15723   PRIVATE third_party/googletest/googlemock
15724   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15725 )
15726
15727 target_link_libraries(server_builder_with_socket_mutator_test
15728   ${_gRPC_PROTOBUF_LIBRARIES}
15729   ${_gRPC_ALLTARGETS_LIBRARIES}
15730   grpc++_test_util_unsecure
15731   grpc_test_util_unsecure
15732   grpc++_unsecure
15733   grpc_unsecure
15734   gpr
15735   ${_gRPC_GFLAGS_LIBRARIES}
15736 )
15737
15738
15739 endif()
15740 endif (gRPC_BUILD_TESTS)
15741 if (gRPC_BUILD_TESTS)
15742
15743 add_executable(server_context_test_spouse_test
15744   test/cpp/test/server_context_test_spouse_test.cc
15745   third_party/googletest/googletest/src/gtest-all.cc
15746   third_party/googletest/googlemock/src/gmock-all.cc
15747 )
15748
15749
15750 target_include_directories(server_context_test_spouse_test
15751   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15752   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15753   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15754   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15755   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15756   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15757   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15758   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15759   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15760   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15761   PRIVATE third_party/googletest/googletest/include
15762   PRIVATE third_party/googletest/googletest
15763   PRIVATE third_party/googletest/googlemock/include
15764   PRIVATE third_party/googletest/googlemock
15765   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15766 )
15767
15768 target_link_libraries(server_context_test_spouse_test
15769   ${_gRPC_PROTOBUF_LIBRARIES}
15770   ${_gRPC_ALLTARGETS_LIBRARIES}
15771   grpc_test_util
15772   grpc++
15773   grpc
15774   gpr
15775   ${_gRPC_GFLAGS_LIBRARIES}
15776 )
15777
15778
15779 endif (gRPC_BUILD_TESTS)
15780 if (gRPC_BUILD_TESTS)
15781 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
15782
15783 add_executable(server_crash_test
15784   test/cpp/end2end/server_crash_test.cc
15785   third_party/googletest/googletest/src/gtest-all.cc
15786   third_party/googletest/googlemock/src/gmock-all.cc
15787 )
15788
15789
15790 target_include_directories(server_crash_test
15791   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15792   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15793   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15794   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15795   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15796   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15797   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15798   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15799   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15800   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15801   PRIVATE third_party/googletest/googletest/include
15802   PRIVATE third_party/googletest/googletest
15803   PRIVATE third_party/googletest/googlemock/include
15804   PRIVATE third_party/googletest/googlemock
15805   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15806 )
15807
15808 target_link_libraries(server_crash_test
15809   ${_gRPC_PROTOBUF_LIBRARIES}
15810   ${_gRPC_ALLTARGETS_LIBRARIES}
15811   grpc++_test_util
15812   grpc_test_util
15813   grpc++
15814   grpc
15815   gpr
15816   ${_gRPC_GFLAGS_LIBRARIES}
15817 )
15818
15819
15820 endif()
15821 endif (gRPC_BUILD_TESTS)
15822 if (gRPC_BUILD_TESTS)
15823
15824 add_executable(server_crash_test_client
15825   test/cpp/end2end/server_crash_test_client.cc
15826   third_party/googletest/googletest/src/gtest-all.cc
15827   third_party/googletest/googlemock/src/gmock-all.cc
15828 )
15829
15830
15831 target_include_directories(server_crash_test_client
15832   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15833   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15834   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15835   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15836   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15837   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15838   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15839   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15840   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15841   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15842   PRIVATE third_party/googletest/googletest/include
15843   PRIVATE third_party/googletest/googletest
15844   PRIVATE third_party/googletest/googlemock/include
15845   PRIVATE third_party/googletest/googlemock
15846   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15847 )
15848
15849 target_link_libraries(server_crash_test_client
15850   ${_gRPC_PROTOBUF_LIBRARIES}
15851   ${_gRPC_ALLTARGETS_LIBRARIES}
15852   grpc++_test_config
15853   grpc++_test_util
15854   grpc_test_util
15855   grpc++
15856   grpc
15857   gpr
15858   ${_gRPC_GFLAGS_LIBRARIES}
15859 )
15860
15861
15862 endif (gRPC_BUILD_TESTS)
15863 if (gRPC_BUILD_TESTS)
15864
15865 add_executable(server_early_return_test
15866   test/cpp/end2end/server_early_return_test.cc
15867   third_party/googletest/googletest/src/gtest-all.cc
15868   third_party/googletest/googlemock/src/gmock-all.cc
15869 )
15870
15871
15872 target_include_directories(server_early_return_test
15873   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15874   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15875   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15876   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15877   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15878   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15879   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15880   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15881   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15882   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15883   PRIVATE third_party/googletest/googletest/include
15884   PRIVATE third_party/googletest/googletest
15885   PRIVATE third_party/googletest/googlemock/include
15886   PRIVATE third_party/googletest/googlemock
15887   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15888 )
15889
15890 target_link_libraries(server_early_return_test
15891   ${_gRPC_PROTOBUF_LIBRARIES}
15892   ${_gRPC_ALLTARGETS_LIBRARIES}
15893   grpc++_test_util
15894   grpc_test_util
15895   grpc++
15896   grpc
15897   gpr
15898   ${_gRPC_GFLAGS_LIBRARIES}
15899 )
15900
15901
15902 endif (gRPC_BUILD_TESTS)
15903 if (gRPC_BUILD_TESTS)
15904
15905 add_executable(server_interceptors_end2end_test
15906   test/cpp/end2end/interceptors_util.cc
15907   test/cpp/end2end/server_interceptors_end2end_test.cc
15908   third_party/googletest/googletest/src/gtest-all.cc
15909   third_party/googletest/googlemock/src/gmock-all.cc
15910 )
15911
15912
15913 target_include_directories(server_interceptors_end2end_test
15914   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15915   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15916   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15917   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15918   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15919   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15920   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15921   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15922   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15923   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15924   PRIVATE third_party/googletest/googletest/include
15925   PRIVATE third_party/googletest/googletest
15926   PRIVATE third_party/googletest/googlemock/include
15927   PRIVATE third_party/googletest/googlemock
15928   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15929 )
15930
15931 target_link_libraries(server_interceptors_end2end_test
15932   ${_gRPC_PROTOBUF_LIBRARIES}
15933   ${_gRPC_ALLTARGETS_LIBRARIES}
15934   grpc++_test_util
15935   grpc_test_util
15936   grpc++
15937   grpc
15938   gpr
15939   ${_gRPC_GFLAGS_LIBRARIES}
15940 )
15941
15942
15943 endif (gRPC_BUILD_TESTS)
15944 if (gRPC_BUILD_TESTS)
15945
15946 add_executable(server_request_call_test
15947   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
15948   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
15949   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
15950   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
15951   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
15952   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
15953   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
15954   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
15955   test/cpp/server/server_request_call_test.cc
15956   third_party/googletest/googletest/src/gtest-all.cc
15957   third_party/googletest/googlemock/src/gmock-all.cc
15958 )
15959
15960 protobuf_generate_grpc_cpp(
15961   src/proto/grpc/testing/echo_messages.proto
15962 )
15963 protobuf_generate_grpc_cpp(
15964   src/proto/grpc/testing/echo.proto
15965 )
15966
15967 target_include_directories(server_request_call_test
15968   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15969   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15970   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15971   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15972   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15973   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15974   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15975   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15976   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15977   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15978   PRIVATE third_party/googletest/googletest/include
15979   PRIVATE third_party/googletest/googletest
15980   PRIVATE third_party/googletest/googlemock/include
15981   PRIVATE third_party/googletest/googlemock
15982   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15983 )
15984
15985 target_link_libraries(server_request_call_test
15986   ${_gRPC_PROTOBUF_LIBRARIES}
15987   ${_gRPC_ALLTARGETS_LIBRARIES}
15988   grpc++_test_util_unsecure
15989   grpc_test_util_unsecure
15990   grpc++_unsecure
15991   grpc_unsecure
15992   gpr
15993   ${_gRPC_GFLAGS_LIBRARIES}
15994 )
15995
15996
15997 endif (gRPC_BUILD_TESTS)
15998 if (gRPC_BUILD_TESTS)
15999
16000 add_executable(service_config_end2end_test
16001   test/cpp/end2end/service_config_end2end_test.cc
16002   third_party/googletest/googletest/src/gtest-all.cc
16003   third_party/googletest/googlemock/src/gmock-all.cc
16004 )
16005
16006
16007 target_include_directories(service_config_end2end_test
16008   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16009   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16010   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16011   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16012   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16013   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16014   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16015   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16016   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16017   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16018   PRIVATE third_party/googletest/googletest/include
16019   PRIVATE third_party/googletest/googletest
16020   PRIVATE third_party/googletest/googlemock/include
16021   PRIVATE third_party/googletest/googlemock
16022   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16023 )
16024
16025 target_link_libraries(service_config_end2end_test
16026   ${_gRPC_PROTOBUF_LIBRARIES}
16027   ${_gRPC_ALLTARGETS_LIBRARIES}
16028   grpc++_test_util
16029   grpc_test_util
16030   grpc++
16031   grpc
16032   gpr
16033   ${_gRPC_GFLAGS_LIBRARIES}
16034 )
16035
16036
16037 endif (gRPC_BUILD_TESTS)
16038 if (gRPC_BUILD_TESTS)
16039
16040 add_executable(service_config_test
16041   test/core/client_channel/service_config_test.cc
16042   third_party/googletest/googletest/src/gtest-all.cc
16043   third_party/googletest/googlemock/src/gmock-all.cc
16044 )
16045
16046
16047 target_include_directories(service_config_test
16048   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16049   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16050   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16051   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16052   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16053   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16054   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16055   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16056   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16057   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16058   PRIVATE third_party/googletest/googletest/include
16059   PRIVATE third_party/googletest/googletest
16060   PRIVATE third_party/googletest/googlemock/include
16061   PRIVATE third_party/googletest/googlemock
16062   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16063 )
16064
16065 target_link_libraries(service_config_test
16066   ${_gRPC_PROTOBUF_LIBRARIES}
16067   ${_gRPC_ALLTARGETS_LIBRARIES}
16068   grpc_test_util
16069   grpc++
16070   grpc
16071   gpr
16072   ${_gRPC_GFLAGS_LIBRARIES}
16073 )
16074
16075
16076 endif (gRPC_BUILD_TESTS)
16077 if (gRPC_BUILD_TESTS)
16078
16079 add_executable(shutdown_test
16080   test/cpp/end2end/shutdown_test.cc
16081   third_party/googletest/googletest/src/gtest-all.cc
16082   third_party/googletest/googlemock/src/gmock-all.cc
16083 )
16084
16085
16086 target_include_directories(shutdown_test
16087   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16088   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16089   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16090   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16091   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16092   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16093   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16094   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16095   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16096   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16097   PRIVATE third_party/googletest/googletest/include
16098   PRIVATE third_party/googletest/googletest
16099   PRIVATE third_party/googletest/googlemock/include
16100   PRIVATE third_party/googletest/googlemock
16101   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16102 )
16103
16104 target_link_libraries(shutdown_test
16105   ${_gRPC_PROTOBUF_LIBRARIES}
16106   ${_gRPC_ALLTARGETS_LIBRARIES}
16107   grpc++_test_util
16108   grpc_test_util
16109   grpc++
16110   grpc
16111   gpr
16112   ${_gRPC_GFLAGS_LIBRARIES}
16113 )
16114
16115
16116 endif (gRPC_BUILD_TESTS)
16117 if (gRPC_BUILD_TESTS)
16118
16119 add_executable(slice_hash_table_test
16120   test/core/slice/slice_hash_table_test.cc
16121   third_party/googletest/googletest/src/gtest-all.cc
16122   third_party/googletest/googlemock/src/gmock-all.cc
16123 )
16124
16125
16126 target_include_directories(slice_hash_table_test
16127   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16128   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16129   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16130   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16131   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16132   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16133   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16134   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16135   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16136   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16137   PRIVATE third_party/googletest/googletest/include
16138   PRIVATE third_party/googletest/googletest
16139   PRIVATE third_party/googletest/googlemock/include
16140   PRIVATE third_party/googletest/googlemock
16141   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16142 )
16143
16144 target_link_libraries(slice_hash_table_test
16145   ${_gRPC_PROTOBUF_LIBRARIES}
16146   ${_gRPC_ALLTARGETS_LIBRARIES}
16147   grpc_test_util
16148   grpc
16149   gpr
16150   ${_gRPC_GFLAGS_LIBRARIES}
16151 )
16152
16153
16154 endif (gRPC_BUILD_TESTS)
16155 if (gRPC_BUILD_TESTS)
16156
16157 add_executable(slice_weak_hash_table_test
16158   test/core/slice/slice_weak_hash_table_test.cc
16159   third_party/googletest/googletest/src/gtest-all.cc
16160   third_party/googletest/googlemock/src/gmock-all.cc
16161 )
16162
16163
16164 target_include_directories(slice_weak_hash_table_test
16165   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16166   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16167   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16168   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16169   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16170   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16171   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16172   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16173   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16174   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16175   PRIVATE third_party/googletest/googletest/include
16176   PRIVATE third_party/googletest/googletest
16177   PRIVATE third_party/googletest/googlemock/include
16178   PRIVATE third_party/googletest/googlemock
16179   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16180 )
16181
16182 target_link_libraries(slice_weak_hash_table_test
16183   ${_gRPC_PROTOBUF_LIBRARIES}
16184   ${_gRPC_ALLTARGETS_LIBRARIES}
16185   grpc_test_util
16186   grpc
16187   gpr
16188   ${_gRPC_GFLAGS_LIBRARIES}
16189 )
16190
16191
16192 endif (gRPC_BUILD_TESTS)
16193 if (gRPC_BUILD_TESTS)
16194
16195 add_executable(stats_test
16196   test/core/debug/stats_test.cc
16197   third_party/googletest/googletest/src/gtest-all.cc
16198   third_party/googletest/googlemock/src/gmock-all.cc
16199 )
16200
16201
16202 target_include_directories(stats_test
16203   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16204   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16205   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16206   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16207   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16208   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16209   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16210   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16211   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16212   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16213   PRIVATE third_party/googletest/googletest/include
16214   PRIVATE third_party/googletest/googletest
16215   PRIVATE third_party/googletest/googlemock/include
16216   PRIVATE third_party/googletest/googlemock
16217   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16218 )
16219
16220 target_link_libraries(stats_test
16221   ${_gRPC_PROTOBUF_LIBRARIES}
16222   ${_gRPC_ALLTARGETS_LIBRARIES}
16223   grpc++_test_util
16224   grpc_test_util
16225   grpc
16226   gpr
16227   ${_gRPC_GFLAGS_LIBRARIES}
16228 )
16229
16230
16231 endif (gRPC_BUILD_TESTS)
16232 if (gRPC_BUILD_TESTS)
16233
16234 add_executable(status_metadata_test
16235   test/core/transport/status_metadata_test.cc
16236   third_party/googletest/googletest/src/gtest-all.cc
16237   third_party/googletest/googlemock/src/gmock-all.cc
16238 )
16239
16240
16241 target_include_directories(status_metadata_test
16242   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16243   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16244   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16245   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16246   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16247   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16248   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16249   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16250   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16251   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16252   PRIVATE third_party/googletest/googletest/include
16253   PRIVATE third_party/googletest/googletest
16254   PRIVATE third_party/googletest/googlemock/include
16255   PRIVATE third_party/googletest/googlemock
16256   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16257 )
16258
16259 target_link_libraries(status_metadata_test
16260   ${_gRPC_PROTOBUF_LIBRARIES}
16261   ${_gRPC_ALLTARGETS_LIBRARIES}
16262   grpc
16263   ${_gRPC_GFLAGS_LIBRARIES}
16264 )
16265
16266
16267 endif (gRPC_BUILD_TESTS)
16268 if (gRPC_BUILD_TESTS)
16269
16270 add_executable(status_util_test
16271   test/core/channel/status_util_test.cc
16272   third_party/googletest/googletest/src/gtest-all.cc
16273   third_party/googletest/googlemock/src/gmock-all.cc
16274 )
16275
16276
16277 target_include_directories(status_util_test
16278   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16279   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16280   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16281   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16282   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16283   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16284   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16285   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16286   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16287   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16288   PRIVATE third_party/googletest/googletest/include
16289   PRIVATE third_party/googletest/googletest
16290   PRIVATE third_party/googletest/googlemock/include
16291   PRIVATE third_party/googletest/googlemock
16292   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16293 )
16294
16295 target_link_libraries(status_util_test
16296   ${_gRPC_PROTOBUF_LIBRARIES}
16297   ${_gRPC_ALLTARGETS_LIBRARIES}
16298   grpc
16299   ${_gRPC_GFLAGS_LIBRARIES}
16300 )
16301
16302
16303 endif (gRPC_BUILD_TESTS)
16304 if (gRPC_BUILD_TESTS)
16305 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16306
16307 add_executable(streaming_throughput_test
16308   test/cpp/end2end/streaming_throughput_test.cc
16309   third_party/googletest/googletest/src/gtest-all.cc
16310   third_party/googletest/googlemock/src/gmock-all.cc
16311 )
16312
16313
16314 target_include_directories(streaming_throughput_test
16315   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16316   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16317   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16318   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16319   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16320   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16321   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16322   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16323   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16324   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16325   PRIVATE third_party/googletest/googletest/include
16326   PRIVATE third_party/googletest/googletest
16327   PRIVATE third_party/googletest/googlemock/include
16328   PRIVATE third_party/googletest/googlemock
16329   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16330 )
16331
16332 target_link_libraries(streaming_throughput_test
16333   ${_gRPC_PROTOBUF_LIBRARIES}
16334   ${_gRPC_ALLTARGETS_LIBRARIES}
16335   grpc++_test_util
16336   grpc_test_util
16337   grpc++
16338   grpc
16339   gpr
16340   ${_gRPC_GFLAGS_LIBRARIES}
16341 )
16342
16343
16344 endif()
16345 endif (gRPC_BUILD_TESTS)
16346 if (gRPC_BUILD_TESTS)
16347
16348 add_executable(stress_test
16349   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
16350   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
16351   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
16352   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
16353   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
16354   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
16355   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
16356   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
16357   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.pb.cc
16358   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.grpc.pb.cc
16359   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.pb.h
16360   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.grpc.pb.h
16361   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
16362   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
16363   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
16364   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
16365   test/cpp/interop/interop_client.cc
16366   test/cpp/interop/stress_interop_client.cc
16367   test/cpp/interop/stress_test.cc
16368   test/cpp/util/metrics_server.cc
16369   third_party/googletest/googletest/src/gtest-all.cc
16370   third_party/googletest/googlemock/src/gmock-all.cc
16371 )
16372
16373 protobuf_generate_grpc_cpp(
16374   src/proto/grpc/testing/empty.proto
16375 )
16376 protobuf_generate_grpc_cpp(
16377   src/proto/grpc/testing/messages.proto
16378 )
16379 protobuf_generate_grpc_cpp(
16380   src/proto/grpc/testing/metrics.proto
16381 )
16382 protobuf_generate_grpc_cpp(
16383   src/proto/grpc/testing/test.proto
16384 )
16385
16386 target_include_directories(stress_test
16387   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16388   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16389   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16390   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16391   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16392   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16393   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16394   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16395   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16396   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16397   PRIVATE third_party/googletest/googletest/include
16398   PRIVATE third_party/googletest/googletest
16399   PRIVATE third_party/googletest/googlemock/include
16400   PRIVATE third_party/googletest/googlemock
16401   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16402 )
16403
16404 target_link_libraries(stress_test
16405   ${_gRPC_PROTOBUF_LIBRARIES}
16406   ${_gRPC_ALLTARGETS_LIBRARIES}
16407   grpc++_test_util
16408   grpc_test_util
16409   grpc++
16410   grpc
16411   gpr
16412   grpc++_test_config
16413   ${_gRPC_GFLAGS_LIBRARIES}
16414 )
16415
16416
16417 endif (gRPC_BUILD_TESTS)
16418 if (gRPC_BUILD_TESTS)
16419
16420 add_executable(thread_manager_test
16421   test/cpp/thread_manager/thread_manager_test.cc
16422   third_party/googletest/googletest/src/gtest-all.cc
16423   third_party/googletest/googlemock/src/gmock-all.cc
16424 )
16425
16426
16427 target_include_directories(thread_manager_test
16428   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16429   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16430   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16431   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16432   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16433   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16434   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16435   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16436   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16437   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16438   PRIVATE third_party/googletest/googletest/include
16439   PRIVATE third_party/googletest/googletest
16440   PRIVATE third_party/googletest/googlemock/include
16441   PRIVATE third_party/googletest/googlemock
16442   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16443 )
16444
16445 target_link_libraries(thread_manager_test
16446   ${_gRPC_PROTOBUF_LIBRARIES}
16447   ${_gRPC_ALLTARGETS_LIBRARIES}
16448   grpc++_unsecure
16449   grpc_unsecure
16450   gpr
16451   grpc++_test_config
16452   ${_gRPC_GFLAGS_LIBRARIES}
16453 )
16454
16455
16456 endif (gRPC_BUILD_TESTS)
16457 if (gRPC_BUILD_TESTS)
16458
16459 add_executable(thread_stress_test
16460   test/cpp/end2end/thread_stress_test.cc
16461   third_party/googletest/googletest/src/gtest-all.cc
16462   third_party/googletest/googlemock/src/gmock-all.cc
16463 )
16464
16465
16466 target_include_directories(thread_stress_test
16467   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16468   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16469   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16470   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16471   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16472   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16473   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16474   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16475   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16476   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16477   PRIVATE third_party/googletest/googletest/include
16478   PRIVATE third_party/googletest/googletest
16479   PRIVATE third_party/googletest/googlemock/include
16480   PRIVATE third_party/googletest/googlemock
16481   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16482 )
16483
16484 target_link_libraries(thread_stress_test
16485   ${_gRPC_PROTOBUF_LIBRARIES}
16486   ${_gRPC_ALLTARGETS_LIBRARIES}
16487   grpc++_test_util_unsecure
16488   grpc_test_util_unsecure
16489   grpc++_unsecure
16490   grpc_unsecure
16491   gpr
16492   ${_gRPC_GFLAGS_LIBRARIES}
16493 )
16494
16495
16496 endif (gRPC_BUILD_TESTS)
16497 if (gRPC_BUILD_TESTS)
16498 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16499
16500 add_executable(time_change_test
16501   test/cpp/end2end/time_change_test.cc
16502   third_party/googletest/googletest/src/gtest-all.cc
16503   third_party/googletest/googlemock/src/gmock-all.cc
16504 )
16505
16506
16507 target_include_directories(time_change_test
16508   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16509   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16510   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16511   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16512   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16513   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16514   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16515   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16516   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16517   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16518   PRIVATE third_party/googletest/googletest/include
16519   PRIVATE third_party/googletest/googletest
16520   PRIVATE third_party/googletest/googlemock/include
16521   PRIVATE third_party/googletest/googlemock
16522   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16523 )
16524
16525 target_link_libraries(time_change_test
16526   ${_gRPC_PROTOBUF_LIBRARIES}
16527   ${_gRPC_ALLTARGETS_LIBRARIES}
16528   grpc++_test_util
16529   grpc_test_util
16530   grpc++
16531   grpc
16532   gpr
16533   ${_gRPC_GFLAGS_LIBRARIES}
16534 )
16535
16536
16537 endif()
16538 endif (gRPC_BUILD_TESTS)
16539 if (gRPC_BUILD_TESTS)
16540
16541 add_executable(transport_pid_controller_test
16542   test/core/transport/pid_controller_test.cc
16543   third_party/googletest/googletest/src/gtest-all.cc
16544   third_party/googletest/googlemock/src/gmock-all.cc
16545 )
16546
16547
16548 target_include_directories(transport_pid_controller_test
16549   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16550   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16551   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16552   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16553   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16554   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16555   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16556   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16557   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16558   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16559   PRIVATE third_party/googletest/googletest/include
16560   PRIVATE third_party/googletest/googletest
16561   PRIVATE third_party/googletest/googlemock/include
16562   PRIVATE third_party/googletest/googlemock
16563   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16564 )
16565
16566 target_link_libraries(transport_pid_controller_test
16567   ${_gRPC_PROTOBUF_LIBRARIES}
16568   ${_gRPC_ALLTARGETS_LIBRARIES}
16569   grpc++_test_util
16570   grpc++
16571   grpc_test_util
16572   grpc
16573   gpr
16574   ${_gRPC_GFLAGS_LIBRARIES}
16575 )
16576
16577
16578 endif (gRPC_BUILD_TESTS)
16579 if (gRPC_BUILD_TESTS)
16580
16581 add_executable(transport_security_common_api_test
16582   test/core/tsi/alts/handshaker/transport_security_common_api_test.cc
16583   third_party/googletest/googletest/src/gtest-all.cc
16584   third_party/googletest/googlemock/src/gmock-all.cc
16585 )
16586
16587
16588 target_include_directories(transport_security_common_api_test
16589   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16590   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16591   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16592   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16593   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16594   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16595   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16596   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16597   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16598   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16599   PRIVATE third_party/googletest/googletest/include
16600   PRIVATE third_party/googletest/googletest
16601   PRIVATE third_party/googletest/googlemock/include
16602   PRIVATE third_party/googletest/googlemock
16603   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16604 )
16605
16606 target_link_libraries(transport_security_common_api_test
16607   ${_gRPC_PROTOBUF_LIBRARIES}
16608   ${_gRPC_ALLTARGETS_LIBRARIES}
16609   alts_test_util
16610   gpr
16611   grpc
16612   ${_gRPC_GFLAGS_LIBRARIES}
16613 )
16614
16615
16616 endif (gRPC_BUILD_TESTS)
16617 if (gRPC_BUILD_TESTS)
16618 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16619
16620 add_executable(writes_per_rpc_test
16621   test/cpp/performance/writes_per_rpc_test.cc
16622   third_party/googletest/googletest/src/gtest-all.cc
16623   third_party/googletest/googlemock/src/gmock-all.cc
16624 )
16625
16626
16627 target_include_directories(writes_per_rpc_test
16628   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16629   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16630   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16631   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16632   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16633   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16634   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16635   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16636   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16637   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16638   PRIVATE third_party/googletest/googletest/include
16639   PRIVATE third_party/googletest/googletest
16640   PRIVATE third_party/googletest/googlemock/include
16641   PRIVATE third_party/googletest/googlemock
16642   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16643 )
16644
16645 target_link_libraries(writes_per_rpc_test
16646   ${_gRPC_PROTOBUF_LIBRARIES}
16647   ${_gRPC_ALLTARGETS_LIBRARIES}
16648   grpc++_test_util
16649   grpc_test_util
16650   grpc++
16651   grpc
16652   gpr
16653   ${_gRPC_GFLAGS_LIBRARIES}
16654 )
16655
16656
16657 endif()
16658 endif (gRPC_BUILD_TESTS)
16659 if (gRPC_BUILD_TESTS)
16660
16661 add_executable(xds_end2end_test
16662   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc
16663   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc
16664   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h
16665   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h
16666   test/cpp/end2end/xds_end2end_test.cc
16667   third_party/googletest/googletest/src/gtest-all.cc
16668   third_party/googletest/googlemock/src/gmock-all.cc
16669 )
16670
16671 protobuf_generate_grpc_cpp(
16672   src/proto/grpc/lb/v1/load_balancer.proto
16673 )
16674
16675 target_include_directories(xds_end2end_test
16676   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16677   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16678   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16679   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16680   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16681   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16682   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16683   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16684   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16685   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16686   PRIVATE third_party/googletest/googletest/include
16687   PRIVATE third_party/googletest/googletest
16688   PRIVATE third_party/googletest/googlemock/include
16689   PRIVATE third_party/googletest/googlemock
16690   PRIVATE ${_gRPC_PROTO_GENS_DIR}
16691 )
16692
16693 target_link_libraries(xds_end2end_test
16694   ${_gRPC_PROTOBUF_LIBRARIES}
16695   ${_gRPC_ALLTARGETS_LIBRARIES}
16696   grpc++_test_util
16697   grpc_test_util
16698   grpc++
16699   grpc
16700   gpr
16701   ${_gRPC_GFLAGS_LIBRARIES}
16702 )
16703
16704
16705 endif (gRPC_BUILD_TESTS)
16706 if (gRPC_BUILD_TESTS)
16707
16708 add_executable(public_headers_must_be_c89
16709   test/core/surface/public_headers_must_be_c89.c
16710 )
16711
16712
16713 target_include_directories(public_headers_must_be_c89
16714   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16715   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16716   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16717   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16718   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16719   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16720   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16721   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16722   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16723   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16724 )
16725
16726 target_link_libraries(public_headers_must_be_c89
16727   ${_gRPC_ALLTARGETS_LIBRARIES}
16728   grpc
16729   gpr
16730 )
16731
16732
16733 endif (gRPC_BUILD_TESTS)
16734
16735 add_executable(gen_hpack_tables
16736   tools/codegen/core/gen_hpack_tables.cc
16737 )
16738
16739
16740 target_include_directories(gen_hpack_tables
16741   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16742   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16743   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16744   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16745   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16746   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16747   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16748   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16749   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16750   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16751 )
16752
16753 target_link_libraries(gen_hpack_tables
16754   ${_gRPC_ALLTARGETS_LIBRARIES}
16755   gpr
16756   grpc
16757 )
16758
16759
16760
16761 add_executable(gen_legal_metadata_characters
16762   tools/codegen/core/gen_legal_metadata_characters.cc
16763 )
16764
16765
16766 target_include_directories(gen_legal_metadata_characters
16767   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16768   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16769   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16770   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16771   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16772   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16773   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16774   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16775   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16776   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16777 )
16778
16779 target_link_libraries(gen_legal_metadata_characters
16780   ${_gRPC_ALLTARGETS_LIBRARIES}
16781 )
16782
16783
16784
16785 add_executable(gen_percent_encoding_tables
16786   tools/codegen/core/gen_percent_encoding_tables.cc
16787 )
16788
16789
16790 target_include_directories(gen_percent_encoding_tables
16791   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16792   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16793   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16794   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16795   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16796   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16797   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16798   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16799   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16800   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16801 )
16802
16803 target_link_libraries(gen_percent_encoding_tables
16804   ${_gRPC_ALLTARGETS_LIBRARIES}
16805 )
16806
16807
16808 if (gRPC_BUILD_TESTS)
16809
16810 add_executable(badreq_bad_client_test
16811   test/core/bad_client/tests/badreq.cc
16812 )
16813
16814
16815 target_include_directories(badreq_bad_client_test
16816   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16817   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16818   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16819   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16820   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16821   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16822   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16823   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16824   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16825   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16826 )
16827
16828 target_link_libraries(badreq_bad_client_test
16829   ${_gRPC_SSL_LIBRARIES}
16830   ${_gRPC_ALLTARGETS_LIBRARIES}
16831   bad_client_test
16832   grpc_test_util_unsecure
16833   grpc_unsecure
16834   gpr
16835 )
16836
16837   # avoid dependency on libstdc++
16838   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16839     set_target_properties(badreq_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16840     target_compile_options(badreq_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16841   endif()
16842
16843 endif (gRPC_BUILD_TESTS)
16844 if (gRPC_BUILD_TESTS)
16845
16846 add_executable(connection_prefix_bad_client_test
16847   test/core/bad_client/tests/connection_prefix.cc
16848 )
16849
16850
16851 target_include_directories(connection_prefix_bad_client_test
16852   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16853   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16854   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16855   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16856   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16857   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16858   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16859   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16860   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16861   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16862 )
16863
16864 target_link_libraries(connection_prefix_bad_client_test
16865   ${_gRPC_SSL_LIBRARIES}
16866   ${_gRPC_ALLTARGETS_LIBRARIES}
16867   bad_client_test
16868   grpc_test_util_unsecure
16869   grpc_unsecure
16870   gpr
16871 )
16872
16873   # avoid dependency on libstdc++
16874   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16875     set_target_properties(connection_prefix_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16876     target_compile_options(connection_prefix_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16877   endif()
16878
16879 endif (gRPC_BUILD_TESTS)
16880 if (gRPC_BUILD_TESTS)
16881
16882 add_executable(duplicate_header_bad_client_test
16883   test/core/bad_client/tests/duplicate_header.cc
16884 )
16885
16886
16887 target_include_directories(duplicate_header_bad_client_test
16888   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16889   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16890   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16891   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16892   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16893   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16894   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16895   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16896   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16897   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16898 )
16899
16900 target_link_libraries(duplicate_header_bad_client_test
16901   ${_gRPC_SSL_LIBRARIES}
16902   ${_gRPC_ALLTARGETS_LIBRARIES}
16903   bad_client_test
16904   grpc_test_util_unsecure
16905   grpc_unsecure
16906   gpr
16907 )
16908
16909   # avoid dependency on libstdc++
16910   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16911     set_target_properties(duplicate_header_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16912     target_compile_options(duplicate_header_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16913   endif()
16914
16915 endif (gRPC_BUILD_TESTS)
16916 if (gRPC_BUILD_TESTS)
16917
16918 add_executable(head_of_line_blocking_bad_client_test
16919   test/core/bad_client/tests/head_of_line_blocking.cc
16920 )
16921
16922
16923 target_include_directories(head_of_line_blocking_bad_client_test
16924   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16925   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16926   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16927   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16928   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16929   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16930   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16931   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16932   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16933   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16934 )
16935
16936 target_link_libraries(head_of_line_blocking_bad_client_test
16937   ${_gRPC_SSL_LIBRARIES}
16938   ${_gRPC_ALLTARGETS_LIBRARIES}
16939   bad_client_test
16940   grpc_test_util_unsecure
16941   grpc_unsecure
16942   gpr
16943 )
16944
16945   # avoid dependency on libstdc++
16946   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16947     set_target_properties(head_of_line_blocking_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16948     target_compile_options(head_of_line_blocking_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16949   endif()
16950
16951 endif (gRPC_BUILD_TESTS)
16952 if (gRPC_BUILD_TESTS)
16953
16954 add_executable(headers_bad_client_test
16955   test/core/bad_client/tests/headers.cc
16956 )
16957
16958
16959 target_include_directories(headers_bad_client_test
16960   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16961   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16962   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16963   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16964   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16965   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16966   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16967   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16968   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16969   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16970 )
16971
16972 target_link_libraries(headers_bad_client_test
16973   ${_gRPC_SSL_LIBRARIES}
16974   ${_gRPC_ALLTARGETS_LIBRARIES}
16975   bad_client_test
16976   grpc_test_util_unsecure
16977   grpc_unsecure
16978   gpr
16979 )
16980
16981   # avoid dependency on libstdc++
16982   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16983     set_target_properties(headers_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16984     target_compile_options(headers_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16985   endif()
16986
16987 endif (gRPC_BUILD_TESTS)
16988 if (gRPC_BUILD_TESTS)
16989
16990 add_executable(initial_settings_frame_bad_client_test
16991   test/core/bad_client/tests/initial_settings_frame.cc
16992 )
16993
16994
16995 target_include_directories(initial_settings_frame_bad_client_test
16996   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16997   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16998   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16999   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17000   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17001   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17002   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17003   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17004   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17005   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17006 )
17007
17008 target_link_libraries(initial_settings_frame_bad_client_test
17009   ${_gRPC_SSL_LIBRARIES}
17010   ${_gRPC_ALLTARGETS_LIBRARIES}
17011   bad_client_test
17012   grpc_test_util_unsecure
17013   grpc_unsecure
17014   gpr
17015 )
17016
17017   # avoid dependency on libstdc++
17018   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17019     set_target_properties(initial_settings_frame_bad_client_test PROPERTIES LINKER_LANGUAGE C)
17020     target_compile_options(initial_settings_frame_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17021   endif()
17022
17023 endif (gRPC_BUILD_TESTS)
17024 if (gRPC_BUILD_TESTS)
17025
17026 add_executable(large_metadata_bad_client_test
17027   test/core/bad_client/tests/large_metadata.cc
17028 )
17029
17030
17031 target_include_directories(large_metadata_bad_client_test
17032   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17033   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17034   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17035   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17036   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17037   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17038   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17039   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17040   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17041   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17042 )
17043
17044 target_link_libraries(large_metadata_bad_client_test
17045   ${_gRPC_SSL_LIBRARIES}
17046   ${_gRPC_ALLTARGETS_LIBRARIES}
17047   bad_client_test
17048   grpc_test_util_unsecure
17049   grpc_unsecure
17050   gpr
17051 )
17052
17053   # avoid dependency on libstdc++
17054   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17055     set_target_properties(large_metadata_bad_client_test PROPERTIES LINKER_LANGUAGE C)
17056     target_compile_options(large_metadata_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17057   endif()
17058
17059 endif (gRPC_BUILD_TESTS)
17060 if (gRPC_BUILD_TESTS)
17061
17062 add_executable(server_registered_method_bad_client_test
17063   test/core/bad_client/tests/server_registered_method.cc
17064 )
17065
17066
17067 target_include_directories(server_registered_method_bad_client_test
17068   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17069   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17070   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17071   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17072   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17073   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17074   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17075   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17076   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17077   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17078 )
17079
17080 target_link_libraries(server_registered_method_bad_client_test
17081   ${_gRPC_SSL_LIBRARIES}
17082   ${_gRPC_ALLTARGETS_LIBRARIES}
17083   bad_client_test
17084   grpc_test_util_unsecure
17085   grpc_unsecure
17086   gpr
17087 )
17088
17089   # avoid dependency on libstdc++
17090   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17091     set_target_properties(server_registered_method_bad_client_test PROPERTIES LINKER_LANGUAGE C)
17092     target_compile_options(server_registered_method_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17093   endif()
17094
17095 endif (gRPC_BUILD_TESTS)
17096 if (gRPC_BUILD_TESTS)
17097
17098 add_executable(simple_request_bad_client_test
17099   test/core/bad_client/tests/simple_request.cc
17100 )
17101
17102
17103 target_include_directories(simple_request_bad_client_test
17104   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17105   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17106   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17107   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17108   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17109   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17110   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17111   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17112   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17113   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17114 )
17115
17116 target_link_libraries(simple_request_bad_client_test
17117   ${_gRPC_SSL_LIBRARIES}
17118   ${_gRPC_ALLTARGETS_LIBRARIES}
17119   bad_client_test
17120   grpc_test_util_unsecure
17121   grpc_unsecure
17122   gpr
17123 )
17124
17125   # avoid dependency on libstdc++
17126   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17127     set_target_properties(simple_request_bad_client_test PROPERTIES LINKER_LANGUAGE C)
17128     target_compile_options(simple_request_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17129   endif()
17130
17131 endif (gRPC_BUILD_TESTS)
17132 if (gRPC_BUILD_TESTS)
17133
17134 add_executable(unknown_frame_bad_client_test
17135   test/core/bad_client/tests/unknown_frame.cc
17136 )
17137
17138
17139 target_include_directories(unknown_frame_bad_client_test
17140   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17141   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17142   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17143   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17144   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17145   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17146   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17147   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17148   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17149   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17150 )
17151
17152 target_link_libraries(unknown_frame_bad_client_test
17153   ${_gRPC_SSL_LIBRARIES}
17154   ${_gRPC_ALLTARGETS_LIBRARIES}
17155   bad_client_test
17156   grpc_test_util_unsecure
17157   grpc_unsecure
17158   gpr
17159 )
17160
17161   # avoid dependency on libstdc++
17162   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17163     set_target_properties(unknown_frame_bad_client_test PROPERTIES LINKER_LANGUAGE C)
17164     target_compile_options(unknown_frame_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17165   endif()
17166
17167 endif (gRPC_BUILD_TESTS)
17168 if (gRPC_BUILD_TESTS)
17169
17170 add_executable(window_overflow_bad_client_test
17171   test/core/bad_client/tests/window_overflow.cc
17172 )
17173
17174
17175 target_include_directories(window_overflow_bad_client_test
17176   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17177   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17178   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17179   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17180   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17181   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17182   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17183   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17184   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17185   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17186 )
17187
17188 target_link_libraries(window_overflow_bad_client_test
17189   ${_gRPC_SSL_LIBRARIES}
17190   ${_gRPC_ALLTARGETS_LIBRARIES}
17191   bad_client_test
17192   grpc_test_util_unsecure
17193   grpc_unsecure
17194   gpr
17195 )
17196
17197   # avoid dependency on libstdc++
17198   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17199     set_target_properties(window_overflow_bad_client_test PROPERTIES LINKER_LANGUAGE C)
17200     target_compile_options(window_overflow_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17201   endif()
17202
17203 endif (gRPC_BUILD_TESTS)
17204 if (gRPC_BUILD_TESTS)
17205 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17206
17207 add_executable(bad_ssl_cert_server
17208   test/core/bad_ssl/servers/cert.cc
17209 )
17210
17211
17212 target_include_directories(bad_ssl_cert_server
17213   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17214   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17215   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17216   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17217   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17218   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17219   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17220   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17221   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17222   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17223 )
17224
17225 target_link_libraries(bad_ssl_cert_server
17226   ${_gRPC_ALLTARGETS_LIBRARIES}
17227   bad_ssl_test_server
17228   grpc_test_util
17229   grpc
17230   gpr
17231 )
17232
17233   # avoid dependency on libstdc++
17234   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17235     set_target_properties(bad_ssl_cert_server PROPERTIES LINKER_LANGUAGE C)
17236     target_compile_options(bad_ssl_cert_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17237   endif()
17238
17239 endif()
17240 endif (gRPC_BUILD_TESTS)
17241 if (gRPC_BUILD_TESTS)
17242 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17243
17244 add_executable(bad_ssl_cert_test
17245   test/core/bad_ssl/bad_ssl_test.cc
17246 )
17247
17248
17249 target_include_directories(bad_ssl_cert_test
17250   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17251   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17252   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17253   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17254   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17255   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17256   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17257   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17258   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17259   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17260 )
17261
17262 target_link_libraries(bad_ssl_cert_test
17263   ${_gRPC_ALLTARGETS_LIBRARIES}
17264   grpc_test_util
17265   grpc
17266   gpr
17267 )
17268
17269   # avoid dependency on libstdc++
17270   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17271     set_target_properties(bad_ssl_cert_test PROPERTIES LINKER_LANGUAGE C)
17272     target_compile_options(bad_ssl_cert_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17273   endif()
17274
17275 endif()
17276 endif (gRPC_BUILD_TESTS)
17277 if (gRPC_BUILD_TESTS)
17278
17279 add_executable(h2_census_test
17280   test/core/end2end/fixtures/h2_census.cc
17281 )
17282
17283
17284 target_include_directories(h2_census_test
17285   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17286   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17287   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17288   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17289   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17290   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17291   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17292   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17293   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17294   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17295 )
17296
17297 target_link_libraries(h2_census_test
17298   ${_gRPC_ALLTARGETS_LIBRARIES}
17299   end2end_tests
17300   grpc_test_util
17301   grpc
17302   gpr
17303 )
17304
17305   # avoid dependency on libstdc++
17306   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17307     set_target_properties(h2_census_test PROPERTIES LINKER_LANGUAGE C)
17308     target_compile_options(h2_census_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17309   endif()
17310
17311 endif (gRPC_BUILD_TESTS)
17312 if (gRPC_BUILD_TESTS)
17313
17314 add_executable(h2_compress_test
17315   test/core/end2end/fixtures/h2_compress.cc
17316 )
17317
17318
17319 target_include_directories(h2_compress_test
17320   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17321   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17322   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17323   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17324   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17325   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17326   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17327   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17328   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17329   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17330 )
17331
17332 target_link_libraries(h2_compress_test
17333   ${_gRPC_ALLTARGETS_LIBRARIES}
17334   end2end_tests
17335   grpc_test_util
17336   grpc
17337   gpr
17338 )
17339
17340   # avoid dependency on libstdc++
17341   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17342     set_target_properties(h2_compress_test PROPERTIES LINKER_LANGUAGE C)
17343     target_compile_options(h2_compress_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17344   endif()
17345
17346 endif (gRPC_BUILD_TESTS)
17347 if (gRPC_BUILD_TESTS)
17348
17349 add_executable(h2_fakesec_test
17350   test/core/end2end/fixtures/h2_fakesec.cc
17351 )
17352
17353
17354 target_include_directories(h2_fakesec_test
17355   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17356   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17357   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17358   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17359   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17360   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17361   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17362   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17363   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17364   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17365 )
17366
17367 target_link_libraries(h2_fakesec_test
17368   ${_gRPC_ALLTARGETS_LIBRARIES}
17369   end2end_tests
17370   grpc_test_util
17371   grpc
17372   gpr
17373 )
17374
17375   # avoid dependency on libstdc++
17376   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17377     set_target_properties(h2_fakesec_test PROPERTIES LINKER_LANGUAGE C)
17378     target_compile_options(h2_fakesec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17379   endif()
17380
17381 endif (gRPC_BUILD_TESTS)
17382 if (gRPC_BUILD_TESTS)
17383 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17384
17385 add_executable(h2_fd_test
17386   test/core/end2end/fixtures/h2_fd.cc
17387 )
17388
17389
17390 target_include_directories(h2_fd_test
17391   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17392   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17393   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17394   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17395   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17396   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17397   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17398   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17399   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17400   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17401 )
17402
17403 target_link_libraries(h2_fd_test
17404   ${_gRPC_ALLTARGETS_LIBRARIES}
17405   end2end_tests
17406   grpc_test_util
17407   grpc
17408   gpr
17409 )
17410
17411   # avoid dependency on libstdc++
17412   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17413     set_target_properties(h2_fd_test PROPERTIES LINKER_LANGUAGE C)
17414     target_compile_options(h2_fd_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17415   endif()
17416
17417 endif()
17418 endif (gRPC_BUILD_TESTS)
17419 if (gRPC_BUILD_TESTS)
17420
17421 add_executable(h2_full_test
17422   test/core/end2end/fixtures/h2_full.cc
17423 )
17424
17425
17426 target_include_directories(h2_full_test
17427   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17428   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17429   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17430   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17431   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17432   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17433   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17434   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17435   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17436   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17437 )
17438
17439 target_link_libraries(h2_full_test
17440   ${_gRPC_ALLTARGETS_LIBRARIES}
17441   end2end_tests
17442   grpc_test_util
17443   grpc
17444   gpr
17445 )
17446
17447   # avoid dependency on libstdc++
17448   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17449     set_target_properties(h2_full_test PROPERTIES LINKER_LANGUAGE C)
17450     target_compile_options(h2_full_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17451   endif()
17452
17453 endif (gRPC_BUILD_TESTS)
17454 if (gRPC_BUILD_TESTS)
17455 if(_gRPC_PLATFORM_LINUX)
17456
17457 add_executable(h2_full+pipe_test
17458   test/core/end2end/fixtures/h2_full+pipe.cc
17459 )
17460
17461
17462 target_include_directories(h2_full+pipe_test
17463   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17464   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17465   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17466   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17467   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17468   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17469   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17470   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17471   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17472   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17473 )
17474
17475 target_link_libraries(h2_full+pipe_test
17476   ${_gRPC_ALLTARGETS_LIBRARIES}
17477   end2end_tests
17478   grpc_test_util
17479   grpc
17480   gpr
17481 )
17482
17483   # avoid dependency on libstdc++
17484   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17485     set_target_properties(h2_full+pipe_test PROPERTIES LINKER_LANGUAGE C)
17486     target_compile_options(h2_full+pipe_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17487   endif()
17488
17489 endif()
17490 endif (gRPC_BUILD_TESTS)
17491 if (gRPC_BUILD_TESTS)
17492
17493 add_executable(h2_full+trace_test
17494   test/core/end2end/fixtures/h2_full+trace.cc
17495 )
17496
17497
17498 target_include_directories(h2_full+trace_test
17499   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17500   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17501   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17502   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17503   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17504   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17505   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17506   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17507   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17508   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17509 )
17510
17511 target_link_libraries(h2_full+trace_test
17512   ${_gRPC_ALLTARGETS_LIBRARIES}
17513   end2end_tests
17514   grpc_test_util
17515   grpc
17516   gpr
17517 )
17518
17519   # avoid dependency on libstdc++
17520   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17521     set_target_properties(h2_full+trace_test PROPERTIES LINKER_LANGUAGE C)
17522     target_compile_options(h2_full+trace_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17523   endif()
17524
17525 endif (gRPC_BUILD_TESTS)
17526 if (gRPC_BUILD_TESTS)
17527
17528 add_executable(h2_full+workarounds_test
17529   test/core/end2end/fixtures/h2_full+workarounds.cc
17530 )
17531
17532
17533 target_include_directories(h2_full+workarounds_test
17534   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17535   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17536   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17537   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17538   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17539   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17540   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17541   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17542   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17543   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17544 )
17545
17546 target_link_libraries(h2_full+workarounds_test
17547   ${_gRPC_ALLTARGETS_LIBRARIES}
17548   end2end_tests
17549   grpc_test_util
17550   grpc
17551   gpr
17552 )
17553
17554   # avoid dependency on libstdc++
17555   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17556     set_target_properties(h2_full+workarounds_test PROPERTIES LINKER_LANGUAGE C)
17557     target_compile_options(h2_full+workarounds_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17558   endif()
17559
17560 endif (gRPC_BUILD_TESTS)
17561 if (gRPC_BUILD_TESTS)
17562
17563 add_executable(h2_http_proxy_test
17564   test/core/end2end/fixtures/h2_http_proxy.cc
17565 )
17566
17567
17568 target_include_directories(h2_http_proxy_test
17569   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17570   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17571   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17572   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17573   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17574   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17575   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17576   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17577   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17578   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17579 )
17580
17581 target_link_libraries(h2_http_proxy_test
17582   ${_gRPC_ALLTARGETS_LIBRARIES}
17583   end2end_tests
17584   grpc_test_util
17585   grpc
17586   gpr
17587 )
17588
17589   # avoid dependency on libstdc++
17590   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17591     set_target_properties(h2_http_proxy_test PROPERTIES LINKER_LANGUAGE C)
17592     target_compile_options(h2_http_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17593   endif()
17594
17595 endif (gRPC_BUILD_TESTS)
17596 if (gRPC_BUILD_TESTS)
17597 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17598
17599 add_executable(h2_local_ipv4_test
17600   test/core/end2end/fixtures/h2_local_ipv4.cc
17601 )
17602
17603
17604 target_include_directories(h2_local_ipv4_test
17605   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17606   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17607   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17608   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17609   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17610   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17611   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17612   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17613   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17614   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17615 )
17616
17617 target_link_libraries(h2_local_ipv4_test
17618   ${_gRPC_ALLTARGETS_LIBRARIES}
17619   end2end_tests
17620   grpc_test_util
17621   grpc
17622   gpr
17623 )
17624
17625   # avoid dependency on libstdc++
17626   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17627     set_target_properties(h2_local_ipv4_test PROPERTIES LINKER_LANGUAGE C)
17628     target_compile_options(h2_local_ipv4_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17629   endif()
17630
17631 endif()
17632 endif (gRPC_BUILD_TESTS)
17633 if (gRPC_BUILD_TESTS)
17634 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17635
17636 add_executable(h2_local_ipv6_test
17637   test/core/end2end/fixtures/h2_local_ipv6.cc
17638 )
17639
17640
17641 target_include_directories(h2_local_ipv6_test
17642   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17643   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17644   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17645   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17646   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17647   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17648   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17649   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17650   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17651   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17652 )
17653
17654 target_link_libraries(h2_local_ipv6_test
17655   ${_gRPC_ALLTARGETS_LIBRARIES}
17656   end2end_tests
17657   grpc_test_util
17658   grpc
17659   gpr
17660 )
17661
17662   # avoid dependency on libstdc++
17663   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17664     set_target_properties(h2_local_ipv6_test PROPERTIES LINKER_LANGUAGE C)
17665     target_compile_options(h2_local_ipv6_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17666   endif()
17667
17668 endif()
17669 endif (gRPC_BUILD_TESTS)
17670 if (gRPC_BUILD_TESTS)
17671 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17672
17673 add_executable(h2_local_uds_test
17674   test/core/end2end/fixtures/h2_local_uds.cc
17675 )
17676
17677
17678 target_include_directories(h2_local_uds_test
17679   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17680   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17681   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17682   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17683   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17684   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17685   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17686   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17687   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17688   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17689 )
17690
17691 target_link_libraries(h2_local_uds_test
17692   ${_gRPC_ALLTARGETS_LIBRARIES}
17693   end2end_tests
17694   grpc_test_util
17695   grpc
17696   gpr
17697 )
17698
17699   # avoid dependency on libstdc++
17700   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17701     set_target_properties(h2_local_uds_test PROPERTIES LINKER_LANGUAGE C)
17702     target_compile_options(h2_local_uds_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17703   endif()
17704
17705 endif()
17706 endif (gRPC_BUILD_TESTS)
17707 if (gRPC_BUILD_TESTS)
17708
17709 add_executable(h2_oauth2_test
17710   test/core/end2end/fixtures/h2_oauth2.cc
17711 )
17712
17713
17714 target_include_directories(h2_oauth2_test
17715   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17716   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17717   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17718   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17719   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17720   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17721   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17722   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17723   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17724   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17725 )
17726
17727 target_link_libraries(h2_oauth2_test
17728   ${_gRPC_ALLTARGETS_LIBRARIES}
17729   end2end_tests
17730   grpc_test_util
17731   grpc
17732   gpr
17733 )
17734
17735   # avoid dependency on libstdc++
17736   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17737     set_target_properties(h2_oauth2_test PROPERTIES LINKER_LANGUAGE C)
17738     target_compile_options(h2_oauth2_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17739   endif()
17740
17741 endif (gRPC_BUILD_TESTS)
17742 if (gRPC_BUILD_TESTS)
17743
17744 add_executable(h2_proxy_test
17745   test/core/end2end/fixtures/h2_proxy.cc
17746 )
17747
17748
17749 target_include_directories(h2_proxy_test
17750   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17751   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17752   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17753   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17754   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17755   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17756   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17757   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17758   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17759   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17760 )
17761
17762 target_link_libraries(h2_proxy_test
17763   ${_gRPC_ALLTARGETS_LIBRARIES}
17764   end2end_tests
17765   grpc_test_util
17766   grpc
17767   gpr
17768 )
17769
17770   # avoid dependency on libstdc++
17771   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17772     set_target_properties(h2_proxy_test PROPERTIES LINKER_LANGUAGE C)
17773     target_compile_options(h2_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17774   endif()
17775
17776 endif (gRPC_BUILD_TESTS)
17777 if (gRPC_BUILD_TESTS)
17778
17779 add_executable(h2_sockpair_test
17780   test/core/end2end/fixtures/h2_sockpair.cc
17781 )
17782
17783
17784 target_include_directories(h2_sockpair_test
17785   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17786   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17787   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17788   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17789   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17790   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17791   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17792   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17793   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17794   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17795 )
17796
17797 target_link_libraries(h2_sockpair_test
17798   ${_gRPC_ALLTARGETS_LIBRARIES}
17799   end2end_tests
17800   grpc_test_util
17801   grpc
17802   gpr
17803 )
17804
17805   # avoid dependency on libstdc++
17806   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17807     set_target_properties(h2_sockpair_test PROPERTIES LINKER_LANGUAGE C)
17808     target_compile_options(h2_sockpair_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17809   endif()
17810
17811 endif (gRPC_BUILD_TESTS)
17812 if (gRPC_BUILD_TESTS)
17813
17814 add_executable(h2_sockpair+trace_test
17815   test/core/end2end/fixtures/h2_sockpair+trace.cc
17816 )
17817
17818
17819 target_include_directories(h2_sockpair+trace_test
17820   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17821   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17822   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17823   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17824   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17825   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17826   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17827   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17828   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17829   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17830 )
17831
17832 target_link_libraries(h2_sockpair+trace_test
17833   ${_gRPC_ALLTARGETS_LIBRARIES}
17834   end2end_tests
17835   grpc_test_util
17836   grpc
17837   gpr
17838 )
17839
17840   # avoid dependency on libstdc++
17841   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17842     set_target_properties(h2_sockpair+trace_test PROPERTIES LINKER_LANGUAGE C)
17843     target_compile_options(h2_sockpair+trace_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17844   endif()
17845
17846 endif (gRPC_BUILD_TESTS)
17847 if (gRPC_BUILD_TESTS)
17848
17849 add_executable(h2_sockpair_1byte_test
17850   test/core/end2end/fixtures/h2_sockpair_1byte.cc
17851 )
17852
17853
17854 target_include_directories(h2_sockpair_1byte_test
17855   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17856   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17857   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17858   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17859   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17860   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17861   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17862   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17863   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17864   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17865 )
17866
17867 target_link_libraries(h2_sockpair_1byte_test
17868   ${_gRPC_ALLTARGETS_LIBRARIES}
17869   end2end_tests
17870   grpc_test_util
17871   grpc
17872   gpr
17873 )
17874
17875   # avoid dependency on libstdc++
17876   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17877     set_target_properties(h2_sockpair_1byte_test PROPERTIES LINKER_LANGUAGE C)
17878     target_compile_options(h2_sockpair_1byte_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17879   endif()
17880
17881 endif (gRPC_BUILD_TESTS)
17882 if (gRPC_BUILD_TESTS)
17883
17884 add_executable(h2_spiffe_test
17885   test/core/end2end/fixtures/h2_spiffe.cc
17886 )
17887
17888
17889 target_include_directories(h2_spiffe_test
17890   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17891   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17892   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17893   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17894   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17895   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17896   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17897   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17898   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17899   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17900 )
17901
17902 target_link_libraries(h2_spiffe_test
17903   ${_gRPC_ALLTARGETS_LIBRARIES}
17904   end2end_tests
17905   grpc_test_util
17906   grpc
17907   gpr
17908 )
17909
17910   # avoid dependency on libstdc++
17911   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17912     set_target_properties(h2_spiffe_test PROPERTIES LINKER_LANGUAGE C)
17913     target_compile_options(h2_spiffe_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17914   endif()
17915
17916 endif (gRPC_BUILD_TESTS)
17917 if (gRPC_BUILD_TESTS)
17918
17919 add_executable(h2_ssl_test
17920   test/core/end2end/fixtures/h2_ssl.cc
17921 )
17922
17923
17924 target_include_directories(h2_ssl_test
17925   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17926   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17927   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17928   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17929   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17930   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17931   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17932   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17933   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17934   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17935 )
17936
17937 target_link_libraries(h2_ssl_test
17938   ${_gRPC_ALLTARGETS_LIBRARIES}
17939   end2end_tests
17940   grpc_test_util
17941   grpc
17942   gpr
17943 )
17944
17945   # avoid dependency on libstdc++
17946   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17947     set_target_properties(h2_ssl_test PROPERTIES LINKER_LANGUAGE C)
17948     target_compile_options(h2_ssl_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17949   endif()
17950
17951 endif (gRPC_BUILD_TESTS)
17952 if (gRPC_BUILD_TESTS)
17953
17954 add_executable(h2_ssl_cred_reload_test
17955   test/core/end2end/fixtures/h2_ssl_cred_reload.cc
17956 )
17957
17958
17959 target_include_directories(h2_ssl_cred_reload_test
17960   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17961   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17962   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17963   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17964   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17965   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17966   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17967   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17968   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17969   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17970 )
17971
17972 target_link_libraries(h2_ssl_cred_reload_test
17973   ${_gRPC_ALLTARGETS_LIBRARIES}
17974   end2end_tests
17975   grpc_test_util
17976   grpc
17977   gpr
17978 )
17979
17980   # avoid dependency on libstdc++
17981   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17982     set_target_properties(h2_ssl_cred_reload_test PROPERTIES LINKER_LANGUAGE C)
17983     target_compile_options(h2_ssl_cred_reload_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17984   endif()
17985
17986 endif (gRPC_BUILD_TESTS)
17987 if (gRPC_BUILD_TESTS)
17988
17989 add_executable(h2_ssl_proxy_test
17990   test/core/end2end/fixtures/h2_ssl_proxy.cc
17991 )
17992
17993
17994 target_include_directories(h2_ssl_proxy_test
17995   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17996   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17997   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17998   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17999   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18000   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18001   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18002   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18003   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18004   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18005 )
18006
18007 target_link_libraries(h2_ssl_proxy_test
18008   ${_gRPC_ALLTARGETS_LIBRARIES}
18009   end2end_tests
18010   grpc_test_util
18011   grpc
18012   gpr
18013 )
18014
18015   # avoid dependency on libstdc++
18016   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18017     set_target_properties(h2_ssl_proxy_test PROPERTIES LINKER_LANGUAGE C)
18018     target_compile_options(h2_ssl_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18019   endif()
18020
18021 endif (gRPC_BUILD_TESTS)
18022 if (gRPC_BUILD_TESTS)
18023 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
18024
18025 add_executable(h2_uds_test
18026   test/core/end2end/fixtures/h2_uds.cc
18027 )
18028
18029
18030 target_include_directories(h2_uds_test
18031   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18032   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18033   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18034   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18035   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18036   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18037   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18038   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18039   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18040   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18041 )
18042
18043 target_link_libraries(h2_uds_test
18044   ${_gRPC_ALLTARGETS_LIBRARIES}
18045   end2end_tests
18046   grpc_test_util
18047   grpc
18048   gpr
18049 )
18050
18051   # avoid dependency on libstdc++
18052   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18053     set_target_properties(h2_uds_test PROPERTIES LINKER_LANGUAGE C)
18054     target_compile_options(h2_uds_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18055   endif()
18056
18057 endif()
18058 endif (gRPC_BUILD_TESTS)
18059 if (gRPC_BUILD_TESTS)
18060
18061 add_executable(inproc_test
18062   test/core/end2end/fixtures/inproc.cc
18063 )
18064
18065
18066 target_include_directories(inproc_test
18067   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18068   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18069   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18070   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18071   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18072   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18073   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18074   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18075   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18076   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18077 )
18078
18079 target_link_libraries(inproc_test
18080   ${_gRPC_ALLTARGETS_LIBRARIES}
18081   end2end_tests
18082   grpc_test_util
18083   grpc
18084   gpr
18085 )
18086
18087   # avoid dependency on libstdc++
18088   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18089     set_target_properties(inproc_test PROPERTIES LINKER_LANGUAGE C)
18090     target_compile_options(inproc_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18091   endif()
18092
18093 endif (gRPC_BUILD_TESTS)
18094 if (gRPC_BUILD_TESTS)
18095
18096 add_executable(h2_census_nosec_test
18097   test/core/end2end/fixtures/h2_census.cc
18098 )
18099
18100
18101 target_include_directories(h2_census_nosec_test
18102   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18103   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18104   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18105   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18106   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18107   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18108   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18109   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18110   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18111   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18112 )
18113
18114 target_link_libraries(h2_census_nosec_test
18115   ${_gRPC_ALLTARGETS_LIBRARIES}
18116   end2end_nosec_tests
18117   grpc_test_util_unsecure
18118   grpc_unsecure
18119   gpr
18120 )
18121
18122   # avoid dependency on libstdc++
18123   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18124     set_target_properties(h2_census_nosec_test PROPERTIES LINKER_LANGUAGE C)
18125     target_compile_options(h2_census_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18126   endif()
18127
18128 endif (gRPC_BUILD_TESTS)
18129 if (gRPC_BUILD_TESTS)
18130
18131 add_executable(h2_compress_nosec_test
18132   test/core/end2end/fixtures/h2_compress.cc
18133 )
18134
18135
18136 target_include_directories(h2_compress_nosec_test
18137   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18138   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18139   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18140   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18141   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18142   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18143   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18144   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18145   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18146   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18147 )
18148
18149 target_link_libraries(h2_compress_nosec_test
18150   ${_gRPC_ALLTARGETS_LIBRARIES}
18151   end2end_nosec_tests
18152   grpc_test_util_unsecure
18153   grpc_unsecure
18154   gpr
18155 )
18156
18157   # avoid dependency on libstdc++
18158   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18159     set_target_properties(h2_compress_nosec_test PROPERTIES LINKER_LANGUAGE C)
18160     target_compile_options(h2_compress_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18161   endif()
18162
18163 endif (gRPC_BUILD_TESTS)
18164 if (gRPC_BUILD_TESTS)
18165 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
18166
18167 add_executable(h2_fd_nosec_test
18168   test/core/end2end/fixtures/h2_fd.cc
18169 )
18170
18171
18172 target_include_directories(h2_fd_nosec_test
18173   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18174   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18175   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18176   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18177   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18178   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18179   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18180   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18181   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18182   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18183 )
18184
18185 target_link_libraries(h2_fd_nosec_test
18186   ${_gRPC_ALLTARGETS_LIBRARIES}
18187   end2end_nosec_tests
18188   grpc_test_util_unsecure
18189   grpc_unsecure
18190   gpr
18191 )
18192
18193   # avoid dependency on libstdc++
18194   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18195     set_target_properties(h2_fd_nosec_test PROPERTIES LINKER_LANGUAGE C)
18196     target_compile_options(h2_fd_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18197   endif()
18198
18199 endif()
18200 endif (gRPC_BUILD_TESTS)
18201 if (gRPC_BUILD_TESTS)
18202
18203 add_executable(h2_full_nosec_test
18204   test/core/end2end/fixtures/h2_full.cc
18205 )
18206
18207
18208 target_include_directories(h2_full_nosec_test
18209   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18210   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18211   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18212   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18213   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18214   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18215   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18216   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18217   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18218   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18219 )
18220
18221 target_link_libraries(h2_full_nosec_test
18222   ${_gRPC_ALLTARGETS_LIBRARIES}
18223   end2end_nosec_tests
18224   grpc_test_util_unsecure
18225   grpc_unsecure
18226   gpr
18227 )
18228
18229   # avoid dependency on libstdc++
18230   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18231     set_target_properties(h2_full_nosec_test PROPERTIES LINKER_LANGUAGE C)
18232     target_compile_options(h2_full_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18233   endif()
18234
18235 endif (gRPC_BUILD_TESTS)
18236 if (gRPC_BUILD_TESTS)
18237 if(_gRPC_PLATFORM_LINUX)
18238
18239 add_executable(h2_full+pipe_nosec_test
18240   test/core/end2end/fixtures/h2_full+pipe.cc
18241 )
18242
18243
18244 target_include_directories(h2_full+pipe_nosec_test
18245   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18246   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18247   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18248   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18249   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18250   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18251   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18252   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18253   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18254   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18255 )
18256
18257 target_link_libraries(h2_full+pipe_nosec_test
18258   ${_gRPC_ALLTARGETS_LIBRARIES}
18259   end2end_nosec_tests
18260   grpc_test_util_unsecure
18261   grpc_unsecure
18262   gpr
18263 )
18264
18265   # avoid dependency on libstdc++
18266   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18267     set_target_properties(h2_full+pipe_nosec_test PROPERTIES LINKER_LANGUAGE C)
18268     target_compile_options(h2_full+pipe_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18269   endif()
18270
18271 endif()
18272 endif (gRPC_BUILD_TESTS)
18273 if (gRPC_BUILD_TESTS)
18274
18275 add_executable(h2_full+trace_nosec_test
18276   test/core/end2end/fixtures/h2_full+trace.cc
18277 )
18278
18279
18280 target_include_directories(h2_full+trace_nosec_test
18281   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18282   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18283   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18284   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18285   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18286   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18287   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18288   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18289   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18290   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18291 )
18292
18293 target_link_libraries(h2_full+trace_nosec_test
18294   ${_gRPC_ALLTARGETS_LIBRARIES}
18295   end2end_nosec_tests
18296   grpc_test_util_unsecure
18297   grpc_unsecure
18298   gpr
18299 )
18300
18301   # avoid dependency on libstdc++
18302   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18303     set_target_properties(h2_full+trace_nosec_test PROPERTIES LINKER_LANGUAGE C)
18304     target_compile_options(h2_full+trace_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18305   endif()
18306
18307 endif (gRPC_BUILD_TESTS)
18308 if (gRPC_BUILD_TESTS)
18309
18310 add_executable(h2_full+workarounds_nosec_test
18311   test/core/end2end/fixtures/h2_full+workarounds.cc
18312 )
18313
18314
18315 target_include_directories(h2_full+workarounds_nosec_test
18316   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18317   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18318   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18319   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18320   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18321   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18322   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18323   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18324   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18325   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18326 )
18327
18328 target_link_libraries(h2_full+workarounds_nosec_test
18329   ${_gRPC_ALLTARGETS_LIBRARIES}
18330   end2end_nosec_tests
18331   grpc_test_util_unsecure
18332   grpc_unsecure
18333   gpr
18334 )
18335
18336   # avoid dependency on libstdc++
18337   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18338     set_target_properties(h2_full+workarounds_nosec_test PROPERTIES LINKER_LANGUAGE C)
18339     target_compile_options(h2_full+workarounds_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18340   endif()
18341
18342 endif (gRPC_BUILD_TESTS)
18343 if (gRPC_BUILD_TESTS)
18344
18345 add_executable(h2_http_proxy_nosec_test
18346   test/core/end2end/fixtures/h2_http_proxy.cc
18347 )
18348
18349
18350 target_include_directories(h2_http_proxy_nosec_test
18351   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18352   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18353   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18354   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18355   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18356   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18357   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18358   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18359   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18360   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18361 )
18362
18363 target_link_libraries(h2_http_proxy_nosec_test
18364   ${_gRPC_ALLTARGETS_LIBRARIES}
18365   end2end_nosec_tests
18366   grpc_test_util_unsecure
18367   grpc_unsecure
18368   gpr
18369 )
18370
18371   # avoid dependency on libstdc++
18372   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18373     set_target_properties(h2_http_proxy_nosec_test PROPERTIES LINKER_LANGUAGE C)
18374     target_compile_options(h2_http_proxy_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18375   endif()
18376
18377 endif (gRPC_BUILD_TESTS)
18378 if (gRPC_BUILD_TESTS)
18379
18380 add_executable(h2_proxy_nosec_test
18381   test/core/end2end/fixtures/h2_proxy.cc
18382 )
18383
18384
18385 target_include_directories(h2_proxy_nosec_test
18386   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18387   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18388   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18389   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18390   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18391   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18392   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18393   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18394   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18395   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18396 )
18397
18398 target_link_libraries(h2_proxy_nosec_test
18399   ${_gRPC_ALLTARGETS_LIBRARIES}
18400   end2end_nosec_tests
18401   grpc_test_util_unsecure
18402   grpc_unsecure
18403   gpr
18404 )
18405
18406   # avoid dependency on libstdc++
18407   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18408     set_target_properties(h2_proxy_nosec_test PROPERTIES LINKER_LANGUAGE C)
18409     target_compile_options(h2_proxy_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18410   endif()
18411
18412 endif (gRPC_BUILD_TESTS)
18413 if (gRPC_BUILD_TESTS)
18414
18415 add_executable(h2_sockpair_nosec_test
18416   test/core/end2end/fixtures/h2_sockpair.cc
18417 )
18418
18419
18420 target_include_directories(h2_sockpair_nosec_test
18421   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18422   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18423   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18424   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18425   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18426   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18427   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18428   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18429   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18430   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18431 )
18432
18433 target_link_libraries(h2_sockpair_nosec_test
18434   ${_gRPC_ALLTARGETS_LIBRARIES}
18435   end2end_nosec_tests
18436   grpc_test_util_unsecure
18437   grpc_unsecure
18438   gpr
18439 )
18440
18441   # avoid dependency on libstdc++
18442   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18443     set_target_properties(h2_sockpair_nosec_test PROPERTIES LINKER_LANGUAGE C)
18444     target_compile_options(h2_sockpair_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18445   endif()
18446
18447 endif (gRPC_BUILD_TESTS)
18448 if (gRPC_BUILD_TESTS)
18449
18450 add_executable(h2_sockpair+trace_nosec_test
18451   test/core/end2end/fixtures/h2_sockpair+trace.cc
18452 )
18453
18454
18455 target_include_directories(h2_sockpair+trace_nosec_test
18456   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18457   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18458   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18459   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18460   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18461   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18462   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18463   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18464   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18465   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18466 )
18467
18468 target_link_libraries(h2_sockpair+trace_nosec_test
18469   ${_gRPC_ALLTARGETS_LIBRARIES}
18470   end2end_nosec_tests
18471   grpc_test_util_unsecure
18472   grpc_unsecure
18473   gpr
18474 )
18475
18476   # avoid dependency on libstdc++
18477   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18478     set_target_properties(h2_sockpair+trace_nosec_test PROPERTIES LINKER_LANGUAGE C)
18479     target_compile_options(h2_sockpair+trace_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18480   endif()
18481
18482 endif (gRPC_BUILD_TESTS)
18483 if (gRPC_BUILD_TESTS)
18484
18485 add_executable(h2_sockpair_1byte_nosec_test
18486   test/core/end2end/fixtures/h2_sockpair_1byte.cc
18487 )
18488
18489
18490 target_include_directories(h2_sockpair_1byte_nosec_test
18491   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18492   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18493   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18494   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18495   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18496   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18497   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18498   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18499   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18500   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18501 )
18502
18503 target_link_libraries(h2_sockpair_1byte_nosec_test
18504   ${_gRPC_ALLTARGETS_LIBRARIES}
18505   end2end_nosec_tests
18506   grpc_test_util_unsecure
18507   grpc_unsecure
18508   gpr
18509 )
18510
18511   # avoid dependency on libstdc++
18512   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18513     set_target_properties(h2_sockpair_1byte_nosec_test PROPERTIES LINKER_LANGUAGE C)
18514     target_compile_options(h2_sockpair_1byte_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18515   endif()
18516
18517 endif (gRPC_BUILD_TESTS)
18518 if (gRPC_BUILD_TESTS)
18519 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
18520
18521 add_executable(h2_uds_nosec_test
18522   test/core/end2end/fixtures/h2_uds.cc
18523 )
18524
18525
18526 target_include_directories(h2_uds_nosec_test
18527   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18528   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18529   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18530   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18531   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18532   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18533   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18534   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18535   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18536   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18537 )
18538
18539 target_link_libraries(h2_uds_nosec_test
18540   ${_gRPC_ALLTARGETS_LIBRARIES}
18541   end2end_nosec_tests
18542   grpc_test_util_unsecure
18543   grpc_unsecure
18544   gpr
18545 )
18546
18547   # avoid dependency on libstdc++
18548   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18549     set_target_properties(h2_uds_nosec_test PROPERTIES LINKER_LANGUAGE C)
18550     target_compile_options(h2_uds_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18551   endif()
18552
18553 endif()
18554 endif (gRPC_BUILD_TESTS)
18555 if (gRPC_BUILD_TESTS)
18556
18557 add_executable(resolver_component_test_unsecure
18558   test/cpp/naming/resolver_component_test.cc
18559   third_party/googletest/googletest/src/gtest-all.cc
18560   third_party/googletest/googlemock/src/gmock-all.cc
18561 )
18562
18563
18564 target_include_directories(resolver_component_test_unsecure
18565   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18566   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18567   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18568   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18569   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18570   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18571   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18572   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18573   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18574   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18575   PRIVATE third_party/googletest/googletest/include
18576   PRIVATE third_party/googletest/googletest
18577   PRIVATE third_party/googletest/googlemock/include
18578   PRIVATE third_party/googletest/googlemock
18579   PRIVATE ${_gRPC_PROTO_GENS_DIR}
18580 )
18581
18582 target_link_libraries(resolver_component_test_unsecure
18583   ${_gRPC_PROTOBUF_LIBRARIES}
18584   ${_gRPC_ALLTARGETS_LIBRARIES}
18585   dns_test_util
18586   grpc++_test_util_unsecure
18587   grpc_test_util_unsecure
18588   grpc++_unsecure
18589   grpc_unsecure
18590   gpr
18591   grpc++_test_config
18592   ${_gRPC_GFLAGS_LIBRARIES}
18593 )
18594
18595
18596 endif (gRPC_BUILD_TESTS)
18597 if (gRPC_BUILD_TESTS)
18598
18599 add_executable(resolver_component_test
18600   test/cpp/naming/resolver_component_test.cc
18601   third_party/googletest/googletest/src/gtest-all.cc
18602   third_party/googletest/googlemock/src/gmock-all.cc
18603 )
18604
18605
18606 target_include_directories(resolver_component_test
18607   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18608   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18609   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18610   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18611   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18612   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18613   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18614   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18615   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18616   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18617   PRIVATE third_party/googletest/googletest/include
18618   PRIVATE third_party/googletest/googletest
18619   PRIVATE third_party/googletest/googlemock/include
18620   PRIVATE third_party/googletest/googlemock
18621   PRIVATE ${_gRPC_PROTO_GENS_DIR}
18622 )
18623
18624 target_link_libraries(resolver_component_test
18625   ${_gRPC_PROTOBUF_LIBRARIES}
18626   ${_gRPC_ALLTARGETS_LIBRARIES}
18627   dns_test_util
18628   grpc++_test_util
18629   grpc_test_util
18630   grpc++
18631   grpc
18632   gpr
18633   grpc++_test_config
18634   ${_gRPC_GFLAGS_LIBRARIES}
18635 )
18636
18637
18638 endif (gRPC_BUILD_TESTS)
18639 if (gRPC_BUILD_TESTS)
18640 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
18641
18642 add_executable(resolver_component_tests_runner_invoker_unsecure
18643   test/cpp/naming/resolver_component_tests_runner_invoker.cc
18644   third_party/googletest/googletest/src/gtest-all.cc
18645   third_party/googletest/googlemock/src/gmock-all.cc
18646 )
18647
18648
18649 target_include_directories(resolver_component_tests_runner_invoker_unsecure
18650   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18651   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18652   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18653   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18654   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18655   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18656   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18657   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18658   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18659   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18660   PRIVATE third_party/googletest/googletest/include
18661   PRIVATE third_party/googletest/googletest
18662   PRIVATE third_party/googletest/googlemock/include
18663   PRIVATE third_party/googletest/googlemock
18664   PRIVATE ${_gRPC_PROTO_GENS_DIR}
18665 )
18666
18667 target_link_libraries(resolver_component_tests_runner_invoker_unsecure
18668   ${_gRPC_PROTOBUF_LIBRARIES}
18669   ${_gRPC_ALLTARGETS_LIBRARIES}
18670   grpc++_test_util
18671   grpc_test_util
18672   grpc++
18673   grpc
18674   gpr
18675   grpc++_test_config
18676   ${_gRPC_GFLAGS_LIBRARIES}
18677 )
18678
18679
18680 endif()
18681 endif (gRPC_BUILD_TESTS)
18682 if (gRPC_BUILD_TESTS)
18683 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
18684
18685 add_executable(resolver_component_tests_runner_invoker
18686   test/cpp/naming/resolver_component_tests_runner_invoker.cc
18687   third_party/googletest/googletest/src/gtest-all.cc
18688   third_party/googletest/googlemock/src/gmock-all.cc
18689 )
18690
18691
18692 target_include_directories(resolver_component_tests_runner_invoker
18693   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18694   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18695   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18696   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18697   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18698   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18699   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18700   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18701   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18702   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18703   PRIVATE third_party/googletest/googletest/include
18704   PRIVATE third_party/googletest/googletest
18705   PRIVATE third_party/googletest/googlemock/include
18706   PRIVATE third_party/googletest/googlemock
18707   PRIVATE ${_gRPC_PROTO_GENS_DIR}
18708 )
18709
18710 target_link_libraries(resolver_component_tests_runner_invoker
18711   ${_gRPC_PROTOBUF_LIBRARIES}
18712   ${_gRPC_ALLTARGETS_LIBRARIES}
18713   grpc++_test_util
18714   grpc_test_util
18715   grpc++
18716   grpc
18717   gpr
18718   grpc++_test_config
18719   ${_gRPC_GFLAGS_LIBRARIES}
18720 )
18721
18722
18723 endif()
18724 endif (gRPC_BUILD_TESTS)
18725 if (gRPC_BUILD_TESTS)
18726
18727 add_executable(address_sorting_test_unsecure
18728   test/cpp/naming/address_sorting_test.cc
18729   third_party/googletest/googletest/src/gtest-all.cc
18730   third_party/googletest/googlemock/src/gmock-all.cc
18731 )
18732
18733
18734 target_include_directories(address_sorting_test_unsecure
18735   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18736   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18737   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18738   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18739   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18740   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18741   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18742   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18743   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18744   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18745   PRIVATE third_party/googletest/googletest/include
18746   PRIVATE third_party/googletest/googletest
18747   PRIVATE third_party/googletest/googlemock/include
18748   PRIVATE third_party/googletest/googlemock
18749   PRIVATE ${_gRPC_PROTO_GENS_DIR}
18750 )
18751
18752 target_link_libraries(address_sorting_test_unsecure
18753   ${_gRPC_PROTOBUF_LIBRARIES}
18754   ${_gRPC_ALLTARGETS_LIBRARIES}
18755   grpc++_test_util_unsecure
18756   grpc_test_util_unsecure
18757   grpc++_unsecure
18758   grpc_unsecure
18759   gpr
18760   grpc++_test_config
18761   ${_gRPC_GFLAGS_LIBRARIES}
18762 )
18763
18764
18765 endif (gRPC_BUILD_TESTS)
18766 if (gRPC_BUILD_TESTS)
18767
18768 add_executable(address_sorting_test
18769   test/cpp/naming/address_sorting_test.cc
18770   third_party/googletest/googletest/src/gtest-all.cc
18771   third_party/googletest/googlemock/src/gmock-all.cc
18772 )
18773
18774
18775 target_include_directories(address_sorting_test
18776   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18777   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18778   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18779   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18780   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18781   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18782   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18783   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18784   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18785   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18786   PRIVATE third_party/googletest/googletest/include
18787   PRIVATE third_party/googletest/googletest
18788   PRIVATE third_party/googletest/googlemock/include
18789   PRIVATE third_party/googletest/googlemock
18790   PRIVATE ${_gRPC_PROTO_GENS_DIR}
18791 )
18792
18793 target_link_libraries(address_sorting_test
18794   ${_gRPC_PROTOBUF_LIBRARIES}
18795   ${_gRPC_ALLTARGETS_LIBRARIES}
18796   grpc++_test_util
18797   grpc_test_util
18798   grpc++
18799   grpc
18800   gpr
18801   grpc++_test_config
18802   ${_gRPC_GFLAGS_LIBRARIES}
18803 )
18804
18805
18806 endif (gRPC_BUILD_TESTS)
18807 if (gRPC_BUILD_TESTS)
18808
18809 add_executable(cancel_ares_query_test
18810   test/cpp/naming/cancel_ares_query_test.cc
18811   third_party/googletest/googletest/src/gtest-all.cc
18812   third_party/googletest/googlemock/src/gmock-all.cc
18813 )
18814
18815
18816 target_include_directories(cancel_ares_query_test
18817   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18818   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18819   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18820   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18821   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18822   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18823   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18824   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18825   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18826   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18827   PRIVATE third_party/googletest/googletest/include
18828   PRIVATE third_party/googletest/googletest
18829   PRIVATE third_party/googletest/googlemock/include
18830   PRIVATE third_party/googletest/googlemock
18831   PRIVATE ${_gRPC_PROTO_GENS_DIR}
18832 )
18833
18834 target_link_libraries(cancel_ares_query_test
18835   ${_gRPC_PROTOBUF_LIBRARIES}
18836   ${_gRPC_ALLTARGETS_LIBRARIES}
18837   dns_test_util
18838   grpc++_test_util
18839   grpc_test_util
18840   grpc++
18841   grpc
18842   gpr
18843   grpc++_test_config
18844   ${_gRPC_GFLAGS_LIBRARIES}
18845 )
18846
18847
18848 endif (gRPC_BUILD_TESTS)
18849 if (gRPC_BUILD_TESTS)
18850
18851 add_executable(alts_credentials_fuzzer_one_entry
18852   test/core/security/alts_credentials_fuzzer.cc
18853   test/core/util/one_corpus_entry_fuzzer.cc
18854 )
18855
18856
18857 target_include_directories(alts_credentials_fuzzer_one_entry
18858   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18859   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18860   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18861   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18862   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18863   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18864   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18865   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18866   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18867   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18868 )
18869
18870 target_link_libraries(alts_credentials_fuzzer_one_entry
18871   ${_gRPC_ALLTARGETS_LIBRARIES}
18872   grpc_test_util
18873   grpc
18874   gpr
18875 )
18876
18877   # avoid dependency on libstdc++
18878   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18879     set_target_properties(alts_credentials_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18880     target_compile_options(alts_credentials_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18881   endif()
18882
18883 endif (gRPC_BUILD_TESTS)
18884 if (gRPC_BUILD_TESTS)
18885
18886 add_executable(api_fuzzer_one_entry
18887   test/core/end2end/fuzzers/api_fuzzer.cc
18888   test/core/util/one_corpus_entry_fuzzer.cc
18889 )
18890
18891
18892 target_include_directories(api_fuzzer_one_entry
18893   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18894   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18895   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18896   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18897   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18898   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18899   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18900   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18901   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18902   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18903 )
18904
18905 target_link_libraries(api_fuzzer_one_entry
18906   ${_gRPC_ALLTARGETS_LIBRARIES}
18907   grpc_test_util
18908   grpc
18909   gpr
18910 )
18911
18912   # avoid dependency on libstdc++
18913   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18914     set_target_properties(api_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18915     target_compile_options(api_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18916   endif()
18917
18918 endif (gRPC_BUILD_TESTS)
18919 if (gRPC_BUILD_TESTS)
18920
18921 add_executable(client_fuzzer_one_entry
18922   test/core/end2end/fuzzers/client_fuzzer.cc
18923   test/core/util/one_corpus_entry_fuzzer.cc
18924 )
18925
18926
18927 target_include_directories(client_fuzzer_one_entry
18928   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18929   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18930   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18931   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18932   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18933   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18934   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18935   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18936   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18937   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18938 )
18939
18940 target_link_libraries(client_fuzzer_one_entry
18941   ${_gRPC_ALLTARGETS_LIBRARIES}
18942   grpc_test_util
18943   grpc
18944   gpr
18945 )
18946
18947   # avoid dependency on libstdc++
18948   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18949     set_target_properties(client_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18950     target_compile_options(client_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18951   endif()
18952
18953 endif (gRPC_BUILD_TESTS)
18954 if (gRPC_BUILD_TESTS)
18955
18956 add_executable(hpack_parser_fuzzer_test_one_entry
18957   test/core/transport/chttp2/hpack_parser_fuzzer_test.cc
18958   test/core/util/one_corpus_entry_fuzzer.cc
18959 )
18960
18961
18962 target_include_directories(hpack_parser_fuzzer_test_one_entry
18963   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18964   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18965   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18966   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18967   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18968   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18969   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18970   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18971   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18972   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18973 )
18974
18975 target_link_libraries(hpack_parser_fuzzer_test_one_entry
18976   ${_gRPC_ALLTARGETS_LIBRARIES}
18977   grpc_test_util
18978   grpc
18979   gpr
18980 )
18981
18982   # avoid dependency on libstdc++
18983   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18984     set_target_properties(hpack_parser_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
18985     target_compile_options(hpack_parser_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18986   endif()
18987
18988 endif (gRPC_BUILD_TESTS)
18989 if (gRPC_BUILD_TESTS)
18990
18991 add_executable(http_request_fuzzer_test_one_entry
18992   test/core/http/request_fuzzer.cc
18993   test/core/util/one_corpus_entry_fuzzer.cc
18994 )
18995
18996
18997 target_include_directories(http_request_fuzzer_test_one_entry
18998   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18999   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19000   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19001   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19002   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19003   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19004   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19005   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19006   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19007   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19008 )
19009
19010 target_link_libraries(http_request_fuzzer_test_one_entry
19011   ${_gRPC_ALLTARGETS_LIBRARIES}
19012   grpc_test_util
19013   grpc
19014   gpr
19015 )
19016
19017   # avoid dependency on libstdc++
19018   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19019     set_target_properties(http_request_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
19020     target_compile_options(http_request_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19021   endif()
19022
19023 endif (gRPC_BUILD_TESTS)
19024 if (gRPC_BUILD_TESTS)
19025
19026 add_executable(http_response_fuzzer_test_one_entry
19027   test/core/http/response_fuzzer.cc
19028   test/core/util/one_corpus_entry_fuzzer.cc
19029 )
19030
19031
19032 target_include_directories(http_response_fuzzer_test_one_entry
19033   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19034   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19035   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19036   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19037   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19038   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19039   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19040   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19041   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19042   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19043 )
19044
19045 target_link_libraries(http_response_fuzzer_test_one_entry
19046   ${_gRPC_ALLTARGETS_LIBRARIES}
19047   grpc_test_util
19048   grpc
19049   gpr
19050 )
19051
19052   # avoid dependency on libstdc++
19053   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19054     set_target_properties(http_response_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
19055     target_compile_options(http_response_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19056   endif()
19057
19058 endif (gRPC_BUILD_TESTS)
19059 if (gRPC_BUILD_TESTS)
19060
19061 add_executable(json_fuzzer_test_one_entry
19062   test/core/json/fuzzer.cc
19063   test/core/util/one_corpus_entry_fuzzer.cc
19064 )
19065
19066
19067 target_include_directories(json_fuzzer_test_one_entry
19068   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19069   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19070   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19071   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19072   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19073   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19074   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19075   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19076   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19077   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19078 )
19079
19080 target_link_libraries(json_fuzzer_test_one_entry
19081   ${_gRPC_ALLTARGETS_LIBRARIES}
19082   grpc_test_util
19083   grpc
19084   gpr
19085 )
19086
19087   # avoid dependency on libstdc++
19088   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19089     set_target_properties(json_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
19090     target_compile_options(json_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19091   endif()
19092
19093 endif (gRPC_BUILD_TESTS)
19094 if (gRPC_BUILD_TESTS)
19095
19096 add_executable(nanopb_fuzzer_response_test_one_entry
19097   test/core/nanopb/fuzzer_response.cc
19098   test/core/util/one_corpus_entry_fuzzer.cc
19099 )
19100
19101
19102 target_include_directories(nanopb_fuzzer_response_test_one_entry
19103   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19104   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19105   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19106   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19107   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19108   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19109   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19110   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19111   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19112   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19113 )
19114
19115 target_link_libraries(nanopb_fuzzer_response_test_one_entry
19116   ${_gRPC_ALLTARGETS_LIBRARIES}
19117   grpc_test_util
19118   grpc
19119   gpr
19120 )
19121
19122   # avoid dependency on libstdc++
19123   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19124     set_target_properties(nanopb_fuzzer_response_test_one_entry PROPERTIES LINKER_LANGUAGE C)
19125     target_compile_options(nanopb_fuzzer_response_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19126   endif()
19127
19128 endif (gRPC_BUILD_TESTS)
19129 if (gRPC_BUILD_TESTS)
19130
19131 add_executable(nanopb_fuzzer_serverlist_test_one_entry
19132   test/core/nanopb/fuzzer_serverlist.cc
19133   test/core/util/one_corpus_entry_fuzzer.cc
19134 )
19135
19136
19137 target_include_directories(nanopb_fuzzer_serverlist_test_one_entry
19138   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19139   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19140   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19141   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19142   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19143   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19144   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19145   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19146   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19147   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19148 )
19149
19150 target_link_libraries(nanopb_fuzzer_serverlist_test_one_entry
19151   ${_gRPC_ALLTARGETS_LIBRARIES}
19152   grpc_test_util
19153   grpc
19154   gpr
19155 )
19156
19157   # avoid dependency on libstdc++
19158   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19159     set_target_properties(nanopb_fuzzer_serverlist_test_one_entry PROPERTIES LINKER_LANGUAGE C)
19160     target_compile_options(nanopb_fuzzer_serverlist_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19161   endif()
19162
19163 endif (gRPC_BUILD_TESTS)
19164 if (gRPC_BUILD_TESTS)
19165
19166 add_executable(percent_decode_fuzzer_one_entry
19167   test/core/slice/percent_decode_fuzzer.cc
19168   test/core/util/one_corpus_entry_fuzzer.cc
19169 )
19170
19171
19172 target_include_directories(percent_decode_fuzzer_one_entry
19173   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19174   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19175   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19176   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19177   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19178   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19179   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19180   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19181   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19182   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19183 )
19184
19185 target_link_libraries(percent_decode_fuzzer_one_entry
19186   ${_gRPC_ALLTARGETS_LIBRARIES}
19187   grpc_test_util
19188   grpc
19189   gpr
19190 )
19191
19192   # avoid dependency on libstdc++
19193   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19194     set_target_properties(percent_decode_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
19195     target_compile_options(percent_decode_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19196   endif()
19197
19198 endif (gRPC_BUILD_TESTS)
19199 if (gRPC_BUILD_TESTS)
19200
19201 add_executable(percent_encode_fuzzer_one_entry
19202   test/core/slice/percent_encode_fuzzer.cc
19203   test/core/util/one_corpus_entry_fuzzer.cc
19204 )
19205
19206
19207 target_include_directories(percent_encode_fuzzer_one_entry
19208   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19209   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19210   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19211   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19212   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19213   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19214   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19215   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19216   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19217   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19218 )
19219
19220 target_link_libraries(percent_encode_fuzzer_one_entry
19221   ${_gRPC_ALLTARGETS_LIBRARIES}
19222   grpc_test_util
19223   grpc
19224   gpr
19225 )
19226
19227   # avoid dependency on libstdc++
19228   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19229     set_target_properties(percent_encode_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
19230     target_compile_options(percent_encode_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19231   endif()
19232
19233 endif (gRPC_BUILD_TESTS)
19234 if (gRPC_BUILD_TESTS)
19235
19236 add_executable(server_fuzzer_one_entry
19237   test/core/end2end/fuzzers/server_fuzzer.cc
19238   test/core/util/one_corpus_entry_fuzzer.cc
19239 )
19240
19241
19242 target_include_directories(server_fuzzer_one_entry
19243   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19244   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19245   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19246   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19247   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19248   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19249   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19250   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19251   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19252   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19253 )
19254
19255 target_link_libraries(server_fuzzer_one_entry
19256   ${_gRPC_ALLTARGETS_LIBRARIES}
19257   grpc_test_util
19258   grpc
19259   gpr
19260 )
19261
19262   # avoid dependency on libstdc++
19263   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19264     set_target_properties(server_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
19265     target_compile_options(server_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19266   endif()
19267
19268 endif (gRPC_BUILD_TESTS)
19269 if (gRPC_BUILD_TESTS)
19270
19271 add_executable(ssl_server_fuzzer_one_entry
19272   test/core/security/ssl_server_fuzzer.cc
19273   test/core/util/one_corpus_entry_fuzzer.cc
19274 )
19275
19276
19277 target_include_directories(ssl_server_fuzzer_one_entry
19278   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19279   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19280   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19281   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19282   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19283   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19284   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19285   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19286   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19287   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19288 )
19289
19290 target_link_libraries(ssl_server_fuzzer_one_entry
19291   ${_gRPC_ALLTARGETS_LIBRARIES}
19292   grpc_test_util
19293   grpc
19294   gpr
19295 )
19296
19297   # avoid dependency on libstdc++
19298   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19299     set_target_properties(ssl_server_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
19300     target_compile_options(ssl_server_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19301   endif()
19302
19303 endif (gRPC_BUILD_TESTS)
19304 if (gRPC_BUILD_TESTS)
19305
19306 add_executable(uri_fuzzer_test_one_entry
19307   test/core/client_channel/uri_fuzzer_test.cc
19308   test/core/util/one_corpus_entry_fuzzer.cc
19309 )
19310
19311
19312 target_include_directories(uri_fuzzer_test_one_entry
19313   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
19314   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
19315   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
19316   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
19317   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
19318   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
19319   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
19320   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
19321   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
19322   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
19323 )
19324
19325 target_link_libraries(uri_fuzzer_test_one_entry
19326   ${_gRPC_ALLTARGETS_LIBRARIES}
19327   grpc_test_util
19328   grpc
19329   gpr
19330 )
19331
19332   # avoid dependency on libstdc++
19333   if (_gRPC_CORE_NOSTDCXX_FLAGS)
19334     set_target_properties(uri_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
19335     target_compile_options(uri_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
19336   endif()
19337
19338 endif (gRPC_BUILD_TESTS)
19339
19340
19341
19342
19343
19344
19345
19346 if (gRPC_INSTALL)
19347   install(EXPORT gRPCTargets
19348     DESTINATION ${gRPC_INSTALL_CMAKEDIR}
19349     NAMESPACE gRPC::
19350   )
19351 endif()
19352
19353 foreach(_config gRPCConfig gRPCConfigVersion)
19354   configure_file(cmake/${_config}.cmake.in
19355     ${_config}.cmake @ONLY)
19356   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_config}.cmake
19357     DESTINATION ${gRPC_INSTALL_CMAKEDIR}
19358   )
19359 endforeach()
19360
19361 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/etc/roots.pem
19362   DESTINATION ${gRPC_INSTALL_SHAREDIR})