Imported Upstream version 1.18.0
[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.18.0")
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     add_custom_command(
194       OUTPUT "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc"
195              "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h"
196              "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h"
197              "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc"
198              "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h"
199       COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}
200       ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}
201            --cpp_out=${_gRPC_PROTO_GENS_DIR}
202            --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin>
203            ${_protobuf_include_path}
204            ${REL_FIL}
205       DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin
206       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
207       COMMENT "Running gRPC C++ protocol buffer compiler on ${FIL}"
208       VERBATIM)
209
210       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)
211   endforeach()
212 endfunction()
213
214 add_custom_target(plugins
215   DEPENDS
216   grpc_cpp_plugin
217   grpc_csharp_plugin
218   grpc_node_plugin
219   grpc_objective_c_plugin
220   grpc_php_plugin
221   grpc_python_plugin
222   grpc_ruby_plugin
223 )
224
225 add_custom_target(tools_c
226   DEPENDS
227   check_epollexclusive
228   grpc_create_jwt
229   grpc_print_google_default_creds_token
230   grpc_verify_jwt
231   gen_hpack_tables
232   gen_legal_metadata_characters
233   gen_percent_encoding_tables
234 )
235
236 add_custom_target(tools_cxx
237   DEPENDS
238 )
239
240 add_custom_target(tools
241   DEPENDS tools_c tools_cxx)
242
243 if (gRPC_BUILD_TESTS)
244 add_custom_target(buildtests_c)
245 add_dependencies(buildtests_c algorithm_test)
246 add_dependencies(buildtests_c alloc_test)
247 add_dependencies(buildtests_c alpn_test)
248 add_dependencies(buildtests_c arena_test)
249 add_dependencies(buildtests_c avl_test)
250 add_dependencies(buildtests_c bad_server_response_test)
251 add_dependencies(buildtests_c bin_decoder_test)
252 add_dependencies(buildtests_c bin_encoder_test)
253 if(_gRPC_PLATFORM_LINUX)
254 add_dependencies(buildtests_c buffer_list_test)
255 endif()
256 add_dependencies(buildtests_c channel_create_test)
257 add_dependencies(buildtests_c chttp2_hpack_encoder_test)
258 add_dependencies(buildtests_c chttp2_stream_map_test)
259 add_dependencies(buildtests_c chttp2_varint_test)
260 add_dependencies(buildtests_c cmdline_test)
261 add_dependencies(buildtests_c combiner_test)
262 add_dependencies(buildtests_c compression_test)
263 add_dependencies(buildtests_c concurrent_connectivity_test)
264 add_dependencies(buildtests_c connection_refused_test)
265 add_dependencies(buildtests_c dns_resolver_connectivity_test)
266 add_dependencies(buildtests_c dns_resolver_cooldown_test)
267 add_dependencies(buildtests_c dns_resolver_test)
268 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
269 add_dependencies(buildtests_c dualstack_socket_test)
270 endif()
271 add_dependencies(buildtests_c endpoint_pair_test)
272 add_dependencies(buildtests_c error_test)
273 if(_gRPC_PLATFORM_LINUX)
274 add_dependencies(buildtests_c ev_epollex_linux_test)
275 endif()
276 add_dependencies(buildtests_c fake_resolver_test)
277 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
278 add_dependencies(buildtests_c fake_transport_security_test)
279 endif()
280 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
281 add_dependencies(buildtests_c fd_conservation_posix_test)
282 endif()
283 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
284 add_dependencies(buildtests_c fd_posix_test)
285 endif()
286 add_dependencies(buildtests_c fling_client)
287 add_dependencies(buildtests_c fling_server)
288 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
289 add_dependencies(buildtests_c fling_stream_test)
290 endif()
291 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
292 add_dependencies(buildtests_c fling_test)
293 endif()
294 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC)
295 add_dependencies(buildtests_c fork_test)
296 endif()
297 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
298 add_dependencies(buildtests_c goaway_server_test)
299 endif()
300 add_dependencies(buildtests_c gpr_cpu_test)
301 add_dependencies(buildtests_c gpr_env_test)
302 add_dependencies(buildtests_c gpr_host_port_test)
303 add_dependencies(buildtests_c gpr_log_test)
304 add_dependencies(buildtests_c gpr_manual_constructor_test)
305 add_dependencies(buildtests_c gpr_mpscq_test)
306 add_dependencies(buildtests_c gpr_spinlock_test)
307 add_dependencies(buildtests_c gpr_string_test)
308 add_dependencies(buildtests_c gpr_sync_test)
309 add_dependencies(buildtests_c gpr_thd_test)
310 add_dependencies(buildtests_c gpr_time_test)
311 add_dependencies(buildtests_c gpr_tls_test)
312 add_dependencies(buildtests_c gpr_useful_test)
313 add_dependencies(buildtests_c grpc_auth_context_test)
314 add_dependencies(buildtests_c grpc_b64_test)
315 add_dependencies(buildtests_c grpc_byte_buffer_reader_test)
316 add_dependencies(buildtests_c grpc_channel_args_test)
317 add_dependencies(buildtests_c grpc_channel_stack_builder_test)
318 add_dependencies(buildtests_c grpc_channel_stack_test)
319 add_dependencies(buildtests_c grpc_completion_queue_test)
320 add_dependencies(buildtests_c grpc_completion_queue_threading_test)
321 add_dependencies(buildtests_c grpc_credentials_test)
322 add_dependencies(buildtests_c grpc_fetch_oauth2)
323 add_dependencies(buildtests_c grpc_ipv6_loopback_available_test)
324 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
325 add_dependencies(buildtests_c grpc_json_token_test)
326 endif()
327 add_dependencies(buildtests_c grpc_jwt_verifier_test)
328 add_dependencies(buildtests_c grpc_security_connector_test)
329 add_dependencies(buildtests_c grpc_ssl_credentials_test)
330 if(_gRPC_PLATFORM_LINUX)
331 add_dependencies(buildtests_c handshake_client_ssl)
332 endif()
333 if(_gRPC_PLATFORM_LINUX)
334 add_dependencies(buildtests_c handshake_server_ssl)
335 endif()
336 if(_gRPC_PLATFORM_LINUX)
337 add_dependencies(buildtests_c handshake_server_with_readahead_handshaker)
338 endif()
339 if(_gRPC_PLATFORM_LINUX)
340 add_dependencies(buildtests_c handshake_verify_peer_options)
341 endif()
342 add_dependencies(buildtests_c histogram_test)
343 add_dependencies(buildtests_c hpack_parser_test)
344 add_dependencies(buildtests_c hpack_table_test)
345 add_dependencies(buildtests_c http_parser_test)
346 add_dependencies(buildtests_c httpcli_format_request_test)
347 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
348 add_dependencies(buildtests_c httpcli_test)
349 endif()
350 if(_gRPC_PLATFORM_LINUX)
351 add_dependencies(buildtests_c httpscli_test)
352 endif()
353 add_dependencies(buildtests_c init_test)
354 add_dependencies(buildtests_c inproc_callback_test)
355 add_dependencies(buildtests_c invalid_call_argument_test)
356 add_dependencies(buildtests_c json_rewrite)
357 add_dependencies(buildtests_c json_rewrite_test)
358 add_dependencies(buildtests_c json_stream_error_test)
359 add_dependencies(buildtests_c json_test)
360 add_dependencies(buildtests_c lame_client_test)
361 add_dependencies(buildtests_c load_file_test)
362 add_dependencies(buildtests_c memory_usage_client)
363 add_dependencies(buildtests_c memory_usage_server)
364 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
365 add_dependencies(buildtests_c memory_usage_test)
366 endif()
367 add_dependencies(buildtests_c message_compress_test)
368 add_dependencies(buildtests_c minimal_stack_is_minimal_test)
369 add_dependencies(buildtests_c multiple_server_queues_test)
370 add_dependencies(buildtests_c murmur_hash_test)
371 add_dependencies(buildtests_c no_server_test)
372 add_dependencies(buildtests_c num_external_connectivity_watchers_test)
373 add_dependencies(buildtests_c parse_address_test)
374 add_dependencies(buildtests_c percent_encoding_test)
375 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
376 add_dependencies(buildtests_c resolve_address_posix_test)
377 endif()
378 add_dependencies(buildtests_c resolve_address_using_ares_resolver_test)
379 add_dependencies(buildtests_c resolve_address_using_native_resolver_test)
380 add_dependencies(buildtests_c resource_quota_test)
381 add_dependencies(buildtests_c secure_channel_create_test)
382 add_dependencies(buildtests_c secure_endpoint_test)
383 add_dependencies(buildtests_c sequential_connectivity_test)
384 add_dependencies(buildtests_c server_chttp2_test)
385 add_dependencies(buildtests_c server_test)
386 add_dependencies(buildtests_c slice_buffer_test)
387 add_dependencies(buildtests_c slice_string_helpers_test)
388 add_dependencies(buildtests_c slice_test)
389 add_dependencies(buildtests_c sockaddr_resolver_test)
390 add_dependencies(buildtests_c sockaddr_utils_test)
391 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
392 add_dependencies(buildtests_c socket_utils_test)
393 endif()
394 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
395 add_dependencies(buildtests_c ssl_transport_security_test)
396 endif()
397 add_dependencies(buildtests_c status_conversion_test)
398 add_dependencies(buildtests_c stream_compression_test)
399 add_dependencies(buildtests_c stream_owned_slice_test)
400 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
401 add_dependencies(buildtests_c tcp_client_posix_test)
402 endif()
403 add_dependencies(buildtests_c tcp_client_uv_test)
404 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
405 add_dependencies(buildtests_c tcp_posix_test)
406 endif()
407 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
408 add_dependencies(buildtests_c tcp_server_posix_test)
409 endif()
410 add_dependencies(buildtests_c tcp_server_uv_test)
411 add_dependencies(buildtests_c time_averaged_stats_test)
412 add_dependencies(buildtests_c timeout_encoding_test)
413 add_dependencies(buildtests_c timer_heap_test)
414 add_dependencies(buildtests_c timer_list_test)
415 add_dependencies(buildtests_c transport_connectivity_state_test)
416 add_dependencies(buildtests_c transport_metadata_test)
417 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
418 add_dependencies(buildtests_c transport_security_test)
419 endif()
420 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
421 add_dependencies(buildtests_c udp_server_test)
422 endif()
423 add_dependencies(buildtests_c uri_parser_test)
424 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
425 add_dependencies(buildtests_c wakeup_fd_cv_test)
426 endif()
427 add_dependencies(buildtests_c public_headers_must_be_c89)
428 add_dependencies(buildtests_c badreq_bad_client_test)
429 add_dependencies(buildtests_c connection_prefix_bad_client_test)
430 add_dependencies(buildtests_c duplicate_header_bad_client_test)
431 add_dependencies(buildtests_c head_of_line_blocking_bad_client_test)
432 add_dependencies(buildtests_c headers_bad_client_test)
433 add_dependencies(buildtests_c initial_settings_frame_bad_client_test)
434 add_dependencies(buildtests_c large_metadata_bad_client_test)
435 add_dependencies(buildtests_c server_registered_method_bad_client_test)
436 add_dependencies(buildtests_c simple_request_bad_client_test)
437 add_dependencies(buildtests_c unknown_frame_bad_client_test)
438 add_dependencies(buildtests_c window_overflow_bad_client_test)
439 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
440 add_dependencies(buildtests_c bad_ssl_cert_server)
441 endif()
442 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
443 add_dependencies(buildtests_c bad_ssl_cert_test)
444 endif()
445 add_dependencies(buildtests_c h2_census_test)
446 add_dependencies(buildtests_c h2_compress_test)
447 add_dependencies(buildtests_c h2_fakesec_test)
448 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
449 add_dependencies(buildtests_c h2_fd_test)
450 endif()
451 add_dependencies(buildtests_c h2_full_test)
452 if(_gRPC_PLATFORM_LINUX)
453 add_dependencies(buildtests_c h2_full+pipe_test)
454 endif()
455 add_dependencies(buildtests_c h2_full+trace_test)
456 add_dependencies(buildtests_c h2_full+workarounds_test)
457 add_dependencies(buildtests_c h2_http_proxy_test)
458 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
459 add_dependencies(buildtests_c h2_local_ipv4_test)
460 endif()
461 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
462 add_dependencies(buildtests_c h2_local_ipv6_test)
463 endif()
464 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
465 add_dependencies(buildtests_c h2_local_uds_test)
466 endif()
467 add_dependencies(buildtests_c h2_oauth2_test)
468 add_dependencies(buildtests_c h2_proxy_test)
469 add_dependencies(buildtests_c h2_sockpair_test)
470 add_dependencies(buildtests_c h2_sockpair+trace_test)
471 add_dependencies(buildtests_c h2_sockpair_1byte_test)
472 add_dependencies(buildtests_c h2_ssl_test)
473 add_dependencies(buildtests_c h2_ssl_proxy_test)
474 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
475 add_dependencies(buildtests_c h2_uds_test)
476 endif()
477 add_dependencies(buildtests_c inproc_test)
478 add_dependencies(buildtests_c h2_census_nosec_test)
479 add_dependencies(buildtests_c h2_compress_nosec_test)
480 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
481 add_dependencies(buildtests_c h2_fd_nosec_test)
482 endif()
483 add_dependencies(buildtests_c h2_full_nosec_test)
484 if(_gRPC_PLATFORM_LINUX)
485 add_dependencies(buildtests_c h2_full+pipe_nosec_test)
486 endif()
487 add_dependencies(buildtests_c h2_full+trace_nosec_test)
488 add_dependencies(buildtests_c h2_full+workarounds_nosec_test)
489 add_dependencies(buildtests_c h2_http_proxy_nosec_test)
490 add_dependencies(buildtests_c h2_proxy_nosec_test)
491 add_dependencies(buildtests_c h2_sockpair_nosec_test)
492 add_dependencies(buildtests_c h2_sockpair+trace_nosec_test)
493 add_dependencies(buildtests_c h2_sockpair_1byte_nosec_test)
494 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
495 add_dependencies(buildtests_c h2_uds_nosec_test)
496 endif()
497 add_dependencies(buildtests_c alts_credentials_fuzzer_one_entry)
498 add_dependencies(buildtests_c api_fuzzer_one_entry)
499 add_dependencies(buildtests_c client_fuzzer_one_entry)
500 add_dependencies(buildtests_c hpack_parser_fuzzer_test_one_entry)
501 add_dependencies(buildtests_c http_request_fuzzer_test_one_entry)
502 add_dependencies(buildtests_c http_response_fuzzer_test_one_entry)
503 add_dependencies(buildtests_c json_fuzzer_test_one_entry)
504 add_dependencies(buildtests_c nanopb_fuzzer_response_test_one_entry)
505 add_dependencies(buildtests_c nanopb_fuzzer_serverlist_test_one_entry)
506 add_dependencies(buildtests_c percent_decode_fuzzer_one_entry)
507 add_dependencies(buildtests_c percent_encode_fuzzer_one_entry)
508 add_dependencies(buildtests_c server_fuzzer_one_entry)
509 add_dependencies(buildtests_c ssl_server_fuzzer_one_entry)
510 add_dependencies(buildtests_c uri_fuzzer_test_one_entry)
511
512 add_custom_target(buildtests_cxx)
513 add_dependencies(buildtests_cxx alarm_test)
514 add_dependencies(buildtests_cxx alts_counter_test)
515 add_dependencies(buildtests_cxx alts_crypt_test)
516 add_dependencies(buildtests_cxx alts_crypter_test)
517 add_dependencies(buildtests_cxx alts_frame_handler_test)
518 add_dependencies(buildtests_cxx alts_frame_protector_test)
519 add_dependencies(buildtests_cxx alts_grpc_record_protocol_test)
520 add_dependencies(buildtests_cxx alts_handshaker_client_test)
521 add_dependencies(buildtests_cxx alts_handshaker_service_api_test)
522 add_dependencies(buildtests_cxx alts_iovec_record_protocol_test)
523 add_dependencies(buildtests_cxx alts_security_connector_test)
524 add_dependencies(buildtests_cxx alts_tsi_handshaker_test)
525 add_dependencies(buildtests_cxx alts_tsi_utils_test)
526 add_dependencies(buildtests_cxx alts_zero_copy_grpc_protector_test)
527 add_dependencies(buildtests_cxx async_end2end_test)
528 add_dependencies(buildtests_cxx auth_property_iterator_test)
529 add_dependencies(buildtests_cxx backoff_test)
530 add_dependencies(buildtests_cxx bdp_estimator_test)
531 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
532 add_dependencies(buildtests_cxx bm_arena)
533 endif()
534 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
535 add_dependencies(buildtests_cxx bm_byte_buffer)
536 endif()
537 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
538 add_dependencies(buildtests_cxx bm_call_create)
539 endif()
540 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
541 add_dependencies(buildtests_cxx bm_channel)
542 endif()
543 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
544 add_dependencies(buildtests_cxx bm_chttp2_hpack)
545 endif()
546 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
547 add_dependencies(buildtests_cxx bm_chttp2_transport)
548 endif()
549 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
550 add_dependencies(buildtests_cxx bm_closure)
551 endif()
552 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
553 add_dependencies(buildtests_cxx bm_cq)
554 endif()
555 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
556 add_dependencies(buildtests_cxx bm_cq_multiple_threads)
557 endif()
558 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
559 add_dependencies(buildtests_cxx bm_error)
560 endif()
561 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
562 add_dependencies(buildtests_cxx bm_fullstack_streaming_ping_pong)
563 endif()
564 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
565 add_dependencies(buildtests_cxx bm_fullstack_streaming_pump)
566 endif()
567 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
568 add_dependencies(buildtests_cxx bm_fullstack_trickle)
569 endif()
570 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
571 add_dependencies(buildtests_cxx bm_fullstack_unary_ping_pong)
572 endif()
573 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
574 add_dependencies(buildtests_cxx bm_metadata)
575 endif()
576 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
577 add_dependencies(buildtests_cxx bm_pollset)
578 endif()
579 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
580 add_dependencies(buildtests_cxx bm_timer)
581 endif()
582 add_dependencies(buildtests_cxx byte_stream_test)
583 add_dependencies(buildtests_cxx channel_arguments_test)
584 add_dependencies(buildtests_cxx channel_filter_test)
585 add_dependencies(buildtests_cxx channel_trace_test)
586 add_dependencies(buildtests_cxx channelz_registry_test)
587 add_dependencies(buildtests_cxx channelz_service_test)
588 add_dependencies(buildtests_cxx channelz_test)
589 add_dependencies(buildtests_cxx check_gcp_environment_linux_test)
590 add_dependencies(buildtests_cxx check_gcp_environment_windows_test)
591 add_dependencies(buildtests_cxx chttp2_settings_timeout_test)
592 add_dependencies(buildtests_cxx cli_call_test)
593 add_dependencies(buildtests_cxx client_callback_end2end_test)
594 add_dependencies(buildtests_cxx client_channel_stress_test)
595 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
596 add_dependencies(buildtests_cxx client_crash_test)
597 endif()
598 add_dependencies(buildtests_cxx client_crash_test_server)
599 add_dependencies(buildtests_cxx client_interceptors_end2end_test)
600 add_dependencies(buildtests_cxx client_lb_end2end_test)
601 add_dependencies(buildtests_cxx codegen_test_full)
602 add_dependencies(buildtests_cxx codegen_test_minimal)
603 add_dependencies(buildtests_cxx context_list_test)
604 add_dependencies(buildtests_cxx credentials_test)
605 add_dependencies(buildtests_cxx cxx_byte_buffer_test)
606 add_dependencies(buildtests_cxx cxx_slice_test)
607 add_dependencies(buildtests_cxx cxx_string_ref_test)
608 add_dependencies(buildtests_cxx cxx_time_test)
609 add_dependencies(buildtests_cxx end2end_test)
610 add_dependencies(buildtests_cxx error_details_test)
611 add_dependencies(buildtests_cxx exception_test)
612 add_dependencies(buildtests_cxx filter_end2end_test)
613 add_dependencies(buildtests_cxx generic_end2end_test)
614 add_dependencies(buildtests_cxx golden_file_test)
615 add_dependencies(buildtests_cxx grpc_alts_credentials_options_test)
616 add_dependencies(buildtests_cxx grpc_cli)
617 add_dependencies(buildtests_cxx grpc_linux_system_roots_test)
618 add_dependencies(buildtests_cxx grpc_tool_test)
619 add_dependencies(buildtests_cxx grpclb_api_test)
620 add_dependencies(buildtests_cxx grpclb_end2end_test)
621 add_dependencies(buildtests_cxx h2_ssl_cert_test)
622 add_dependencies(buildtests_cxx h2_ssl_session_reuse_test)
623 add_dependencies(buildtests_cxx health_service_end2end_test)
624 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
625 add_dependencies(buildtests_cxx http2_client)
626 endif()
627 add_dependencies(buildtests_cxx hybrid_end2end_test)
628 add_dependencies(buildtests_cxx inlined_vector_test)
629 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
630 add_dependencies(buildtests_cxx inproc_sync_unary_ping_pong_test)
631 endif()
632 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
633 add_dependencies(buildtests_cxx interop_client)
634 endif()
635 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
636 add_dependencies(buildtests_cxx interop_server)
637 endif()
638 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
639 add_dependencies(buildtests_cxx interop_test)
640 endif()
641 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
642 add_dependencies(buildtests_cxx json_run_localhost)
643 endif()
644 add_dependencies(buildtests_cxx memory_test)
645 add_dependencies(buildtests_cxx metrics_client)
646 add_dependencies(buildtests_cxx mock_test)
647 add_dependencies(buildtests_cxx nonblocking_test)
648 add_dependencies(buildtests_cxx noop-benchmark)
649 add_dependencies(buildtests_cxx orphanable_test)
650 add_dependencies(buildtests_cxx proto_server_reflection_test)
651 add_dependencies(buildtests_cxx proto_utils_test)
652 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
653 add_dependencies(buildtests_cxx qps_interarrival_test)
654 endif()
655 add_dependencies(buildtests_cxx qps_json_driver)
656 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
657 add_dependencies(buildtests_cxx qps_openloop_test)
658 endif()
659 add_dependencies(buildtests_cxx qps_worker)
660 add_dependencies(buildtests_cxx raw_end2end_test)
661 add_dependencies(buildtests_cxx reconnect_interop_client)
662 add_dependencies(buildtests_cxx reconnect_interop_server)
663 add_dependencies(buildtests_cxx ref_counted_ptr_test)
664 add_dependencies(buildtests_cxx ref_counted_test)
665 add_dependencies(buildtests_cxx retry_throttle_test)
666 add_dependencies(buildtests_cxx secure_auth_context_test)
667 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
668 add_dependencies(buildtests_cxx secure_sync_unary_ping_pong_test)
669 endif()
670 add_dependencies(buildtests_cxx server_builder_plugin_test)
671 add_dependencies(buildtests_cxx server_builder_test)
672 if(_gRPC_PLATFORM_POSIX)
673 add_dependencies(buildtests_cxx server_builder_with_socket_mutator_test)
674 endif()
675 add_dependencies(buildtests_cxx server_context_test_spouse_test)
676 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
677 add_dependencies(buildtests_cxx server_crash_test)
678 endif()
679 add_dependencies(buildtests_cxx server_crash_test_client)
680 add_dependencies(buildtests_cxx server_early_return_test)
681 add_dependencies(buildtests_cxx server_interceptors_end2end_test)
682 add_dependencies(buildtests_cxx server_request_call_test)
683 add_dependencies(buildtests_cxx shutdown_test)
684 add_dependencies(buildtests_cxx slice_hash_table_test)
685 add_dependencies(buildtests_cxx slice_weak_hash_table_test)
686 add_dependencies(buildtests_cxx stats_test)
687 add_dependencies(buildtests_cxx status_metadata_test)
688 add_dependencies(buildtests_cxx status_util_test)
689 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
690 add_dependencies(buildtests_cxx streaming_throughput_test)
691 endif()
692 add_dependencies(buildtests_cxx stress_test)
693 add_dependencies(buildtests_cxx thread_manager_test)
694 add_dependencies(buildtests_cxx thread_stress_test)
695 add_dependencies(buildtests_cxx transport_pid_controller_test)
696 add_dependencies(buildtests_cxx transport_security_common_api_test)
697 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
698 add_dependencies(buildtests_cxx writes_per_rpc_test)
699 endif()
700 add_dependencies(buildtests_cxx resolver_component_test_unsecure)
701 add_dependencies(buildtests_cxx resolver_component_test)
702 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
703 add_dependencies(buildtests_cxx resolver_component_tests_runner_invoker_unsecure)
704 endif()
705 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
706 add_dependencies(buildtests_cxx resolver_component_tests_runner_invoker)
707 endif()
708 add_dependencies(buildtests_cxx address_sorting_test_unsecure)
709 add_dependencies(buildtests_cxx address_sorting_test)
710 add_dependencies(buildtests_cxx cancel_ares_query_test)
711
712 add_custom_target(buildtests
713   DEPENDS buildtests_c buildtests_cxx)
714 endif (gRPC_BUILD_TESTS)
715
716
717 add_library(address_sorting
718   third_party/address_sorting/address_sorting.c
719   third_party/address_sorting/address_sorting_posix.c
720   third_party/address_sorting/address_sorting_windows.c
721 )
722
723 if(WIN32 AND MSVC)
724   set_target_properties(address_sorting PROPERTIES COMPILE_PDB_NAME "address_sorting"
725     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
726   )
727   if (gRPC_INSTALL)
728     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/address_sorting.pdb
729       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
730     )
731   endif()
732 endif()
733
734
735 target_include_directories(address_sorting
736   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
737   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
738   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
739   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
740   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
741   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
742   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
743   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
744   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
745   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
746 )
747   # avoid dependency on libstdc++
748   if (_gRPC_CORE_NOSTDCXX_FLAGS)
749     set_target_properties(address_sorting PROPERTIES LINKER_LANGUAGE C)
750     # only use the flags for C++ source files
751     target_compile_options(address_sorting PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
752   endif()
753 target_link_libraries(address_sorting
754   ${_gRPC_BASELIB_LIBRARIES}
755   ${_gRPC_ALLTARGETS_LIBRARIES}
756 )
757
758
759
760 if (gRPC_INSTALL)
761   install(TARGETS address_sorting EXPORT gRPCTargets
762     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
763     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
764     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
765   )
766 endif()
767
768 if (gRPC_BUILD_TESTS)
769
770 add_library(alts_test_util
771   test/core/tsi/alts/crypt/gsec_test_util.cc
772   test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc
773 )
774
775 if(WIN32 AND MSVC)
776   set_target_properties(alts_test_util PROPERTIES COMPILE_PDB_NAME "alts_test_util"
777     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
778   )
779   if (gRPC_INSTALL)
780     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/alts_test_util.pdb
781       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
782     )
783   endif()
784 endif()
785
786
787 target_include_directories(alts_test_util
788   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
789   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
790   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
791   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
792   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
793   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
794   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
795   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
796   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
797   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
798 )
799   # avoid dependency on libstdc++
800   if (_gRPC_CORE_NOSTDCXX_FLAGS)
801     set_target_properties(alts_test_util PROPERTIES LINKER_LANGUAGE C)
802     # only use the flags for C++ source files
803     target_compile_options(alts_test_util PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
804   endif()
805 target_link_libraries(alts_test_util
806   ${_gRPC_SSL_LIBRARIES}
807   ${_gRPC_ALLTARGETS_LIBRARIES}
808   grpc
809 )
810
811
812 endif (gRPC_BUILD_TESTS)
813
814 add_library(gpr
815   src/core/lib/gpr/alloc.cc
816   src/core/lib/gpr/arena.cc
817   src/core/lib/gpr/atm.cc
818   src/core/lib/gpr/cpu_iphone.cc
819   src/core/lib/gpr/cpu_linux.cc
820   src/core/lib/gpr/cpu_posix.cc
821   src/core/lib/gpr/cpu_windows.cc
822   src/core/lib/gpr/env_linux.cc
823   src/core/lib/gpr/env_posix.cc
824   src/core/lib/gpr/env_windows.cc
825   src/core/lib/gpr/host_port.cc
826   src/core/lib/gpr/log.cc
827   src/core/lib/gpr/log_android.cc
828   src/core/lib/gpr/log_linux.cc
829   src/core/lib/gpr/log_posix.cc
830   src/core/lib/gpr/log_windows.cc
831   src/core/lib/gpr/mpscq.cc
832   src/core/lib/gpr/murmur_hash.cc
833   src/core/lib/gpr/string.cc
834   src/core/lib/gpr/string_posix.cc
835   src/core/lib/gpr/string_util_windows.cc
836   src/core/lib/gpr/string_windows.cc
837   src/core/lib/gpr/sync.cc
838   src/core/lib/gpr/sync_posix.cc
839   src/core/lib/gpr/sync_windows.cc
840   src/core/lib/gpr/time.cc
841   src/core/lib/gpr/time_posix.cc
842   src/core/lib/gpr/time_precise.cc
843   src/core/lib/gpr/time_windows.cc
844   src/core/lib/gpr/tls_pthread.cc
845   src/core/lib/gpr/tmpfile_msys.cc
846   src/core/lib/gpr/tmpfile_posix.cc
847   src/core/lib/gpr/tmpfile_windows.cc
848   src/core/lib/gpr/wrap_memcpy.cc
849   src/core/lib/gprpp/fork.cc
850   src/core/lib/gprpp/thd_posix.cc
851   src/core/lib/gprpp/thd_windows.cc
852   src/core/lib/profiling/basic_timers.cc
853   src/core/lib/profiling/stap_timers.cc
854 )
855
856 if(WIN32 AND MSVC)
857   set_target_properties(gpr PROPERTIES COMPILE_PDB_NAME "gpr"
858     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
859   )
860   if (gRPC_INSTALL)
861     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gpr.pdb
862       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
863     )
864   endif()
865 endif()
866
867
868 target_include_directories(gpr
869   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
870   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
871   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
872   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
873   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
874   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
875   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
876   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
877   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
878   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
879 )
880   # avoid dependency on libstdc++
881   if (_gRPC_CORE_NOSTDCXX_FLAGS)
882     set_target_properties(gpr PROPERTIES LINKER_LANGUAGE C)
883     # only use the flags for C++ source files
884     target_compile_options(gpr PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
885   endif()
886 target_link_libraries(gpr
887   ${_gRPC_ALLTARGETS_LIBRARIES}
888 )
889 if (_gRPC_PLATFORM_ANDROID)
890   target_link_libraries(gpr
891     android
892     log
893   )
894 endif (_gRPC_PLATFORM_ANDROID)
895
896 foreach(_hdr
897   include/grpc/support/alloc.h
898   include/grpc/support/atm.h
899   include/grpc/support/atm_gcc_atomic.h
900   include/grpc/support/atm_gcc_sync.h
901   include/grpc/support/atm_windows.h
902   include/grpc/support/cpu.h
903   include/grpc/support/log.h
904   include/grpc/support/log_windows.h
905   include/grpc/support/port_platform.h
906   include/grpc/support/string_util.h
907   include/grpc/support/sync.h
908   include/grpc/support/sync_custom.h
909   include/grpc/support/sync_generic.h
910   include/grpc/support/sync_posix.h
911   include/grpc/support/sync_windows.h
912   include/grpc/support/thd_id.h
913   include/grpc/support/time.h
914   include/grpc/impl/codegen/atm.h
915   include/grpc/impl/codegen/atm_gcc_atomic.h
916   include/grpc/impl/codegen/atm_gcc_sync.h
917   include/grpc/impl/codegen/atm_windows.h
918   include/grpc/impl/codegen/fork.h
919   include/grpc/impl/codegen/gpr_slice.h
920   include/grpc/impl/codegen/gpr_types.h
921   include/grpc/impl/codegen/log.h
922   include/grpc/impl/codegen/port_platform.h
923   include/grpc/impl/codegen/sync.h
924   include/grpc/impl/codegen/sync_custom.h
925   include/grpc/impl/codegen/sync_generic.h
926   include/grpc/impl/codegen/sync_posix.h
927   include/grpc/impl/codegen/sync_windows.h
928 )
929   string(REPLACE "include/" "" _path ${_hdr})
930   get_filename_component(_path ${_path} PATH)
931   install(FILES ${_hdr}
932     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
933   )
934 endforeach()
935
936
937 if (gRPC_INSTALL)
938   install(TARGETS gpr EXPORT gRPCTargets
939     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
940     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
941     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
942   )
943 endif()
944
945
946 add_library(grpc
947   src/core/lib/surface/init.cc
948   src/core/lib/avl/avl.cc
949   src/core/lib/backoff/backoff.cc
950   src/core/lib/channel/channel_args.cc
951   src/core/lib/channel/channel_stack.cc
952   src/core/lib/channel/channel_stack_builder.cc
953   src/core/lib/channel/channel_trace.cc
954   src/core/lib/channel/channelz.cc
955   src/core/lib/channel/channelz_registry.cc
956   src/core/lib/channel/connected_channel.cc
957   src/core/lib/channel/handshaker.cc
958   src/core/lib/channel/handshaker_factory.cc
959   src/core/lib/channel/handshaker_registry.cc
960   src/core/lib/channel/status_util.cc
961   src/core/lib/compression/compression.cc
962   src/core/lib/compression/compression_internal.cc
963   src/core/lib/compression/message_compress.cc
964   src/core/lib/compression/stream_compression.cc
965   src/core/lib/compression/stream_compression_gzip.cc
966   src/core/lib/compression/stream_compression_identity.cc
967   src/core/lib/debug/stats.cc
968   src/core/lib/debug/stats_data.cc
969   src/core/lib/http/format_request.cc
970   src/core/lib/http/httpcli.cc
971   src/core/lib/http/parser.cc
972   src/core/lib/iomgr/buffer_list.cc
973   src/core/lib/iomgr/call_combiner.cc
974   src/core/lib/iomgr/combiner.cc
975   src/core/lib/iomgr/endpoint.cc
976   src/core/lib/iomgr/endpoint_pair_posix.cc
977   src/core/lib/iomgr/endpoint_pair_uv.cc
978   src/core/lib/iomgr/endpoint_pair_windows.cc
979   src/core/lib/iomgr/error.cc
980   src/core/lib/iomgr/ev_epoll1_linux.cc
981   src/core/lib/iomgr/ev_epollex_linux.cc
982   src/core/lib/iomgr/ev_poll_posix.cc
983   src/core/lib/iomgr/ev_posix.cc
984   src/core/lib/iomgr/ev_windows.cc
985   src/core/lib/iomgr/exec_ctx.cc
986   src/core/lib/iomgr/executor.cc
987   src/core/lib/iomgr/fork_posix.cc
988   src/core/lib/iomgr/fork_windows.cc
989   src/core/lib/iomgr/gethostname_fallback.cc
990   src/core/lib/iomgr/gethostname_host_name_max.cc
991   src/core/lib/iomgr/gethostname_sysconf.cc
992   src/core/lib/iomgr/internal_errqueue.cc
993   src/core/lib/iomgr/iocp_windows.cc
994   src/core/lib/iomgr/iomgr.cc
995   src/core/lib/iomgr/iomgr_custom.cc
996   src/core/lib/iomgr/iomgr_internal.cc
997   src/core/lib/iomgr/iomgr_posix.cc
998   src/core/lib/iomgr/iomgr_uv.cc
999   src/core/lib/iomgr/iomgr_windows.cc
1000   src/core/lib/iomgr/is_epollexclusive_available.cc
1001   src/core/lib/iomgr/load_file.cc
1002   src/core/lib/iomgr/lockfree_event.cc
1003   src/core/lib/iomgr/network_status_tracker.cc
1004   src/core/lib/iomgr/polling_entity.cc
1005   src/core/lib/iomgr/pollset.cc
1006   src/core/lib/iomgr/pollset_custom.cc
1007   src/core/lib/iomgr/pollset_set.cc
1008   src/core/lib/iomgr/pollset_set_custom.cc
1009   src/core/lib/iomgr/pollset_set_windows.cc
1010   src/core/lib/iomgr/pollset_uv.cc
1011   src/core/lib/iomgr/pollset_windows.cc
1012   src/core/lib/iomgr/resolve_address.cc
1013   src/core/lib/iomgr/resolve_address_custom.cc
1014   src/core/lib/iomgr/resolve_address_posix.cc
1015   src/core/lib/iomgr/resolve_address_windows.cc
1016   src/core/lib/iomgr/resource_quota.cc
1017   src/core/lib/iomgr/sockaddr_utils.cc
1018   src/core/lib/iomgr/socket_factory_posix.cc
1019   src/core/lib/iomgr/socket_mutator.cc
1020   src/core/lib/iomgr/socket_utils_common_posix.cc
1021   src/core/lib/iomgr/socket_utils_linux.cc
1022   src/core/lib/iomgr/socket_utils_posix.cc
1023   src/core/lib/iomgr/socket_utils_uv.cc
1024   src/core/lib/iomgr/socket_utils_windows.cc
1025   src/core/lib/iomgr/socket_windows.cc
1026   src/core/lib/iomgr/tcp_client.cc
1027   src/core/lib/iomgr/tcp_client_custom.cc
1028   src/core/lib/iomgr/tcp_client_posix.cc
1029   src/core/lib/iomgr/tcp_client_windows.cc
1030   src/core/lib/iomgr/tcp_custom.cc
1031   src/core/lib/iomgr/tcp_posix.cc
1032   src/core/lib/iomgr/tcp_server.cc
1033   src/core/lib/iomgr/tcp_server_custom.cc
1034   src/core/lib/iomgr/tcp_server_posix.cc
1035   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
1036   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
1037   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
1038   src/core/lib/iomgr/tcp_server_windows.cc
1039   src/core/lib/iomgr/tcp_uv.cc
1040   src/core/lib/iomgr/tcp_windows.cc
1041   src/core/lib/iomgr/time_averaged_stats.cc
1042   src/core/lib/iomgr/timer.cc
1043   src/core/lib/iomgr/timer_custom.cc
1044   src/core/lib/iomgr/timer_generic.cc
1045   src/core/lib/iomgr/timer_heap.cc
1046   src/core/lib/iomgr/timer_manager.cc
1047   src/core/lib/iomgr/timer_uv.cc
1048   src/core/lib/iomgr/udp_server.cc
1049   src/core/lib/iomgr/unix_sockets_posix.cc
1050   src/core/lib/iomgr/unix_sockets_posix_noop.cc
1051   src/core/lib/iomgr/wakeup_fd_cv.cc
1052   src/core/lib/iomgr/wakeup_fd_eventfd.cc
1053   src/core/lib/iomgr/wakeup_fd_nospecial.cc
1054   src/core/lib/iomgr/wakeup_fd_pipe.cc
1055   src/core/lib/iomgr/wakeup_fd_posix.cc
1056   src/core/lib/json/json.cc
1057   src/core/lib/json/json_reader.cc
1058   src/core/lib/json/json_string.cc
1059   src/core/lib/json/json_writer.cc
1060   src/core/lib/slice/b64.cc
1061   src/core/lib/slice/percent_encoding.cc
1062   src/core/lib/slice/slice.cc
1063   src/core/lib/slice/slice_buffer.cc
1064   src/core/lib/slice/slice_intern.cc
1065   src/core/lib/slice/slice_string_helpers.cc
1066   src/core/lib/surface/api_trace.cc
1067   src/core/lib/surface/byte_buffer.cc
1068   src/core/lib/surface/byte_buffer_reader.cc
1069   src/core/lib/surface/call.cc
1070   src/core/lib/surface/call_details.cc
1071   src/core/lib/surface/call_log_batch.cc
1072   src/core/lib/surface/channel.cc
1073   src/core/lib/surface/channel_init.cc
1074   src/core/lib/surface/channel_ping.cc
1075   src/core/lib/surface/channel_stack_type.cc
1076   src/core/lib/surface/completion_queue.cc
1077   src/core/lib/surface/completion_queue_factory.cc
1078   src/core/lib/surface/event_string.cc
1079   src/core/lib/surface/lame_client.cc
1080   src/core/lib/surface/metadata_array.cc
1081   src/core/lib/surface/server.cc
1082   src/core/lib/surface/validate_metadata.cc
1083   src/core/lib/surface/version.cc
1084   src/core/lib/transport/bdp_estimator.cc
1085   src/core/lib/transport/byte_stream.cc
1086   src/core/lib/transport/connectivity_state.cc
1087   src/core/lib/transport/error_utils.cc
1088   src/core/lib/transport/metadata.cc
1089   src/core/lib/transport/metadata_batch.cc
1090   src/core/lib/transport/pid_controller.cc
1091   src/core/lib/transport/service_config.cc
1092   src/core/lib/transport/static_metadata.cc
1093   src/core/lib/transport/status_conversion.cc
1094   src/core/lib/transport/status_metadata.cc
1095   src/core/lib/transport/timeout_encoding.cc
1096   src/core/lib/transport/transport.cc
1097   src/core/lib/transport/transport_op_string.cc
1098   src/core/lib/uri/uri_parser.cc
1099   src/core/lib/debug/trace.cc
1100   src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc
1101   src/core/ext/transport/chttp2/transport/bin_decoder.cc
1102   src/core/ext/transport/chttp2/transport/bin_encoder.cc
1103   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
1104   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
1105   src/core/ext/transport/chttp2/transport/context_list.cc
1106   src/core/ext/transport/chttp2/transport/flow_control.cc
1107   src/core/ext/transport/chttp2/transport/frame_data.cc
1108   src/core/ext/transport/chttp2/transport/frame_goaway.cc
1109   src/core/ext/transport/chttp2/transport/frame_ping.cc
1110   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
1111   src/core/ext/transport/chttp2/transport/frame_settings.cc
1112   src/core/ext/transport/chttp2/transport/frame_window_update.cc
1113   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
1114   src/core/ext/transport/chttp2/transport/hpack_parser.cc
1115   src/core/ext/transport/chttp2/transport/hpack_table.cc
1116   src/core/ext/transport/chttp2/transport/http2_settings.cc
1117   src/core/ext/transport/chttp2/transport/huffsyms.cc
1118   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
1119   src/core/ext/transport/chttp2/transport/parsing.cc
1120   src/core/ext/transport/chttp2/transport/stream_lists.cc
1121   src/core/ext/transport/chttp2/transport/stream_map.cc
1122   src/core/ext/transport/chttp2/transport/varint.cc
1123   src/core/ext/transport/chttp2/transport/writing.cc
1124   src/core/ext/transport/chttp2/alpn/alpn.cc
1125   src/core/ext/filters/http/client/http_client_filter.cc
1126   src/core/ext/filters/http/http_filters_plugin.cc
1127   src/core/ext/filters/http/message_compress/message_compress_filter.cc
1128   src/core/ext/filters/http/server/http_server_filter.cc
1129   src/core/lib/http/httpcli_security_connector.cc
1130   src/core/lib/security/context/security_context.cc
1131   src/core/lib/security/credentials/alts/alts_credentials.cc
1132   src/core/lib/security/credentials/composite/composite_credentials.cc
1133   src/core/lib/security/credentials/credentials.cc
1134   src/core/lib/security/credentials/credentials_metadata.cc
1135   src/core/lib/security/credentials/fake/fake_credentials.cc
1136   src/core/lib/security/credentials/google_default/credentials_generic.cc
1137   src/core/lib/security/credentials/google_default/google_default_credentials.cc
1138   src/core/lib/security/credentials/iam/iam_credentials.cc
1139   src/core/lib/security/credentials/jwt/json_token.cc
1140   src/core/lib/security/credentials/jwt/jwt_credentials.cc
1141   src/core/lib/security/credentials/jwt/jwt_verifier.cc
1142   src/core/lib/security/credentials/local/local_credentials.cc
1143   src/core/lib/security/credentials/oauth2/oauth2_credentials.cc
1144   src/core/lib/security/credentials/plugin/plugin_credentials.cc
1145   src/core/lib/security/credentials/ssl/ssl_credentials.cc
1146   src/core/lib/security/security_connector/alts/alts_security_connector.cc
1147   src/core/lib/security/security_connector/fake/fake_security_connector.cc
1148   src/core/lib/security/security_connector/load_system_roots_fallback.cc
1149   src/core/lib/security/security_connector/load_system_roots_linux.cc
1150   src/core/lib/security/security_connector/local/local_security_connector.cc
1151   src/core/lib/security/security_connector/security_connector.cc
1152   src/core/lib/security/security_connector/ssl/ssl_security_connector.cc
1153   src/core/lib/security/security_connector/ssl_utils.cc
1154   src/core/lib/security/transport/client_auth_filter.cc
1155   src/core/lib/security/transport/secure_endpoint.cc
1156   src/core/lib/security/transport/security_handshaker.cc
1157   src/core/lib/security/transport/server_auth_filter.cc
1158   src/core/lib/security/transport/target_authority_table.cc
1159   src/core/lib/security/transport/tsi_error.cc
1160   src/core/lib/security/util/json_util.cc
1161   src/core/lib/surface/init_secure.cc
1162   src/core/tsi/alts/crypt/aes_gcm.cc
1163   src/core/tsi/alts/crypt/gsec.cc
1164   src/core/tsi/alts/frame_protector/alts_counter.cc
1165   src/core/tsi/alts/frame_protector/alts_crypter.cc
1166   src/core/tsi/alts/frame_protector/alts_frame_protector.cc
1167   src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc
1168   src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc
1169   src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc
1170   src/core/tsi/alts/frame_protector/frame_handler.cc
1171   src/core/tsi/alts/handshaker/alts_handshaker_client.cc
1172   src/core/tsi/alts/handshaker/alts_shared_resource.cc
1173   src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
1174   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc
1175   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc
1176   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc
1177   src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc
1178   src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc
1179   src/core/lib/security/credentials/alts/check_gcp_environment.cc
1180   src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc
1181   src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc
1182   src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
1183   src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc
1184   src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc
1185   src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc
1186   src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc
1187   src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc
1188   src/core/tsi/alts/handshaker/alts_tsi_utils.cc
1189   src/core/tsi/alts/handshaker/transport_security_common_api.cc
1190   src/core/tsi/alts/handshaker/altscontext.pb.c
1191   src/core/tsi/alts/handshaker/handshaker.pb.c
1192   src/core/tsi/alts/handshaker/transport_security_common.pb.c
1193   third_party/nanopb/pb_common.c
1194   third_party/nanopb/pb_decode.c
1195   third_party/nanopb/pb_encode.c
1196   src/core/tsi/transport_security.cc
1197   src/core/ext/transport/chttp2/client/insecure/channel_create.cc
1198   src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
1199   src/core/ext/transport/chttp2/client/authority.cc
1200   src/core/ext/transport/chttp2/client/chttp2_connector.cc
1201   src/core/ext/filters/client_channel/backup_poller.cc
1202   src/core/ext/filters/client_channel/channel_connectivity.cc
1203   src/core/ext/filters/client_channel/client_channel.cc
1204   src/core/ext/filters/client_channel/client_channel_channelz.cc
1205   src/core/ext/filters/client_channel/client_channel_factory.cc
1206   src/core/ext/filters/client_channel/client_channel_plugin.cc
1207   src/core/ext/filters/client_channel/connector.cc
1208   src/core/ext/filters/client_channel/health/health_check_client.cc
1209   src/core/ext/filters/client_channel/http_connect_handshaker.cc
1210   src/core/ext/filters/client_channel/http_proxy.cc
1211   src/core/ext/filters/client_channel/lb_policy.cc
1212   src/core/ext/filters/client_channel/lb_policy_registry.cc
1213   src/core/ext/filters/client_channel/parse_address.cc
1214   src/core/ext/filters/client_channel/proxy_mapper.cc
1215   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
1216   src/core/ext/filters/client_channel/request_routing.cc
1217   src/core/ext/filters/client_channel/resolver.cc
1218   src/core/ext/filters/client_channel/resolver_registry.cc
1219   src/core/ext/filters/client_channel/resolver_result_parsing.cc
1220   src/core/ext/filters/client_channel/retry_throttle.cc
1221   src/core/ext/filters/client_channel/server_address.cc
1222   src/core/ext/filters/client_channel/subchannel.cc
1223   src/core/ext/filters/client_channel/subchannel_index.cc
1224   src/core/ext/filters/deadline/deadline_filter.cc
1225   src/core/ext/filters/client_channel/health/health.pb.c
1226   src/core/tsi/fake_transport_security.cc
1227   src/core/tsi/local_transport_security.cc
1228   src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc
1229   src/core/tsi/ssl/session_cache/ssl_session_cache.cc
1230   src/core/tsi/ssl/session_cache/ssl_session_openssl.cc
1231   src/core/tsi/ssl_transport_security.cc
1232   src/core/tsi/transport_security_grpc.cc
1233   src/core/ext/transport/chttp2/server/chttp2_server.cc
1234   src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc
1235   src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
1236   src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
1237   src/core/ext/transport/inproc/inproc_plugin.cc
1238   src/core/ext/transport/inproc/inproc_transport.cc
1239   src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
1240   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
1241   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc
1242   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
1243   src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
1244   src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
1245   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c
1246   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c
1247   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c
1248   src/core/ext/filters/client_channel/lb_policy/xds/xds.cc
1249   src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_secure.cc
1250   src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.cc
1251   src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.cc
1252   src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
1253   src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
1254   src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
1255   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc
1256   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
1257   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc
1258   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
1259   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc
1260   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc
1261   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc
1262   src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc
1263   src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
1264   src/core/ext/filters/census/grpc_context.cc
1265   src/core/ext/filters/max_age/max_age_filter.cc
1266   src/core/ext/filters/message_size/message_size_filter.cc
1267   src/core/ext/filters/http/client_authority_filter.cc
1268   src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc
1269   src/core/ext/filters/workarounds/workaround_utils.cc
1270   src/core/plugin_registry/grpc_plugin_registry.cc
1271 )
1272
1273 if(WIN32 AND MSVC)
1274   set_target_properties(grpc PROPERTIES COMPILE_PDB_NAME "grpc"
1275     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
1276   )
1277   if (gRPC_INSTALL)
1278     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc.pdb
1279       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
1280     )
1281   endif()
1282 endif()
1283
1284
1285 target_include_directories(grpc
1286   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
1287   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
1288   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
1289   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
1290   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
1291   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
1292   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
1293   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
1294   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
1295   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
1296 )
1297   # avoid dependency on libstdc++
1298   if (_gRPC_CORE_NOSTDCXX_FLAGS)
1299     set_target_properties(grpc PROPERTIES LINKER_LANGUAGE C)
1300     # only use the flags for C++ source files
1301     target_compile_options(grpc PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
1302   endif()
1303 target_link_libraries(grpc
1304   ${_gRPC_BASELIB_LIBRARIES}
1305   ${_gRPC_SSL_LIBRARIES}
1306   ${_gRPC_ZLIB_LIBRARIES}
1307   ${_gRPC_CARES_LIBRARIES}
1308   ${_gRPC_ADDRESS_SORTING_LIBRARIES}
1309   ${_gRPC_ALLTARGETS_LIBRARIES}
1310   gpr
1311 )
1312
1313 foreach(_hdr
1314   include/grpc/impl/codegen/byte_buffer.h
1315   include/grpc/impl/codegen/byte_buffer_reader.h
1316   include/grpc/impl/codegen/compression_types.h
1317   include/grpc/impl/codegen/connectivity_state.h
1318   include/grpc/impl/codegen/grpc_types.h
1319   include/grpc/impl/codegen/propagation_bits.h
1320   include/grpc/impl/codegen/slice.h
1321   include/grpc/impl/codegen/status.h
1322   include/grpc/impl/codegen/atm.h
1323   include/grpc/impl/codegen/atm_gcc_atomic.h
1324   include/grpc/impl/codegen/atm_gcc_sync.h
1325   include/grpc/impl/codegen/atm_windows.h
1326   include/grpc/impl/codegen/fork.h
1327   include/grpc/impl/codegen/gpr_slice.h
1328   include/grpc/impl/codegen/gpr_types.h
1329   include/grpc/impl/codegen/log.h
1330   include/grpc/impl/codegen/port_platform.h
1331   include/grpc/impl/codegen/sync.h
1332   include/grpc/impl/codegen/sync_custom.h
1333   include/grpc/impl/codegen/sync_generic.h
1334   include/grpc/impl/codegen/sync_posix.h
1335   include/grpc/impl/codegen/sync_windows.h
1336   include/grpc/grpc_security.h
1337   include/grpc/byte_buffer.h
1338   include/grpc/byte_buffer_reader.h
1339   include/grpc/compression.h
1340   include/grpc/fork.h
1341   include/grpc/grpc.h
1342   include/grpc/grpc_posix.h
1343   include/grpc/grpc_security_constants.h
1344   include/grpc/load_reporting.h
1345   include/grpc/slice.h
1346   include/grpc/slice_buffer.h
1347   include/grpc/status.h
1348   include/grpc/support/workaround_list.h
1349   include/grpc/census.h
1350 )
1351   string(REPLACE "include/" "" _path ${_hdr})
1352   get_filename_component(_path ${_path} PATH)
1353   install(FILES ${_hdr}
1354     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
1355   )
1356 endforeach()
1357
1358
1359 if (gRPC_INSTALL)
1360   install(TARGETS grpc EXPORT gRPCTargets
1361     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
1362     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
1363     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
1364   )
1365 endif()
1366
1367
1368 add_library(grpc_cronet
1369   src/core/lib/surface/init.cc
1370   src/core/lib/avl/avl.cc
1371   src/core/lib/backoff/backoff.cc
1372   src/core/lib/channel/channel_args.cc
1373   src/core/lib/channel/channel_stack.cc
1374   src/core/lib/channel/channel_stack_builder.cc
1375   src/core/lib/channel/channel_trace.cc
1376   src/core/lib/channel/channelz.cc
1377   src/core/lib/channel/channelz_registry.cc
1378   src/core/lib/channel/connected_channel.cc
1379   src/core/lib/channel/handshaker.cc
1380   src/core/lib/channel/handshaker_factory.cc
1381   src/core/lib/channel/handshaker_registry.cc
1382   src/core/lib/channel/status_util.cc
1383   src/core/lib/compression/compression.cc
1384   src/core/lib/compression/compression_internal.cc
1385   src/core/lib/compression/message_compress.cc
1386   src/core/lib/compression/stream_compression.cc
1387   src/core/lib/compression/stream_compression_gzip.cc
1388   src/core/lib/compression/stream_compression_identity.cc
1389   src/core/lib/debug/stats.cc
1390   src/core/lib/debug/stats_data.cc
1391   src/core/lib/http/format_request.cc
1392   src/core/lib/http/httpcli.cc
1393   src/core/lib/http/parser.cc
1394   src/core/lib/iomgr/buffer_list.cc
1395   src/core/lib/iomgr/call_combiner.cc
1396   src/core/lib/iomgr/combiner.cc
1397   src/core/lib/iomgr/endpoint.cc
1398   src/core/lib/iomgr/endpoint_pair_posix.cc
1399   src/core/lib/iomgr/endpoint_pair_uv.cc
1400   src/core/lib/iomgr/endpoint_pair_windows.cc
1401   src/core/lib/iomgr/error.cc
1402   src/core/lib/iomgr/ev_epoll1_linux.cc
1403   src/core/lib/iomgr/ev_epollex_linux.cc
1404   src/core/lib/iomgr/ev_poll_posix.cc
1405   src/core/lib/iomgr/ev_posix.cc
1406   src/core/lib/iomgr/ev_windows.cc
1407   src/core/lib/iomgr/exec_ctx.cc
1408   src/core/lib/iomgr/executor.cc
1409   src/core/lib/iomgr/fork_posix.cc
1410   src/core/lib/iomgr/fork_windows.cc
1411   src/core/lib/iomgr/gethostname_fallback.cc
1412   src/core/lib/iomgr/gethostname_host_name_max.cc
1413   src/core/lib/iomgr/gethostname_sysconf.cc
1414   src/core/lib/iomgr/internal_errqueue.cc
1415   src/core/lib/iomgr/iocp_windows.cc
1416   src/core/lib/iomgr/iomgr.cc
1417   src/core/lib/iomgr/iomgr_custom.cc
1418   src/core/lib/iomgr/iomgr_internal.cc
1419   src/core/lib/iomgr/iomgr_posix.cc
1420   src/core/lib/iomgr/iomgr_uv.cc
1421   src/core/lib/iomgr/iomgr_windows.cc
1422   src/core/lib/iomgr/is_epollexclusive_available.cc
1423   src/core/lib/iomgr/load_file.cc
1424   src/core/lib/iomgr/lockfree_event.cc
1425   src/core/lib/iomgr/network_status_tracker.cc
1426   src/core/lib/iomgr/polling_entity.cc
1427   src/core/lib/iomgr/pollset.cc
1428   src/core/lib/iomgr/pollset_custom.cc
1429   src/core/lib/iomgr/pollset_set.cc
1430   src/core/lib/iomgr/pollset_set_custom.cc
1431   src/core/lib/iomgr/pollset_set_windows.cc
1432   src/core/lib/iomgr/pollset_uv.cc
1433   src/core/lib/iomgr/pollset_windows.cc
1434   src/core/lib/iomgr/resolve_address.cc
1435   src/core/lib/iomgr/resolve_address_custom.cc
1436   src/core/lib/iomgr/resolve_address_posix.cc
1437   src/core/lib/iomgr/resolve_address_windows.cc
1438   src/core/lib/iomgr/resource_quota.cc
1439   src/core/lib/iomgr/sockaddr_utils.cc
1440   src/core/lib/iomgr/socket_factory_posix.cc
1441   src/core/lib/iomgr/socket_mutator.cc
1442   src/core/lib/iomgr/socket_utils_common_posix.cc
1443   src/core/lib/iomgr/socket_utils_linux.cc
1444   src/core/lib/iomgr/socket_utils_posix.cc
1445   src/core/lib/iomgr/socket_utils_uv.cc
1446   src/core/lib/iomgr/socket_utils_windows.cc
1447   src/core/lib/iomgr/socket_windows.cc
1448   src/core/lib/iomgr/tcp_client.cc
1449   src/core/lib/iomgr/tcp_client_custom.cc
1450   src/core/lib/iomgr/tcp_client_posix.cc
1451   src/core/lib/iomgr/tcp_client_windows.cc
1452   src/core/lib/iomgr/tcp_custom.cc
1453   src/core/lib/iomgr/tcp_posix.cc
1454   src/core/lib/iomgr/tcp_server.cc
1455   src/core/lib/iomgr/tcp_server_custom.cc
1456   src/core/lib/iomgr/tcp_server_posix.cc
1457   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
1458   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
1459   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
1460   src/core/lib/iomgr/tcp_server_windows.cc
1461   src/core/lib/iomgr/tcp_uv.cc
1462   src/core/lib/iomgr/tcp_windows.cc
1463   src/core/lib/iomgr/time_averaged_stats.cc
1464   src/core/lib/iomgr/timer.cc
1465   src/core/lib/iomgr/timer_custom.cc
1466   src/core/lib/iomgr/timer_generic.cc
1467   src/core/lib/iomgr/timer_heap.cc
1468   src/core/lib/iomgr/timer_manager.cc
1469   src/core/lib/iomgr/timer_uv.cc
1470   src/core/lib/iomgr/udp_server.cc
1471   src/core/lib/iomgr/unix_sockets_posix.cc
1472   src/core/lib/iomgr/unix_sockets_posix_noop.cc
1473   src/core/lib/iomgr/wakeup_fd_cv.cc
1474   src/core/lib/iomgr/wakeup_fd_eventfd.cc
1475   src/core/lib/iomgr/wakeup_fd_nospecial.cc
1476   src/core/lib/iomgr/wakeup_fd_pipe.cc
1477   src/core/lib/iomgr/wakeup_fd_posix.cc
1478   src/core/lib/json/json.cc
1479   src/core/lib/json/json_reader.cc
1480   src/core/lib/json/json_string.cc
1481   src/core/lib/json/json_writer.cc
1482   src/core/lib/slice/b64.cc
1483   src/core/lib/slice/percent_encoding.cc
1484   src/core/lib/slice/slice.cc
1485   src/core/lib/slice/slice_buffer.cc
1486   src/core/lib/slice/slice_intern.cc
1487   src/core/lib/slice/slice_string_helpers.cc
1488   src/core/lib/surface/api_trace.cc
1489   src/core/lib/surface/byte_buffer.cc
1490   src/core/lib/surface/byte_buffer_reader.cc
1491   src/core/lib/surface/call.cc
1492   src/core/lib/surface/call_details.cc
1493   src/core/lib/surface/call_log_batch.cc
1494   src/core/lib/surface/channel.cc
1495   src/core/lib/surface/channel_init.cc
1496   src/core/lib/surface/channel_ping.cc
1497   src/core/lib/surface/channel_stack_type.cc
1498   src/core/lib/surface/completion_queue.cc
1499   src/core/lib/surface/completion_queue_factory.cc
1500   src/core/lib/surface/event_string.cc
1501   src/core/lib/surface/lame_client.cc
1502   src/core/lib/surface/metadata_array.cc
1503   src/core/lib/surface/server.cc
1504   src/core/lib/surface/validate_metadata.cc
1505   src/core/lib/surface/version.cc
1506   src/core/lib/transport/bdp_estimator.cc
1507   src/core/lib/transport/byte_stream.cc
1508   src/core/lib/transport/connectivity_state.cc
1509   src/core/lib/transport/error_utils.cc
1510   src/core/lib/transport/metadata.cc
1511   src/core/lib/transport/metadata_batch.cc
1512   src/core/lib/transport/pid_controller.cc
1513   src/core/lib/transport/service_config.cc
1514   src/core/lib/transport/static_metadata.cc
1515   src/core/lib/transport/status_conversion.cc
1516   src/core/lib/transport/status_metadata.cc
1517   src/core/lib/transport/timeout_encoding.cc
1518   src/core/lib/transport/transport.cc
1519   src/core/lib/transport/transport_op_string.cc
1520   src/core/lib/uri/uri_parser.cc
1521   src/core/lib/debug/trace.cc
1522   src/core/ext/transport/cronet/client/secure/cronet_channel_create.cc
1523   src/core/ext/transport/cronet/transport/cronet_api_dummy.cc
1524   src/core/ext/transport/cronet/transport/cronet_transport.cc
1525   src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc
1526   src/core/ext/transport/chttp2/transport/bin_decoder.cc
1527   src/core/ext/transport/chttp2/transport/bin_encoder.cc
1528   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
1529   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
1530   src/core/ext/transport/chttp2/transport/context_list.cc
1531   src/core/ext/transport/chttp2/transport/flow_control.cc
1532   src/core/ext/transport/chttp2/transport/frame_data.cc
1533   src/core/ext/transport/chttp2/transport/frame_goaway.cc
1534   src/core/ext/transport/chttp2/transport/frame_ping.cc
1535   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
1536   src/core/ext/transport/chttp2/transport/frame_settings.cc
1537   src/core/ext/transport/chttp2/transport/frame_window_update.cc
1538   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
1539   src/core/ext/transport/chttp2/transport/hpack_parser.cc
1540   src/core/ext/transport/chttp2/transport/hpack_table.cc
1541   src/core/ext/transport/chttp2/transport/http2_settings.cc
1542   src/core/ext/transport/chttp2/transport/huffsyms.cc
1543   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
1544   src/core/ext/transport/chttp2/transport/parsing.cc
1545   src/core/ext/transport/chttp2/transport/stream_lists.cc
1546   src/core/ext/transport/chttp2/transport/stream_map.cc
1547   src/core/ext/transport/chttp2/transport/varint.cc
1548   src/core/ext/transport/chttp2/transport/writing.cc
1549   src/core/ext/transport/chttp2/alpn/alpn.cc
1550   src/core/ext/filters/http/client/http_client_filter.cc
1551   src/core/ext/filters/http/http_filters_plugin.cc
1552   src/core/ext/filters/http/message_compress/message_compress_filter.cc
1553   src/core/ext/filters/http/server/http_server_filter.cc
1554   src/core/ext/filters/client_channel/backup_poller.cc
1555   src/core/ext/filters/client_channel/channel_connectivity.cc
1556   src/core/ext/filters/client_channel/client_channel.cc
1557   src/core/ext/filters/client_channel/client_channel_channelz.cc
1558   src/core/ext/filters/client_channel/client_channel_factory.cc
1559   src/core/ext/filters/client_channel/client_channel_plugin.cc
1560   src/core/ext/filters/client_channel/connector.cc
1561   src/core/ext/filters/client_channel/health/health_check_client.cc
1562   src/core/ext/filters/client_channel/http_connect_handshaker.cc
1563   src/core/ext/filters/client_channel/http_proxy.cc
1564   src/core/ext/filters/client_channel/lb_policy.cc
1565   src/core/ext/filters/client_channel/lb_policy_registry.cc
1566   src/core/ext/filters/client_channel/parse_address.cc
1567   src/core/ext/filters/client_channel/proxy_mapper.cc
1568   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
1569   src/core/ext/filters/client_channel/request_routing.cc
1570   src/core/ext/filters/client_channel/resolver.cc
1571   src/core/ext/filters/client_channel/resolver_registry.cc
1572   src/core/ext/filters/client_channel/resolver_result_parsing.cc
1573   src/core/ext/filters/client_channel/retry_throttle.cc
1574   src/core/ext/filters/client_channel/server_address.cc
1575   src/core/ext/filters/client_channel/subchannel.cc
1576   src/core/ext/filters/client_channel/subchannel_index.cc
1577   src/core/ext/filters/deadline/deadline_filter.cc
1578   src/core/ext/filters/client_channel/health/health.pb.c
1579   third_party/nanopb/pb_common.c
1580   third_party/nanopb/pb_decode.c
1581   third_party/nanopb/pb_encode.c
1582   src/core/lib/http/httpcli_security_connector.cc
1583   src/core/lib/security/context/security_context.cc
1584   src/core/lib/security/credentials/alts/alts_credentials.cc
1585   src/core/lib/security/credentials/composite/composite_credentials.cc
1586   src/core/lib/security/credentials/credentials.cc
1587   src/core/lib/security/credentials/credentials_metadata.cc
1588   src/core/lib/security/credentials/fake/fake_credentials.cc
1589   src/core/lib/security/credentials/google_default/credentials_generic.cc
1590   src/core/lib/security/credentials/google_default/google_default_credentials.cc
1591   src/core/lib/security/credentials/iam/iam_credentials.cc
1592   src/core/lib/security/credentials/jwt/json_token.cc
1593   src/core/lib/security/credentials/jwt/jwt_credentials.cc
1594   src/core/lib/security/credentials/jwt/jwt_verifier.cc
1595   src/core/lib/security/credentials/local/local_credentials.cc
1596   src/core/lib/security/credentials/oauth2/oauth2_credentials.cc
1597   src/core/lib/security/credentials/plugin/plugin_credentials.cc
1598   src/core/lib/security/credentials/ssl/ssl_credentials.cc
1599   src/core/lib/security/security_connector/alts/alts_security_connector.cc
1600   src/core/lib/security/security_connector/fake/fake_security_connector.cc
1601   src/core/lib/security/security_connector/load_system_roots_fallback.cc
1602   src/core/lib/security/security_connector/load_system_roots_linux.cc
1603   src/core/lib/security/security_connector/local/local_security_connector.cc
1604   src/core/lib/security/security_connector/security_connector.cc
1605   src/core/lib/security/security_connector/ssl/ssl_security_connector.cc
1606   src/core/lib/security/security_connector/ssl_utils.cc
1607   src/core/lib/security/transport/client_auth_filter.cc
1608   src/core/lib/security/transport/secure_endpoint.cc
1609   src/core/lib/security/transport/security_handshaker.cc
1610   src/core/lib/security/transport/server_auth_filter.cc
1611   src/core/lib/security/transport/target_authority_table.cc
1612   src/core/lib/security/transport/tsi_error.cc
1613   src/core/lib/security/util/json_util.cc
1614   src/core/lib/surface/init_secure.cc
1615   src/core/tsi/alts/crypt/aes_gcm.cc
1616   src/core/tsi/alts/crypt/gsec.cc
1617   src/core/tsi/alts/frame_protector/alts_counter.cc
1618   src/core/tsi/alts/frame_protector/alts_crypter.cc
1619   src/core/tsi/alts/frame_protector/alts_frame_protector.cc
1620   src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc
1621   src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc
1622   src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc
1623   src/core/tsi/alts/frame_protector/frame_handler.cc
1624   src/core/tsi/alts/handshaker/alts_handshaker_client.cc
1625   src/core/tsi/alts/handshaker/alts_shared_resource.cc
1626   src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
1627   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc
1628   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc
1629   src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc
1630   src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc
1631   src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc
1632   src/core/lib/security/credentials/alts/check_gcp_environment.cc
1633   src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc
1634   src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc
1635   src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
1636   src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc
1637   src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc
1638   src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc
1639   src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc
1640   src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc
1641   src/core/tsi/alts/handshaker/alts_tsi_utils.cc
1642   src/core/tsi/alts/handshaker/transport_security_common_api.cc
1643   src/core/tsi/alts/handshaker/altscontext.pb.c
1644   src/core/tsi/alts/handshaker/handshaker.pb.c
1645   src/core/tsi/alts/handshaker/transport_security_common.pb.c
1646   src/core/tsi/transport_security.cc
1647   src/core/ext/transport/chttp2/client/insecure/channel_create.cc
1648   src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
1649   src/core/ext/transport/chttp2/client/authority.cc
1650   src/core/ext/transport/chttp2/client/chttp2_connector.cc
1651   src/core/tsi/fake_transport_security.cc
1652   src/core/tsi/local_transport_security.cc
1653   src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc
1654   src/core/tsi/ssl/session_cache/ssl_session_cache.cc
1655   src/core/tsi/ssl/session_cache/ssl_session_openssl.cc
1656   src/core/tsi/ssl_transport_security.cc
1657   src/core/tsi/transport_security_grpc.cc
1658   src/core/plugin_registry/grpc_cronet_plugin_registry.cc
1659 )
1660
1661 if(WIN32 AND MSVC)
1662   set_target_properties(grpc_cronet PROPERTIES COMPILE_PDB_NAME "grpc_cronet"
1663     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
1664   )
1665   if (gRPC_INSTALL)
1666     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_cronet.pdb
1667       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
1668     )
1669   endif()
1670 endif()
1671
1672
1673 target_include_directories(grpc_cronet
1674   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
1675   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
1676   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
1677   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
1678   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
1679   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
1680   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
1681   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
1682   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
1683   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
1684 )
1685   # avoid dependency on libstdc++
1686   if (_gRPC_CORE_NOSTDCXX_FLAGS)
1687     set_target_properties(grpc_cronet PROPERTIES LINKER_LANGUAGE C)
1688     # only use the flags for C++ source files
1689     target_compile_options(grpc_cronet PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
1690   endif()
1691 target_link_libraries(grpc_cronet
1692   ${_gRPC_BASELIB_LIBRARIES}
1693   ${_gRPC_SSL_LIBRARIES}
1694   ${_gRPC_ZLIB_LIBRARIES}
1695   ${_gRPC_CARES_LIBRARIES}
1696   ${_gRPC_ADDRESS_SORTING_LIBRARIES}
1697   ${_gRPC_ALLTARGETS_LIBRARIES}
1698   gpr
1699 )
1700
1701 foreach(_hdr
1702   include/grpc/impl/codegen/byte_buffer.h
1703   include/grpc/impl/codegen/byte_buffer_reader.h
1704   include/grpc/impl/codegen/compression_types.h
1705   include/grpc/impl/codegen/connectivity_state.h
1706   include/grpc/impl/codegen/grpc_types.h
1707   include/grpc/impl/codegen/propagation_bits.h
1708   include/grpc/impl/codegen/slice.h
1709   include/grpc/impl/codegen/status.h
1710   include/grpc/impl/codegen/atm.h
1711   include/grpc/impl/codegen/atm_gcc_atomic.h
1712   include/grpc/impl/codegen/atm_gcc_sync.h
1713   include/grpc/impl/codegen/atm_windows.h
1714   include/grpc/impl/codegen/fork.h
1715   include/grpc/impl/codegen/gpr_slice.h
1716   include/grpc/impl/codegen/gpr_types.h
1717   include/grpc/impl/codegen/log.h
1718   include/grpc/impl/codegen/port_platform.h
1719   include/grpc/impl/codegen/sync.h
1720   include/grpc/impl/codegen/sync_custom.h
1721   include/grpc/impl/codegen/sync_generic.h
1722   include/grpc/impl/codegen/sync_posix.h
1723   include/grpc/impl/codegen/sync_windows.h
1724   include/grpc/grpc_cronet.h
1725   include/grpc/grpc_security.h
1726   include/grpc/grpc_security_constants.h
1727 )
1728   string(REPLACE "include/" "" _path ${_hdr})
1729   get_filename_component(_path ${_path} PATH)
1730   install(FILES ${_hdr}
1731     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
1732   )
1733 endforeach()
1734
1735
1736 if (gRPC_INSTALL)
1737   install(TARGETS grpc_cronet EXPORT gRPCTargets
1738     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
1739     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
1740     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
1741   )
1742 endif()
1743
1744 if (gRPC_BUILD_TESTS)
1745
1746 add_library(grpc_test_util
1747   test/core/end2end/data/client_certs.cc
1748   test/core/end2end/data/server1_cert.cc
1749   test/core/end2end/data/server1_key.cc
1750   test/core/end2end/data/test_root_cert.cc
1751   test/core/security/oauth2_utils.cc
1752   src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
1753   test/core/end2end/cq_verifier.cc
1754   test/core/end2end/fixtures/http_proxy_fixture.cc
1755   test/core/end2end/fixtures/local_util.cc
1756   test/core/end2end/fixtures/proxy.cc
1757   test/core/iomgr/endpoint_tests.cc
1758   test/core/util/debugger_macros.cc
1759   test/core/util/fuzzer_util.cc
1760   test/core/util/grpc_profiler.cc
1761   test/core/util/histogram.cc
1762   test/core/util/memory_counters.cc
1763   test/core/util/mock_endpoint.cc
1764   test/core/util/parse_hexstring.cc
1765   test/core/util/passthru_endpoint.cc
1766   test/core/util/port.cc
1767   test/core/util/port_isolated_runtime_environment.cc
1768   test/core/util/port_server_client.cc
1769   test/core/util/slice_splitter.cc
1770   test/core/util/subprocess_posix.cc
1771   test/core/util/subprocess_windows.cc
1772   test/core/util/test_config.cc
1773   test/core/util/tracer_util.cc
1774   test/core/util/trickle_endpoint.cc
1775   test/core/util/cmdline.cc
1776   src/core/lib/avl/avl.cc
1777   src/core/lib/backoff/backoff.cc
1778   src/core/lib/channel/channel_args.cc
1779   src/core/lib/channel/channel_stack.cc
1780   src/core/lib/channel/channel_stack_builder.cc
1781   src/core/lib/channel/channel_trace.cc
1782   src/core/lib/channel/channelz.cc
1783   src/core/lib/channel/channelz_registry.cc
1784   src/core/lib/channel/connected_channel.cc
1785   src/core/lib/channel/handshaker.cc
1786   src/core/lib/channel/handshaker_factory.cc
1787   src/core/lib/channel/handshaker_registry.cc
1788   src/core/lib/channel/status_util.cc
1789   src/core/lib/compression/compression.cc
1790   src/core/lib/compression/compression_internal.cc
1791   src/core/lib/compression/message_compress.cc
1792   src/core/lib/compression/stream_compression.cc
1793   src/core/lib/compression/stream_compression_gzip.cc
1794   src/core/lib/compression/stream_compression_identity.cc
1795   src/core/lib/debug/stats.cc
1796   src/core/lib/debug/stats_data.cc
1797   src/core/lib/http/format_request.cc
1798   src/core/lib/http/httpcli.cc
1799   src/core/lib/http/parser.cc
1800   src/core/lib/iomgr/buffer_list.cc
1801   src/core/lib/iomgr/call_combiner.cc
1802   src/core/lib/iomgr/combiner.cc
1803   src/core/lib/iomgr/endpoint.cc
1804   src/core/lib/iomgr/endpoint_pair_posix.cc
1805   src/core/lib/iomgr/endpoint_pair_uv.cc
1806   src/core/lib/iomgr/endpoint_pair_windows.cc
1807   src/core/lib/iomgr/error.cc
1808   src/core/lib/iomgr/ev_epoll1_linux.cc
1809   src/core/lib/iomgr/ev_epollex_linux.cc
1810   src/core/lib/iomgr/ev_poll_posix.cc
1811   src/core/lib/iomgr/ev_posix.cc
1812   src/core/lib/iomgr/ev_windows.cc
1813   src/core/lib/iomgr/exec_ctx.cc
1814   src/core/lib/iomgr/executor.cc
1815   src/core/lib/iomgr/fork_posix.cc
1816   src/core/lib/iomgr/fork_windows.cc
1817   src/core/lib/iomgr/gethostname_fallback.cc
1818   src/core/lib/iomgr/gethostname_host_name_max.cc
1819   src/core/lib/iomgr/gethostname_sysconf.cc
1820   src/core/lib/iomgr/internal_errqueue.cc
1821   src/core/lib/iomgr/iocp_windows.cc
1822   src/core/lib/iomgr/iomgr.cc
1823   src/core/lib/iomgr/iomgr_custom.cc
1824   src/core/lib/iomgr/iomgr_internal.cc
1825   src/core/lib/iomgr/iomgr_posix.cc
1826   src/core/lib/iomgr/iomgr_uv.cc
1827   src/core/lib/iomgr/iomgr_windows.cc
1828   src/core/lib/iomgr/is_epollexclusive_available.cc
1829   src/core/lib/iomgr/load_file.cc
1830   src/core/lib/iomgr/lockfree_event.cc
1831   src/core/lib/iomgr/network_status_tracker.cc
1832   src/core/lib/iomgr/polling_entity.cc
1833   src/core/lib/iomgr/pollset.cc
1834   src/core/lib/iomgr/pollset_custom.cc
1835   src/core/lib/iomgr/pollset_set.cc
1836   src/core/lib/iomgr/pollset_set_custom.cc
1837   src/core/lib/iomgr/pollset_set_windows.cc
1838   src/core/lib/iomgr/pollset_uv.cc
1839   src/core/lib/iomgr/pollset_windows.cc
1840   src/core/lib/iomgr/resolve_address.cc
1841   src/core/lib/iomgr/resolve_address_custom.cc
1842   src/core/lib/iomgr/resolve_address_posix.cc
1843   src/core/lib/iomgr/resolve_address_windows.cc
1844   src/core/lib/iomgr/resource_quota.cc
1845   src/core/lib/iomgr/sockaddr_utils.cc
1846   src/core/lib/iomgr/socket_factory_posix.cc
1847   src/core/lib/iomgr/socket_mutator.cc
1848   src/core/lib/iomgr/socket_utils_common_posix.cc
1849   src/core/lib/iomgr/socket_utils_linux.cc
1850   src/core/lib/iomgr/socket_utils_posix.cc
1851   src/core/lib/iomgr/socket_utils_uv.cc
1852   src/core/lib/iomgr/socket_utils_windows.cc
1853   src/core/lib/iomgr/socket_windows.cc
1854   src/core/lib/iomgr/tcp_client.cc
1855   src/core/lib/iomgr/tcp_client_custom.cc
1856   src/core/lib/iomgr/tcp_client_posix.cc
1857   src/core/lib/iomgr/tcp_client_windows.cc
1858   src/core/lib/iomgr/tcp_custom.cc
1859   src/core/lib/iomgr/tcp_posix.cc
1860   src/core/lib/iomgr/tcp_server.cc
1861   src/core/lib/iomgr/tcp_server_custom.cc
1862   src/core/lib/iomgr/tcp_server_posix.cc
1863   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
1864   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
1865   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
1866   src/core/lib/iomgr/tcp_server_windows.cc
1867   src/core/lib/iomgr/tcp_uv.cc
1868   src/core/lib/iomgr/tcp_windows.cc
1869   src/core/lib/iomgr/time_averaged_stats.cc
1870   src/core/lib/iomgr/timer.cc
1871   src/core/lib/iomgr/timer_custom.cc
1872   src/core/lib/iomgr/timer_generic.cc
1873   src/core/lib/iomgr/timer_heap.cc
1874   src/core/lib/iomgr/timer_manager.cc
1875   src/core/lib/iomgr/timer_uv.cc
1876   src/core/lib/iomgr/udp_server.cc
1877   src/core/lib/iomgr/unix_sockets_posix.cc
1878   src/core/lib/iomgr/unix_sockets_posix_noop.cc
1879   src/core/lib/iomgr/wakeup_fd_cv.cc
1880   src/core/lib/iomgr/wakeup_fd_eventfd.cc
1881   src/core/lib/iomgr/wakeup_fd_nospecial.cc
1882   src/core/lib/iomgr/wakeup_fd_pipe.cc
1883   src/core/lib/iomgr/wakeup_fd_posix.cc
1884   src/core/lib/json/json.cc
1885   src/core/lib/json/json_reader.cc
1886   src/core/lib/json/json_string.cc
1887   src/core/lib/json/json_writer.cc
1888   src/core/lib/slice/b64.cc
1889   src/core/lib/slice/percent_encoding.cc
1890   src/core/lib/slice/slice.cc
1891   src/core/lib/slice/slice_buffer.cc
1892   src/core/lib/slice/slice_intern.cc
1893   src/core/lib/slice/slice_string_helpers.cc
1894   src/core/lib/surface/api_trace.cc
1895   src/core/lib/surface/byte_buffer.cc
1896   src/core/lib/surface/byte_buffer_reader.cc
1897   src/core/lib/surface/call.cc
1898   src/core/lib/surface/call_details.cc
1899   src/core/lib/surface/call_log_batch.cc
1900   src/core/lib/surface/channel.cc
1901   src/core/lib/surface/channel_init.cc
1902   src/core/lib/surface/channel_ping.cc
1903   src/core/lib/surface/channel_stack_type.cc
1904   src/core/lib/surface/completion_queue.cc
1905   src/core/lib/surface/completion_queue_factory.cc
1906   src/core/lib/surface/event_string.cc
1907   src/core/lib/surface/lame_client.cc
1908   src/core/lib/surface/metadata_array.cc
1909   src/core/lib/surface/server.cc
1910   src/core/lib/surface/validate_metadata.cc
1911   src/core/lib/surface/version.cc
1912   src/core/lib/transport/bdp_estimator.cc
1913   src/core/lib/transport/byte_stream.cc
1914   src/core/lib/transport/connectivity_state.cc
1915   src/core/lib/transport/error_utils.cc
1916   src/core/lib/transport/metadata.cc
1917   src/core/lib/transport/metadata_batch.cc
1918   src/core/lib/transport/pid_controller.cc
1919   src/core/lib/transport/service_config.cc
1920   src/core/lib/transport/static_metadata.cc
1921   src/core/lib/transport/status_conversion.cc
1922   src/core/lib/transport/status_metadata.cc
1923   src/core/lib/transport/timeout_encoding.cc
1924   src/core/lib/transport/transport.cc
1925   src/core/lib/transport/transport_op_string.cc
1926   src/core/lib/uri/uri_parser.cc
1927   src/core/lib/debug/trace.cc
1928   src/core/ext/filters/client_channel/backup_poller.cc
1929   src/core/ext/filters/client_channel/channel_connectivity.cc
1930   src/core/ext/filters/client_channel/client_channel.cc
1931   src/core/ext/filters/client_channel/client_channel_channelz.cc
1932   src/core/ext/filters/client_channel/client_channel_factory.cc
1933   src/core/ext/filters/client_channel/client_channel_plugin.cc
1934   src/core/ext/filters/client_channel/connector.cc
1935   src/core/ext/filters/client_channel/health/health_check_client.cc
1936   src/core/ext/filters/client_channel/http_connect_handshaker.cc
1937   src/core/ext/filters/client_channel/http_proxy.cc
1938   src/core/ext/filters/client_channel/lb_policy.cc
1939   src/core/ext/filters/client_channel/lb_policy_registry.cc
1940   src/core/ext/filters/client_channel/parse_address.cc
1941   src/core/ext/filters/client_channel/proxy_mapper.cc
1942   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
1943   src/core/ext/filters/client_channel/request_routing.cc
1944   src/core/ext/filters/client_channel/resolver.cc
1945   src/core/ext/filters/client_channel/resolver_registry.cc
1946   src/core/ext/filters/client_channel/resolver_result_parsing.cc
1947   src/core/ext/filters/client_channel/retry_throttle.cc
1948   src/core/ext/filters/client_channel/server_address.cc
1949   src/core/ext/filters/client_channel/subchannel.cc
1950   src/core/ext/filters/client_channel/subchannel_index.cc
1951   src/core/ext/filters/deadline/deadline_filter.cc
1952   src/core/ext/filters/client_channel/health/health.pb.c
1953   third_party/nanopb/pb_common.c
1954   third_party/nanopb/pb_decode.c
1955   third_party/nanopb/pb_encode.c
1956   src/core/ext/transport/chttp2/transport/bin_decoder.cc
1957   src/core/ext/transport/chttp2/transport/bin_encoder.cc
1958   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
1959   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
1960   src/core/ext/transport/chttp2/transport/context_list.cc
1961   src/core/ext/transport/chttp2/transport/flow_control.cc
1962   src/core/ext/transport/chttp2/transport/frame_data.cc
1963   src/core/ext/transport/chttp2/transport/frame_goaway.cc
1964   src/core/ext/transport/chttp2/transport/frame_ping.cc
1965   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
1966   src/core/ext/transport/chttp2/transport/frame_settings.cc
1967   src/core/ext/transport/chttp2/transport/frame_window_update.cc
1968   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
1969   src/core/ext/transport/chttp2/transport/hpack_parser.cc
1970   src/core/ext/transport/chttp2/transport/hpack_table.cc
1971   src/core/ext/transport/chttp2/transport/http2_settings.cc
1972   src/core/ext/transport/chttp2/transport/huffsyms.cc
1973   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
1974   src/core/ext/transport/chttp2/transport/parsing.cc
1975   src/core/ext/transport/chttp2/transport/stream_lists.cc
1976   src/core/ext/transport/chttp2/transport/stream_map.cc
1977   src/core/ext/transport/chttp2/transport/varint.cc
1978   src/core/ext/transport/chttp2/transport/writing.cc
1979   src/core/ext/transport/chttp2/alpn/alpn.cc
1980   src/core/ext/filters/http/client/http_client_filter.cc
1981   src/core/ext/filters/http/http_filters_plugin.cc
1982   src/core/ext/filters/http/message_compress/message_compress_filter.cc
1983   src/core/ext/filters/http/server/http_server_filter.cc
1984 )
1985
1986 if(WIN32 AND MSVC)
1987   set_target_properties(grpc_test_util PROPERTIES COMPILE_PDB_NAME "grpc_test_util"
1988     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
1989   )
1990   if (gRPC_INSTALL)
1991     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_test_util.pdb
1992       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
1993     )
1994   endif()
1995 endif()
1996
1997
1998 target_include_directories(grpc_test_util
1999   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2000   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2001   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2002   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2003   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2004   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2005   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2006   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2007   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2008   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2009 )
2010   # avoid dependency on libstdc++
2011   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2012     set_target_properties(grpc_test_util PROPERTIES LINKER_LANGUAGE C)
2013     # only use the flags for C++ source files
2014     target_compile_options(grpc_test_util PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2015   endif()
2016 target_link_libraries(grpc_test_util
2017   ${_gRPC_ALLTARGETS_LIBRARIES}
2018   gpr
2019   grpc
2020 )
2021
2022 foreach(_hdr
2023   include/grpc/support/alloc.h
2024   include/grpc/support/atm.h
2025   include/grpc/support/atm_gcc_atomic.h
2026   include/grpc/support/atm_gcc_sync.h
2027   include/grpc/support/atm_windows.h
2028   include/grpc/support/cpu.h
2029   include/grpc/support/log.h
2030   include/grpc/support/log_windows.h
2031   include/grpc/support/port_platform.h
2032   include/grpc/support/string_util.h
2033   include/grpc/support/sync.h
2034   include/grpc/support/sync_custom.h
2035   include/grpc/support/sync_generic.h
2036   include/grpc/support/sync_posix.h
2037   include/grpc/support/sync_windows.h
2038   include/grpc/support/thd_id.h
2039   include/grpc/support/time.h
2040   include/grpc/impl/codegen/atm.h
2041   include/grpc/impl/codegen/atm_gcc_atomic.h
2042   include/grpc/impl/codegen/atm_gcc_sync.h
2043   include/grpc/impl/codegen/atm_windows.h
2044   include/grpc/impl/codegen/fork.h
2045   include/grpc/impl/codegen/gpr_slice.h
2046   include/grpc/impl/codegen/gpr_types.h
2047   include/grpc/impl/codegen/log.h
2048   include/grpc/impl/codegen/port_platform.h
2049   include/grpc/impl/codegen/sync.h
2050   include/grpc/impl/codegen/sync_custom.h
2051   include/grpc/impl/codegen/sync_generic.h
2052   include/grpc/impl/codegen/sync_posix.h
2053   include/grpc/impl/codegen/sync_windows.h
2054   include/grpc/impl/codegen/byte_buffer.h
2055   include/grpc/impl/codegen/byte_buffer_reader.h
2056   include/grpc/impl/codegen/compression_types.h
2057   include/grpc/impl/codegen/connectivity_state.h
2058   include/grpc/impl/codegen/grpc_types.h
2059   include/grpc/impl/codegen/propagation_bits.h
2060   include/grpc/impl/codegen/slice.h
2061   include/grpc/impl/codegen/status.h
2062 )
2063   string(REPLACE "include/" "" _path ${_hdr})
2064   get_filename_component(_path ${_path} PATH)
2065   install(FILES ${_hdr}
2066     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
2067   )
2068 endforeach()
2069
2070 endif (gRPC_BUILD_TESTS)
2071 if (gRPC_BUILD_TESTS)
2072
2073 add_library(grpc_test_util_unsecure
2074   src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
2075   test/core/end2end/cq_verifier.cc
2076   test/core/end2end/fixtures/http_proxy_fixture.cc
2077   test/core/end2end/fixtures/local_util.cc
2078   test/core/end2end/fixtures/proxy.cc
2079   test/core/iomgr/endpoint_tests.cc
2080   test/core/util/debugger_macros.cc
2081   test/core/util/fuzzer_util.cc
2082   test/core/util/grpc_profiler.cc
2083   test/core/util/histogram.cc
2084   test/core/util/memory_counters.cc
2085   test/core/util/mock_endpoint.cc
2086   test/core/util/parse_hexstring.cc
2087   test/core/util/passthru_endpoint.cc
2088   test/core/util/port.cc
2089   test/core/util/port_isolated_runtime_environment.cc
2090   test/core/util/port_server_client.cc
2091   test/core/util/slice_splitter.cc
2092   test/core/util/subprocess_posix.cc
2093   test/core/util/subprocess_windows.cc
2094   test/core/util/test_config.cc
2095   test/core/util/tracer_util.cc
2096   test/core/util/trickle_endpoint.cc
2097   test/core/util/cmdline.cc
2098   src/core/lib/avl/avl.cc
2099   src/core/lib/backoff/backoff.cc
2100   src/core/lib/channel/channel_args.cc
2101   src/core/lib/channel/channel_stack.cc
2102   src/core/lib/channel/channel_stack_builder.cc
2103   src/core/lib/channel/channel_trace.cc
2104   src/core/lib/channel/channelz.cc
2105   src/core/lib/channel/channelz_registry.cc
2106   src/core/lib/channel/connected_channel.cc
2107   src/core/lib/channel/handshaker.cc
2108   src/core/lib/channel/handshaker_factory.cc
2109   src/core/lib/channel/handshaker_registry.cc
2110   src/core/lib/channel/status_util.cc
2111   src/core/lib/compression/compression.cc
2112   src/core/lib/compression/compression_internal.cc
2113   src/core/lib/compression/message_compress.cc
2114   src/core/lib/compression/stream_compression.cc
2115   src/core/lib/compression/stream_compression_gzip.cc
2116   src/core/lib/compression/stream_compression_identity.cc
2117   src/core/lib/debug/stats.cc
2118   src/core/lib/debug/stats_data.cc
2119   src/core/lib/http/format_request.cc
2120   src/core/lib/http/httpcli.cc
2121   src/core/lib/http/parser.cc
2122   src/core/lib/iomgr/buffer_list.cc
2123   src/core/lib/iomgr/call_combiner.cc
2124   src/core/lib/iomgr/combiner.cc
2125   src/core/lib/iomgr/endpoint.cc
2126   src/core/lib/iomgr/endpoint_pair_posix.cc
2127   src/core/lib/iomgr/endpoint_pair_uv.cc
2128   src/core/lib/iomgr/endpoint_pair_windows.cc
2129   src/core/lib/iomgr/error.cc
2130   src/core/lib/iomgr/ev_epoll1_linux.cc
2131   src/core/lib/iomgr/ev_epollex_linux.cc
2132   src/core/lib/iomgr/ev_poll_posix.cc
2133   src/core/lib/iomgr/ev_posix.cc
2134   src/core/lib/iomgr/ev_windows.cc
2135   src/core/lib/iomgr/exec_ctx.cc
2136   src/core/lib/iomgr/executor.cc
2137   src/core/lib/iomgr/fork_posix.cc
2138   src/core/lib/iomgr/fork_windows.cc
2139   src/core/lib/iomgr/gethostname_fallback.cc
2140   src/core/lib/iomgr/gethostname_host_name_max.cc
2141   src/core/lib/iomgr/gethostname_sysconf.cc
2142   src/core/lib/iomgr/internal_errqueue.cc
2143   src/core/lib/iomgr/iocp_windows.cc
2144   src/core/lib/iomgr/iomgr.cc
2145   src/core/lib/iomgr/iomgr_custom.cc
2146   src/core/lib/iomgr/iomgr_internal.cc
2147   src/core/lib/iomgr/iomgr_posix.cc
2148   src/core/lib/iomgr/iomgr_uv.cc
2149   src/core/lib/iomgr/iomgr_windows.cc
2150   src/core/lib/iomgr/is_epollexclusive_available.cc
2151   src/core/lib/iomgr/load_file.cc
2152   src/core/lib/iomgr/lockfree_event.cc
2153   src/core/lib/iomgr/network_status_tracker.cc
2154   src/core/lib/iomgr/polling_entity.cc
2155   src/core/lib/iomgr/pollset.cc
2156   src/core/lib/iomgr/pollset_custom.cc
2157   src/core/lib/iomgr/pollset_set.cc
2158   src/core/lib/iomgr/pollset_set_custom.cc
2159   src/core/lib/iomgr/pollset_set_windows.cc
2160   src/core/lib/iomgr/pollset_uv.cc
2161   src/core/lib/iomgr/pollset_windows.cc
2162   src/core/lib/iomgr/resolve_address.cc
2163   src/core/lib/iomgr/resolve_address_custom.cc
2164   src/core/lib/iomgr/resolve_address_posix.cc
2165   src/core/lib/iomgr/resolve_address_windows.cc
2166   src/core/lib/iomgr/resource_quota.cc
2167   src/core/lib/iomgr/sockaddr_utils.cc
2168   src/core/lib/iomgr/socket_factory_posix.cc
2169   src/core/lib/iomgr/socket_mutator.cc
2170   src/core/lib/iomgr/socket_utils_common_posix.cc
2171   src/core/lib/iomgr/socket_utils_linux.cc
2172   src/core/lib/iomgr/socket_utils_posix.cc
2173   src/core/lib/iomgr/socket_utils_uv.cc
2174   src/core/lib/iomgr/socket_utils_windows.cc
2175   src/core/lib/iomgr/socket_windows.cc
2176   src/core/lib/iomgr/tcp_client.cc
2177   src/core/lib/iomgr/tcp_client_custom.cc
2178   src/core/lib/iomgr/tcp_client_posix.cc
2179   src/core/lib/iomgr/tcp_client_windows.cc
2180   src/core/lib/iomgr/tcp_custom.cc
2181   src/core/lib/iomgr/tcp_posix.cc
2182   src/core/lib/iomgr/tcp_server.cc
2183   src/core/lib/iomgr/tcp_server_custom.cc
2184   src/core/lib/iomgr/tcp_server_posix.cc
2185   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
2186   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
2187   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
2188   src/core/lib/iomgr/tcp_server_windows.cc
2189   src/core/lib/iomgr/tcp_uv.cc
2190   src/core/lib/iomgr/tcp_windows.cc
2191   src/core/lib/iomgr/time_averaged_stats.cc
2192   src/core/lib/iomgr/timer.cc
2193   src/core/lib/iomgr/timer_custom.cc
2194   src/core/lib/iomgr/timer_generic.cc
2195   src/core/lib/iomgr/timer_heap.cc
2196   src/core/lib/iomgr/timer_manager.cc
2197   src/core/lib/iomgr/timer_uv.cc
2198   src/core/lib/iomgr/udp_server.cc
2199   src/core/lib/iomgr/unix_sockets_posix.cc
2200   src/core/lib/iomgr/unix_sockets_posix_noop.cc
2201   src/core/lib/iomgr/wakeup_fd_cv.cc
2202   src/core/lib/iomgr/wakeup_fd_eventfd.cc
2203   src/core/lib/iomgr/wakeup_fd_nospecial.cc
2204   src/core/lib/iomgr/wakeup_fd_pipe.cc
2205   src/core/lib/iomgr/wakeup_fd_posix.cc
2206   src/core/lib/json/json.cc
2207   src/core/lib/json/json_reader.cc
2208   src/core/lib/json/json_string.cc
2209   src/core/lib/json/json_writer.cc
2210   src/core/lib/slice/b64.cc
2211   src/core/lib/slice/percent_encoding.cc
2212   src/core/lib/slice/slice.cc
2213   src/core/lib/slice/slice_buffer.cc
2214   src/core/lib/slice/slice_intern.cc
2215   src/core/lib/slice/slice_string_helpers.cc
2216   src/core/lib/surface/api_trace.cc
2217   src/core/lib/surface/byte_buffer.cc
2218   src/core/lib/surface/byte_buffer_reader.cc
2219   src/core/lib/surface/call.cc
2220   src/core/lib/surface/call_details.cc
2221   src/core/lib/surface/call_log_batch.cc
2222   src/core/lib/surface/channel.cc
2223   src/core/lib/surface/channel_init.cc
2224   src/core/lib/surface/channel_ping.cc
2225   src/core/lib/surface/channel_stack_type.cc
2226   src/core/lib/surface/completion_queue.cc
2227   src/core/lib/surface/completion_queue_factory.cc
2228   src/core/lib/surface/event_string.cc
2229   src/core/lib/surface/lame_client.cc
2230   src/core/lib/surface/metadata_array.cc
2231   src/core/lib/surface/server.cc
2232   src/core/lib/surface/validate_metadata.cc
2233   src/core/lib/surface/version.cc
2234   src/core/lib/transport/bdp_estimator.cc
2235   src/core/lib/transport/byte_stream.cc
2236   src/core/lib/transport/connectivity_state.cc
2237   src/core/lib/transport/error_utils.cc
2238   src/core/lib/transport/metadata.cc
2239   src/core/lib/transport/metadata_batch.cc
2240   src/core/lib/transport/pid_controller.cc
2241   src/core/lib/transport/service_config.cc
2242   src/core/lib/transport/static_metadata.cc
2243   src/core/lib/transport/status_conversion.cc
2244   src/core/lib/transport/status_metadata.cc
2245   src/core/lib/transport/timeout_encoding.cc
2246   src/core/lib/transport/transport.cc
2247   src/core/lib/transport/transport_op_string.cc
2248   src/core/lib/uri/uri_parser.cc
2249   src/core/lib/debug/trace.cc
2250   src/core/ext/filters/client_channel/backup_poller.cc
2251   src/core/ext/filters/client_channel/channel_connectivity.cc
2252   src/core/ext/filters/client_channel/client_channel.cc
2253   src/core/ext/filters/client_channel/client_channel_channelz.cc
2254   src/core/ext/filters/client_channel/client_channel_factory.cc
2255   src/core/ext/filters/client_channel/client_channel_plugin.cc
2256   src/core/ext/filters/client_channel/connector.cc
2257   src/core/ext/filters/client_channel/health/health_check_client.cc
2258   src/core/ext/filters/client_channel/http_connect_handshaker.cc
2259   src/core/ext/filters/client_channel/http_proxy.cc
2260   src/core/ext/filters/client_channel/lb_policy.cc
2261   src/core/ext/filters/client_channel/lb_policy_registry.cc
2262   src/core/ext/filters/client_channel/parse_address.cc
2263   src/core/ext/filters/client_channel/proxy_mapper.cc
2264   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
2265   src/core/ext/filters/client_channel/request_routing.cc
2266   src/core/ext/filters/client_channel/resolver.cc
2267   src/core/ext/filters/client_channel/resolver_registry.cc
2268   src/core/ext/filters/client_channel/resolver_result_parsing.cc
2269   src/core/ext/filters/client_channel/retry_throttle.cc
2270   src/core/ext/filters/client_channel/server_address.cc
2271   src/core/ext/filters/client_channel/subchannel.cc
2272   src/core/ext/filters/client_channel/subchannel_index.cc
2273   src/core/ext/filters/deadline/deadline_filter.cc
2274   src/core/ext/filters/client_channel/health/health.pb.c
2275   third_party/nanopb/pb_common.c
2276   third_party/nanopb/pb_decode.c
2277   third_party/nanopb/pb_encode.c
2278   src/core/ext/transport/chttp2/transport/bin_decoder.cc
2279   src/core/ext/transport/chttp2/transport/bin_encoder.cc
2280   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
2281   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
2282   src/core/ext/transport/chttp2/transport/context_list.cc
2283   src/core/ext/transport/chttp2/transport/flow_control.cc
2284   src/core/ext/transport/chttp2/transport/frame_data.cc
2285   src/core/ext/transport/chttp2/transport/frame_goaway.cc
2286   src/core/ext/transport/chttp2/transport/frame_ping.cc
2287   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
2288   src/core/ext/transport/chttp2/transport/frame_settings.cc
2289   src/core/ext/transport/chttp2/transport/frame_window_update.cc
2290   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
2291   src/core/ext/transport/chttp2/transport/hpack_parser.cc
2292   src/core/ext/transport/chttp2/transport/hpack_table.cc
2293   src/core/ext/transport/chttp2/transport/http2_settings.cc
2294   src/core/ext/transport/chttp2/transport/huffsyms.cc
2295   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
2296   src/core/ext/transport/chttp2/transport/parsing.cc
2297   src/core/ext/transport/chttp2/transport/stream_lists.cc
2298   src/core/ext/transport/chttp2/transport/stream_map.cc
2299   src/core/ext/transport/chttp2/transport/varint.cc
2300   src/core/ext/transport/chttp2/transport/writing.cc
2301   src/core/ext/transport/chttp2/alpn/alpn.cc
2302   src/core/ext/filters/http/client/http_client_filter.cc
2303   src/core/ext/filters/http/http_filters_plugin.cc
2304   src/core/ext/filters/http/message_compress/message_compress_filter.cc
2305   src/core/ext/filters/http/server/http_server_filter.cc
2306 )
2307
2308 if(WIN32 AND MSVC)
2309   set_target_properties(grpc_test_util_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_test_util_unsecure"
2310     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2311   )
2312   if (gRPC_INSTALL)
2313     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_test_util_unsecure.pdb
2314       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2315     )
2316   endif()
2317 endif()
2318
2319
2320 target_include_directories(grpc_test_util_unsecure
2321   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2322   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2323   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2324   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2325   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2326   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2327   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2328   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2329   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2330   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2331 )
2332   # avoid dependency on libstdc++
2333   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2334     set_target_properties(grpc_test_util_unsecure PROPERTIES LINKER_LANGUAGE C)
2335     # only use the flags for C++ source files
2336     target_compile_options(grpc_test_util_unsecure PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2337   endif()
2338 target_link_libraries(grpc_test_util_unsecure
2339   ${_gRPC_ALLTARGETS_LIBRARIES}
2340   gpr
2341   grpc_unsecure
2342 )
2343
2344 foreach(_hdr
2345   include/grpc/support/alloc.h
2346   include/grpc/support/atm.h
2347   include/grpc/support/atm_gcc_atomic.h
2348   include/grpc/support/atm_gcc_sync.h
2349   include/grpc/support/atm_windows.h
2350   include/grpc/support/cpu.h
2351   include/grpc/support/log.h
2352   include/grpc/support/log_windows.h
2353   include/grpc/support/port_platform.h
2354   include/grpc/support/string_util.h
2355   include/grpc/support/sync.h
2356   include/grpc/support/sync_custom.h
2357   include/grpc/support/sync_generic.h
2358   include/grpc/support/sync_posix.h
2359   include/grpc/support/sync_windows.h
2360   include/grpc/support/thd_id.h
2361   include/grpc/support/time.h
2362   include/grpc/impl/codegen/atm.h
2363   include/grpc/impl/codegen/atm_gcc_atomic.h
2364   include/grpc/impl/codegen/atm_gcc_sync.h
2365   include/grpc/impl/codegen/atm_windows.h
2366   include/grpc/impl/codegen/fork.h
2367   include/grpc/impl/codegen/gpr_slice.h
2368   include/grpc/impl/codegen/gpr_types.h
2369   include/grpc/impl/codegen/log.h
2370   include/grpc/impl/codegen/port_platform.h
2371   include/grpc/impl/codegen/sync.h
2372   include/grpc/impl/codegen/sync_custom.h
2373   include/grpc/impl/codegen/sync_generic.h
2374   include/grpc/impl/codegen/sync_posix.h
2375   include/grpc/impl/codegen/sync_windows.h
2376   include/grpc/impl/codegen/byte_buffer.h
2377   include/grpc/impl/codegen/byte_buffer_reader.h
2378   include/grpc/impl/codegen/compression_types.h
2379   include/grpc/impl/codegen/connectivity_state.h
2380   include/grpc/impl/codegen/grpc_types.h
2381   include/grpc/impl/codegen/propagation_bits.h
2382   include/grpc/impl/codegen/slice.h
2383   include/grpc/impl/codegen/status.h
2384 )
2385   string(REPLACE "include/" "" _path ${_hdr})
2386   get_filename_component(_path ${_path} PATH)
2387   install(FILES ${_hdr}
2388     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
2389   )
2390 endforeach()
2391
2392 endif (gRPC_BUILD_TESTS)
2393
2394 add_library(grpc_unsecure
2395   src/core/lib/surface/init.cc
2396   src/core/lib/surface/init_unsecure.cc
2397   src/core/lib/avl/avl.cc
2398   src/core/lib/backoff/backoff.cc
2399   src/core/lib/channel/channel_args.cc
2400   src/core/lib/channel/channel_stack.cc
2401   src/core/lib/channel/channel_stack_builder.cc
2402   src/core/lib/channel/channel_trace.cc
2403   src/core/lib/channel/channelz.cc
2404   src/core/lib/channel/channelz_registry.cc
2405   src/core/lib/channel/connected_channel.cc
2406   src/core/lib/channel/handshaker.cc
2407   src/core/lib/channel/handshaker_factory.cc
2408   src/core/lib/channel/handshaker_registry.cc
2409   src/core/lib/channel/status_util.cc
2410   src/core/lib/compression/compression.cc
2411   src/core/lib/compression/compression_internal.cc
2412   src/core/lib/compression/message_compress.cc
2413   src/core/lib/compression/stream_compression.cc
2414   src/core/lib/compression/stream_compression_gzip.cc
2415   src/core/lib/compression/stream_compression_identity.cc
2416   src/core/lib/debug/stats.cc
2417   src/core/lib/debug/stats_data.cc
2418   src/core/lib/http/format_request.cc
2419   src/core/lib/http/httpcli.cc
2420   src/core/lib/http/parser.cc
2421   src/core/lib/iomgr/buffer_list.cc
2422   src/core/lib/iomgr/call_combiner.cc
2423   src/core/lib/iomgr/combiner.cc
2424   src/core/lib/iomgr/endpoint.cc
2425   src/core/lib/iomgr/endpoint_pair_posix.cc
2426   src/core/lib/iomgr/endpoint_pair_uv.cc
2427   src/core/lib/iomgr/endpoint_pair_windows.cc
2428   src/core/lib/iomgr/error.cc
2429   src/core/lib/iomgr/ev_epoll1_linux.cc
2430   src/core/lib/iomgr/ev_epollex_linux.cc
2431   src/core/lib/iomgr/ev_poll_posix.cc
2432   src/core/lib/iomgr/ev_posix.cc
2433   src/core/lib/iomgr/ev_windows.cc
2434   src/core/lib/iomgr/exec_ctx.cc
2435   src/core/lib/iomgr/executor.cc
2436   src/core/lib/iomgr/fork_posix.cc
2437   src/core/lib/iomgr/fork_windows.cc
2438   src/core/lib/iomgr/gethostname_fallback.cc
2439   src/core/lib/iomgr/gethostname_host_name_max.cc
2440   src/core/lib/iomgr/gethostname_sysconf.cc
2441   src/core/lib/iomgr/internal_errqueue.cc
2442   src/core/lib/iomgr/iocp_windows.cc
2443   src/core/lib/iomgr/iomgr.cc
2444   src/core/lib/iomgr/iomgr_custom.cc
2445   src/core/lib/iomgr/iomgr_internal.cc
2446   src/core/lib/iomgr/iomgr_posix.cc
2447   src/core/lib/iomgr/iomgr_uv.cc
2448   src/core/lib/iomgr/iomgr_windows.cc
2449   src/core/lib/iomgr/is_epollexclusive_available.cc
2450   src/core/lib/iomgr/load_file.cc
2451   src/core/lib/iomgr/lockfree_event.cc
2452   src/core/lib/iomgr/network_status_tracker.cc
2453   src/core/lib/iomgr/polling_entity.cc
2454   src/core/lib/iomgr/pollset.cc
2455   src/core/lib/iomgr/pollset_custom.cc
2456   src/core/lib/iomgr/pollset_set.cc
2457   src/core/lib/iomgr/pollset_set_custom.cc
2458   src/core/lib/iomgr/pollset_set_windows.cc
2459   src/core/lib/iomgr/pollset_uv.cc
2460   src/core/lib/iomgr/pollset_windows.cc
2461   src/core/lib/iomgr/resolve_address.cc
2462   src/core/lib/iomgr/resolve_address_custom.cc
2463   src/core/lib/iomgr/resolve_address_posix.cc
2464   src/core/lib/iomgr/resolve_address_windows.cc
2465   src/core/lib/iomgr/resource_quota.cc
2466   src/core/lib/iomgr/sockaddr_utils.cc
2467   src/core/lib/iomgr/socket_factory_posix.cc
2468   src/core/lib/iomgr/socket_mutator.cc
2469   src/core/lib/iomgr/socket_utils_common_posix.cc
2470   src/core/lib/iomgr/socket_utils_linux.cc
2471   src/core/lib/iomgr/socket_utils_posix.cc
2472   src/core/lib/iomgr/socket_utils_uv.cc
2473   src/core/lib/iomgr/socket_utils_windows.cc
2474   src/core/lib/iomgr/socket_windows.cc
2475   src/core/lib/iomgr/tcp_client.cc
2476   src/core/lib/iomgr/tcp_client_custom.cc
2477   src/core/lib/iomgr/tcp_client_posix.cc
2478   src/core/lib/iomgr/tcp_client_windows.cc
2479   src/core/lib/iomgr/tcp_custom.cc
2480   src/core/lib/iomgr/tcp_posix.cc
2481   src/core/lib/iomgr/tcp_server.cc
2482   src/core/lib/iomgr/tcp_server_custom.cc
2483   src/core/lib/iomgr/tcp_server_posix.cc
2484   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
2485   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
2486   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
2487   src/core/lib/iomgr/tcp_server_windows.cc
2488   src/core/lib/iomgr/tcp_uv.cc
2489   src/core/lib/iomgr/tcp_windows.cc
2490   src/core/lib/iomgr/time_averaged_stats.cc
2491   src/core/lib/iomgr/timer.cc
2492   src/core/lib/iomgr/timer_custom.cc
2493   src/core/lib/iomgr/timer_generic.cc
2494   src/core/lib/iomgr/timer_heap.cc
2495   src/core/lib/iomgr/timer_manager.cc
2496   src/core/lib/iomgr/timer_uv.cc
2497   src/core/lib/iomgr/udp_server.cc
2498   src/core/lib/iomgr/unix_sockets_posix.cc
2499   src/core/lib/iomgr/unix_sockets_posix_noop.cc
2500   src/core/lib/iomgr/wakeup_fd_cv.cc
2501   src/core/lib/iomgr/wakeup_fd_eventfd.cc
2502   src/core/lib/iomgr/wakeup_fd_nospecial.cc
2503   src/core/lib/iomgr/wakeup_fd_pipe.cc
2504   src/core/lib/iomgr/wakeup_fd_posix.cc
2505   src/core/lib/json/json.cc
2506   src/core/lib/json/json_reader.cc
2507   src/core/lib/json/json_string.cc
2508   src/core/lib/json/json_writer.cc
2509   src/core/lib/slice/b64.cc
2510   src/core/lib/slice/percent_encoding.cc
2511   src/core/lib/slice/slice.cc
2512   src/core/lib/slice/slice_buffer.cc
2513   src/core/lib/slice/slice_intern.cc
2514   src/core/lib/slice/slice_string_helpers.cc
2515   src/core/lib/surface/api_trace.cc
2516   src/core/lib/surface/byte_buffer.cc
2517   src/core/lib/surface/byte_buffer_reader.cc
2518   src/core/lib/surface/call.cc
2519   src/core/lib/surface/call_details.cc
2520   src/core/lib/surface/call_log_batch.cc
2521   src/core/lib/surface/channel.cc
2522   src/core/lib/surface/channel_init.cc
2523   src/core/lib/surface/channel_ping.cc
2524   src/core/lib/surface/channel_stack_type.cc
2525   src/core/lib/surface/completion_queue.cc
2526   src/core/lib/surface/completion_queue_factory.cc
2527   src/core/lib/surface/event_string.cc
2528   src/core/lib/surface/lame_client.cc
2529   src/core/lib/surface/metadata_array.cc
2530   src/core/lib/surface/server.cc
2531   src/core/lib/surface/validate_metadata.cc
2532   src/core/lib/surface/version.cc
2533   src/core/lib/transport/bdp_estimator.cc
2534   src/core/lib/transport/byte_stream.cc
2535   src/core/lib/transport/connectivity_state.cc
2536   src/core/lib/transport/error_utils.cc
2537   src/core/lib/transport/metadata.cc
2538   src/core/lib/transport/metadata_batch.cc
2539   src/core/lib/transport/pid_controller.cc
2540   src/core/lib/transport/service_config.cc
2541   src/core/lib/transport/static_metadata.cc
2542   src/core/lib/transport/status_conversion.cc
2543   src/core/lib/transport/status_metadata.cc
2544   src/core/lib/transport/timeout_encoding.cc
2545   src/core/lib/transport/transport.cc
2546   src/core/lib/transport/transport_op_string.cc
2547   src/core/lib/uri/uri_parser.cc
2548   src/core/lib/debug/trace.cc
2549   src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
2550   src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
2551   src/core/ext/transport/chttp2/transport/bin_decoder.cc
2552   src/core/ext/transport/chttp2/transport/bin_encoder.cc
2553   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
2554   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
2555   src/core/ext/transport/chttp2/transport/context_list.cc
2556   src/core/ext/transport/chttp2/transport/flow_control.cc
2557   src/core/ext/transport/chttp2/transport/frame_data.cc
2558   src/core/ext/transport/chttp2/transport/frame_goaway.cc
2559   src/core/ext/transport/chttp2/transport/frame_ping.cc
2560   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
2561   src/core/ext/transport/chttp2/transport/frame_settings.cc
2562   src/core/ext/transport/chttp2/transport/frame_window_update.cc
2563   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
2564   src/core/ext/transport/chttp2/transport/hpack_parser.cc
2565   src/core/ext/transport/chttp2/transport/hpack_table.cc
2566   src/core/ext/transport/chttp2/transport/http2_settings.cc
2567   src/core/ext/transport/chttp2/transport/huffsyms.cc
2568   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
2569   src/core/ext/transport/chttp2/transport/parsing.cc
2570   src/core/ext/transport/chttp2/transport/stream_lists.cc
2571   src/core/ext/transport/chttp2/transport/stream_map.cc
2572   src/core/ext/transport/chttp2/transport/varint.cc
2573   src/core/ext/transport/chttp2/transport/writing.cc
2574   src/core/ext/transport/chttp2/alpn/alpn.cc
2575   src/core/ext/filters/http/client/http_client_filter.cc
2576   src/core/ext/filters/http/http_filters_plugin.cc
2577   src/core/ext/filters/http/message_compress/message_compress_filter.cc
2578   src/core/ext/filters/http/server/http_server_filter.cc
2579   src/core/ext/transport/chttp2/server/chttp2_server.cc
2580   src/core/ext/transport/chttp2/client/insecure/channel_create.cc
2581   src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
2582   src/core/ext/transport/chttp2/client/authority.cc
2583   src/core/ext/transport/chttp2/client/chttp2_connector.cc
2584   src/core/ext/filters/client_channel/backup_poller.cc
2585   src/core/ext/filters/client_channel/channel_connectivity.cc
2586   src/core/ext/filters/client_channel/client_channel.cc
2587   src/core/ext/filters/client_channel/client_channel_channelz.cc
2588   src/core/ext/filters/client_channel/client_channel_factory.cc
2589   src/core/ext/filters/client_channel/client_channel_plugin.cc
2590   src/core/ext/filters/client_channel/connector.cc
2591   src/core/ext/filters/client_channel/health/health_check_client.cc
2592   src/core/ext/filters/client_channel/http_connect_handshaker.cc
2593   src/core/ext/filters/client_channel/http_proxy.cc
2594   src/core/ext/filters/client_channel/lb_policy.cc
2595   src/core/ext/filters/client_channel/lb_policy_registry.cc
2596   src/core/ext/filters/client_channel/parse_address.cc
2597   src/core/ext/filters/client_channel/proxy_mapper.cc
2598   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
2599   src/core/ext/filters/client_channel/request_routing.cc
2600   src/core/ext/filters/client_channel/resolver.cc
2601   src/core/ext/filters/client_channel/resolver_registry.cc
2602   src/core/ext/filters/client_channel/resolver_result_parsing.cc
2603   src/core/ext/filters/client_channel/retry_throttle.cc
2604   src/core/ext/filters/client_channel/server_address.cc
2605   src/core/ext/filters/client_channel/subchannel.cc
2606   src/core/ext/filters/client_channel/subchannel_index.cc
2607   src/core/ext/filters/deadline/deadline_filter.cc
2608   src/core/ext/filters/client_channel/health/health.pb.c
2609   third_party/nanopb/pb_common.c
2610   third_party/nanopb/pb_decode.c
2611   third_party/nanopb/pb_encode.c
2612   src/core/ext/transport/inproc/inproc_plugin.cc
2613   src/core/ext/transport/inproc/inproc_transport.cc
2614   src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
2615   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc
2616   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
2617   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc
2618   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
2619   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc
2620   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc
2621   src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc
2622   src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc
2623   src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
2624   src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
2625   src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
2626   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
2627   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc
2628   src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
2629   src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
2630   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c
2631   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c
2632   src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c
2633   src/core/ext/filters/client_channel/lb_policy/xds/xds.cc
2634   src/core/ext/filters/client_channel/lb_policy/xds/xds_channel.cc
2635   src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.cc
2636   src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.cc
2637   src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
2638   src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
2639   src/core/ext/filters/census/grpc_context.cc
2640   src/core/ext/filters/max_age/max_age_filter.cc
2641   src/core/ext/filters/message_size/message_size_filter.cc
2642   src/core/ext/filters/http/client_authority_filter.cc
2643   src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc
2644   src/core/ext/filters/workarounds/workaround_utils.cc
2645   src/core/plugin_registry/grpc_unsecure_plugin_registry.cc
2646 )
2647
2648 if(WIN32 AND MSVC)
2649   set_target_properties(grpc_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_unsecure"
2650     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2651   )
2652   if (gRPC_INSTALL)
2653     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_unsecure.pdb
2654       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2655     )
2656   endif()
2657 endif()
2658
2659
2660 target_include_directories(grpc_unsecure
2661   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2662   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2663   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2664   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2665   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2666   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2667   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2668   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2669   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2670   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2671 )
2672   # avoid dependency on libstdc++
2673   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2674     set_target_properties(grpc_unsecure PROPERTIES LINKER_LANGUAGE C)
2675     # only use the flags for C++ source files
2676     target_compile_options(grpc_unsecure PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2677   endif()
2678 target_link_libraries(grpc_unsecure
2679   ${_gRPC_BASELIB_LIBRARIES}
2680   ${_gRPC_ZLIB_LIBRARIES}
2681   ${_gRPC_CARES_LIBRARIES}
2682   ${_gRPC_ADDRESS_SORTING_LIBRARIES}
2683   ${_gRPC_ALLTARGETS_LIBRARIES}
2684   gpr
2685 )
2686
2687 foreach(_hdr
2688   include/grpc/impl/codegen/byte_buffer.h
2689   include/grpc/impl/codegen/byte_buffer_reader.h
2690   include/grpc/impl/codegen/compression_types.h
2691   include/grpc/impl/codegen/connectivity_state.h
2692   include/grpc/impl/codegen/grpc_types.h
2693   include/grpc/impl/codegen/propagation_bits.h
2694   include/grpc/impl/codegen/slice.h
2695   include/grpc/impl/codegen/status.h
2696   include/grpc/impl/codegen/atm.h
2697   include/grpc/impl/codegen/atm_gcc_atomic.h
2698   include/grpc/impl/codegen/atm_gcc_sync.h
2699   include/grpc/impl/codegen/atm_windows.h
2700   include/grpc/impl/codegen/fork.h
2701   include/grpc/impl/codegen/gpr_slice.h
2702   include/grpc/impl/codegen/gpr_types.h
2703   include/grpc/impl/codegen/log.h
2704   include/grpc/impl/codegen/port_platform.h
2705   include/grpc/impl/codegen/sync.h
2706   include/grpc/impl/codegen/sync_custom.h
2707   include/grpc/impl/codegen/sync_generic.h
2708   include/grpc/impl/codegen/sync_posix.h
2709   include/grpc/impl/codegen/sync_windows.h
2710   include/grpc/byte_buffer.h
2711   include/grpc/byte_buffer_reader.h
2712   include/grpc/compression.h
2713   include/grpc/fork.h
2714   include/grpc/grpc.h
2715   include/grpc/grpc_posix.h
2716   include/grpc/grpc_security_constants.h
2717   include/grpc/load_reporting.h
2718   include/grpc/slice.h
2719   include/grpc/slice_buffer.h
2720   include/grpc/status.h
2721   include/grpc/support/workaround_list.h
2722   include/grpc/census.h
2723 )
2724   string(REPLACE "include/" "" _path ${_hdr})
2725   get_filename_component(_path ${_path} PATH)
2726   install(FILES ${_hdr}
2727     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
2728   )
2729 endforeach()
2730
2731
2732 if (gRPC_INSTALL)
2733   install(TARGETS grpc_unsecure EXPORT gRPCTargets
2734     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
2735     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
2736     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
2737   )
2738 endif()
2739
2740 if (gRPC_BUILD_TESTS)
2741
2742 add_library(reconnect_server
2743   test/core/util/reconnect_server.cc
2744 )
2745
2746 if(WIN32 AND MSVC)
2747   set_target_properties(reconnect_server PROPERTIES COMPILE_PDB_NAME "reconnect_server"
2748     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2749   )
2750   if (gRPC_INSTALL)
2751     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/reconnect_server.pdb
2752       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2753     )
2754   endif()
2755 endif()
2756
2757
2758 target_include_directories(reconnect_server
2759   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2760   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2761   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2762   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2763   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2764   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2765   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2766   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2767   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2768   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2769 )
2770   # avoid dependency on libstdc++
2771   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2772     set_target_properties(reconnect_server PROPERTIES LINKER_LANGUAGE C)
2773     # only use the flags for C++ source files
2774     target_compile_options(reconnect_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2775   endif()
2776 target_link_libraries(reconnect_server
2777   ${_gRPC_ALLTARGETS_LIBRARIES}
2778   test_tcp_server
2779   grpc_test_util
2780   grpc
2781   gpr
2782 )
2783
2784
2785 endif (gRPC_BUILD_TESTS)
2786 if (gRPC_BUILD_TESTS)
2787
2788 add_library(test_tcp_server
2789   test/core/util/test_tcp_server.cc
2790 )
2791
2792 if(WIN32 AND MSVC)
2793   set_target_properties(test_tcp_server PROPERTIES COMPILE_PDB_NAME "test_tcp_server"
2794     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2795   )
2796   if (gRPC_INSTALL)
2797     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/test_tcp_server.pdb
2798       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2799     )
2800   endif()
2801 endif()
2802
2803
2804 target_include_directories(test_tcp_server
2805   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2806   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2807   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2808   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2809   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2810   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2811   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2812   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2813   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2814   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2815 )
2816   # avoid dependency on libstdc++
2817   if (_gRPC_CORE_NOSTDCXX_FLAGS)
2818     set_target_properties(test_tcp_server PROPERTIES LINKER_LANGUAGE C)
2819     # only use the flags for C++ source files
2820     target_compile_options(test_tcp_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
2821   endif()
2822 target_link_libraries(test_tcp_server
2823   ${_gRPC_ALLTARGETS_LIBRARIES}
2824   grpc_test_util
2825   grpc
2826   gpr
2827 )
2828
2829
2830 endif (gRPC_BUILD_TESTS)
2831
2832 add_library(grpc++
2833   src/cpp/client/insecure_credentials.cc
2834   src/cpp/client/secure_credentials.cc
2835   src/cpp/common/auth_property_iterator.cc
2836   src/cpp/common/secure_auth_context.cc
2837   src/cpp/common/secure_channel_arguments.cc
2838   src/cpp/common/secure_create_auth_context.cc
2839   src/cpp/server/insecure_server_credentials.cc
2840   src/cpp/server/secure_server_credentials.cc
2841   src/cpp/client/channel_cc.cc
2842   src/cpp/client/client_context.cc
2843   src/cpp/client/client_interceptor.cc
2844   src/cpp/client/create_channel.cc
2845   src/cpp/client/create_channel_internal.cc
2846   src/cpp/client/create_channel_posix.cc
2847   src/cpp/client/credentials_cc.cc
2848   src/cpp/client/generic_stub.cc
2849   src/cpp/common/alarm.cc
2850   src/cpp/common/channel_arguments.cc
2851   src/cpp/common/channel_filter.cc
2852   src/cpp/common/completion_queue_cc.cc
2853   src/cpp/common/core_codegen.cc
2854   src/cpp/common/resource_quota_cc.cc
2855   src/cpp/common/rpc_method.cc
2856   src/cpp/common/version_cc.cc
2857   src/cpp/server/async_generic_service.cc
2858   src/cpp/server/channel_argument_option.cc
2859   src/cpp/server/create_default_thread_pool.cc
2860   src/cpp/server/dynamic_thread_pool.cc
2861   src/cpp/server/health/default_health_check_service.cc
2862   src/cpp/server/health/health_check_service.cc
2863   src/cpp/server/health/health_check_service_server_builder_option.cc
2864   src/cpp/server/server_builder.cc
2865   src/cpp/server/server_cc.cc
2866   src/cpp/server/server_context.cc
2867   src/cpp/server/server_credentials.cc
2868   src/cpp/server/server_posix.cc
2869   src/cpp/thread_manager/thread_manager.cc
2870   src/cpp/util/byte_buffer_cc.cc
2871   src/cpp/util/status.cc
2872   src/cpp/util/string_ref.cc
2873   src/cpp/util/time_cc.cc
2874   src/core/ext/filters/client_channel/health/health.pb.c
2875   third_party/nanopb/pb_common.c
2876   third_party/nanopb/pb_decode.c
2877   third_party/nanopb/pb_encode.c
2878   src/cpp/codegen/codegen_init.cc
2879 )
2880
2881 if(WIN32 AND MSVC)
2882   set_target_properties(grpc++ PROPERTIES COMPILE_PDB_NAME "grpc++"
2883     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
2884   )
2885   if (gRPC_INSTALL)
2886     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++.pdb
2887       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
2888     )
2889   endif()
2890 endif()
2891
2892
2893 target_include_directories(grpc++
2894   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
2895   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2896   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
2897   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
2898   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
2899   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
2900   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
2901   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
2902   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
2903   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
2904   PRIVATE ${_gRPC_PROTO_GENS_DIR}
2905 )
2906 target_link_libraries(grpc++
2907   ${_gRPC_BASELIB_LIBRARIES}
2908   ${_gRPC_SSL_LIBRARIES}
2909   ${_gRPC_PROTOBUF_LIBRARIES}
2910   ${_gRPC_ALLTARGETS_LIBRARIES}
2911   grpc
2912   gpr
2913 )
2914
2915 foreach(_hdr
2916   include/grpc++/alarm.h
2917   include/grpc++/channel.h
2918   include/grpc++/client_context.h
2919   include/grpc++/completion_queue.h
2920   include/grpc++/create_channel.h
2921   include/grpc++/create_channel_posix.h
2922   include/grpc++/ext/health_check_service_server_builder_option.h
2923   include/grpc++/generic/async_generic_service.h
2924   include/grpc++/generic/generic_stub.h
2925   include/grpc++/grpc++.h
2926   include/grpc++/health_check_service_interface.h
2927   include/grpc++/impl/call.h
2928   include/grpc++/impl/channel_argument_option.h
2929   include/grpc++/impl/client_unary_call.h
2930   include/grpc++/impl/codegen/core_codegen.h
2931   include/grpc++/impl/grpc_library.h
2932   include/grpc++/impl/method_handler_impl.h
2933   include/grpc++/impl/rpc_method.h
2934   include/grpc++/impl/rpc_service_method.h
2935   include/grpc++/impl/serialization_traits.h
2936   include/grpc++/impl/server_builder_option.h
2937   include/grpc++/impl/server_builder_plugin.h
2938   include/grpc++/impl/server_initializer.h
2939   include/grpc++/impl/service_type.h
2940   include/grpc++/resource_quota.h
2941   include/grpc++/security/auth_context.h
2942   include/grpc++/security/auth_metadata_processor.h
2943   include/grpc++/security/credentials.h
2944   include/grpc++/security/server_credentials.h
2945   include/grpc++/server.h
2946   include/grpc++/server_builder.h
2947   include/grpc++/server_context.h
2948   include/grpc++/server_posix.h
2949   include/grpc++/support/async_stream.h
2950   include/grpc++/support/async_unary_call.h
2951   include/grpc++/support/byte_buffer.h
2952   include/grpc++/support/channel_arguments.h
2953   include/grpc++/support/config.h
2954   include/grpc++/support/slice.h
2955   include/grpc++/support/status.h
2956   include/grpc++/support/status_code_enum.h
2957   include/grpc++/support/string_ref.h
2958   include/grpc++/support/stub_options.h
2959   include/grpc++/support/sync_stream.h
2960   include/grpc++/support/time.h
2961   include/grpcpp/alarm.h
2962   include/grpcpp/alarm_impl.h
2963   include/grpcpp/channel.h
2964   include/grpcpp/client_context.h
2965   include/grpcpp/completion_queue.h
2966   include/grpcpp/create_channel.h
2967   include/grpcpp/create_channel_posix.h
2968   include/grpcpp/ext/health_check_service_server_builder_option.h
2969   include/grpcpp/generic/async_generic_service.h
2970   include/grpcpp/generic/generic_stub.h
2971   include/grpcpp/grpcpp.h
2972   include/grpcpp/health_check_service_interface.h
2973   include/grpcpp/impl/call.h
2974   include/grpcpp/impl/channel_argument_option.h
2975   include/grpcpp/impl/client_unary_call.h
2976   include/grpcpp/impl/codegen/core_codegen.h
2977   include/grpcpp/impl/grpc_library.h
2978   include/grpcpp/impl/method_handler_impl.h
2979   include/grpcpp/impl/rpc_method.h
2980   include/grpcpp/impl/rpc_service_method.h
2981   include/grpcpp/impl/serialization_traits.h
2982   include/grpcpp/impl/server_builder_option.h
2983   include/grpcpp/impl/server_builder_plugin.h
2984   include/grpcpp/impl/server_initializer.h
2985   include/grpcpp/impl/service_type.h
2986   include/grpcpp/resource_quota.h
2987   include/grpcpp/security/auth_context.h
2988   include/grpcpp/security/auth_metadata_processor.h
2989   include/grpcpp/security/credentials.h
2990   include/grpcpp/security/server_credentials.h
2991   include/grpcpp/server.h
2992   include/grpcpp/server_builder.h
2993   include/grpcpp/server_context.h
2994   include/grpcpp/server_posix.h
2995   include/grpcpp/support/async_stream.h
2996   include/grpcpp/support/async_unary_call.h
2997   include/grpcpp/support/byte_buffer.h
2998   include/grpcpp/support/channel_arguments.h
2999   include/grpcpp/support/client_callback.h
3000   include/grpcpp/support/client_interceptor.h
3001   include/grpcpp/support/config.h
3002   include/grpcpp/support/interceptor.h
3003   include/grpcpp/support/proto_buffer_reader.h
3004   include/grpcpp/support/proto_buffer_writer.h
3005   include/grpcpp/support/server_callback.h
3006   include/grpcpp/support/server_interceptor.h
3007   include/grpcpp/support/slice.h
3008   include/grpcpp/support/status.h
3009   include/grpcpp/support/status_code_enum.h
3010   include/grpcpp/support/string_ref.h
3011   include/grpcpp/support/stub_options.h
3012   include/grpcpp/support/sync_stream.h
3013   include/grpcpp/support/time.h
3014   include/grpc/support/alloc.h
3015   include/grpc/support/atm.h
3016   include/grpc/support/atm_gcc_atomic.h
3017   include/grpc/support/atm_gcc_sync.h
3018   include/grpc/support/atm_windows.h
3019   include/grpc/support/cpu.h
3020   include/grpc/support/log.h
3021   include/grpc/support/log_windows.h
3022   include/grpc/support/port_platform.h
3023   include/grpc/support/string_util.h
3024   include/grpc/support/sync.h
3025   include/grpc/support/sync_custom.h
3026   include/grpc/support/sync_generic.h
3027   include/grpc/support/sync_posix.h
3028   include/grpc/support/sync_windows.h
3029   include/grpc/support/thd_id.h
3030   include/grpc/support/time.h
3031   include/grpc/impl/codegen/atm.h
3032   include/grpc/impl/codegen/atm_gcc_atomic.h
3033   include/grpc/impl/codegen/atm_gcc_sync.h
3034   include/grpc/impl/codegen/atm_windows.h
3035   include/grpc/impl/codegen/fork.h
3036   include/grpc/impl/codegen/gpr_slice.h
3037   include/grpc/impl/codegen/gpr_types.h
3038   include/grpc/impl/codegen/log.h
3039   include/grpc/impl/codegen/port_platform.h
3040   include/grpc/impl/codegen/sync.h
3041   include/grpc/impl/codegen/sync_custom.h
3042   include/grpc/impl/codegen/sync_generic.h
3043   include/grpc/impl/codegen/sync_posix.h
3044   include/grpc/impl/codegen/sync_windows.h
3045   include/grpc/byte_buffer.h
3046   include/grpc/byte_buffer_reader.h
3047   include/grpc/compression.h
3048   include/grpc/fork.h
3049   include/grpc/grpc.h
3050   include/grpc/grpc_posix.h
3051   include/grpc/grpc_security_constants.h
3052   include/grpc/load_reporting.h
3053   include/grpc/slice.h
3054   include/grpc/slice_buffer.h
3055   include/grpc/status.h
3056   include/grpc/support/workaround_list.h
3057   include/grpc/impl/codegen/byte_buffer.h
3058   include/grpc/impl/codegen/byte_buffer_reader.h
3059   include/grpc/impl/codegen/compression_types.h
3060   include/grpc/impl/codegen/connectivity_state.h
3061   include/grpc/impl/codegen/grpc_types.h
3062   include/grpc/impl/codegen/propagation_bits.h
3063   include/grpc/impl/codegen/slice.h
3064   include/grpc/impl/codegen/status.h
3065   include/grpc++/impl/codegen/async_stream.h
3066   include/grpc++/impl/codegen/async_unary_call.h
3067   include/grpc++/impl/codegen/byte_buffer.h
3068   include/grpc++/impl/codegen/call.h
3069   include/grpc++/impl/codegen/call_hook.h
3070   include/grpc++/impl/codegen/channel_interface.h
3071   include/grpc++/impl/codegen/client_context.h
3072   include/grpc++/impl/codegen/client_unary_call.h
3073   include/grpc++/impl/codegen/completion_queue.h
3074   include/grpc++/impl/codegen/completion_queue_tag.h
3075   include/grpc++/impl/codegen/config.h
3076   include/grpc++/impl/codegen/core_codegen_interface.h
3077   include/grpc++/impl/codegen/create_auth_context.h
3078   include/grpc++/impl/codegen/grpc_library.h
3079   include/grpc++/impl/codegen/metadata_map.h
3080   include/grpc++/impl/codegen/method_handler_impl.h
3081   include/grpc++/impl/codegen/rpc_method.h
3082   include/grpc++/impl/codegen/rpc_service_method.h
3083   include/grpc++/impl/codegen/security/auth_context.h
3084   include/grpc++/impl/codegen/serialization_traits.h
3085   include/grpc++/impl/codegen/server_context.h
3086   include/grpc++/impl/codegen/server_interface.h
3087   include/grpc++/impl/codegen/service_type.h
3088   include/grpc++/impl/codegen/slice.h
3089   include/grpc++/impl/codegen/status.h
3090   include/grpc++/impl/codegen/status_code_enum.h
3091   include/grpc++/impl/codegen/string_ref.h
3092   include/grpc++/impl/codegen/stub_options.h
3093   include/grpc++/impl/codegen/sync_stream.h
3094   include/grpc++/impl/codegen/time.h
3095   include/grpcpp/impl/codegen/async_generic_service.h
3096   include/grpcpp/impl/codegen/async_stream.h
3097   include/grpcpp/impl/codegen/async_unary_call.h
3098   include/grpcpp/impl/codegen/byte_buffer.h
3099   include/grpcpp/impl/codegen/call.h
3100   include/grpcpp/impl/codegen/call_hook.h
3101   include/grpcpp/impl/codegen/call_op_set.h
3102   include/grpcpp/impl/codegen/call_op_set_interface.h
3103   include/grpcpp/impl/codegen/callback_common.h
3104   include/grpcpp/impl/codegen/channel_interface.h
3105   include/grpcpp/impl/codegen/client_callback.h
3106   include/grpcpp/impl/codegen/client_context.h
3107   include/grpcpp/impl/codegen/client_interceptor.h
3108   include/grpcpp/impl/codegen/client_unary_call.h
3109   include/grpcpp/impl/codegen/completion_queue.h
3110   include/grpcpp/impl/codegen/completion_queue_tag.h
3111   include/grpcpp/impl/codegen/config.h
3112   include/grpcpp/impl/codegen/core_codegen_interface.h
3113   include/grpcpp/impl/codegen/create_auth_context.h
3114   include/grpcpp/impl/codegen/grpc_library.h
3115   include/grpcpp/impl/codegen/intercepted_channel.h
3116   include/grpcpp/impl/codegen/interceptor.h
3117   include/grpcpp/impl/codegen/interceptor_common.h
3118   include/grpcpp/impl/codegen/metadata_map.h
3119   include/grpcpp/impl/codegen/method_handler_impl.h
3120   include/grpcpp/impl/codegen/rpc_method.h
3121   include/grpcpp/impl/codegen/rpc_service_method.h
3122   include/grpcpp/impl/codegen/security/auth_context.h
3123   include/grpcpp/impl/codegen/serialization_traits.h
3124   include/grpcpp/impl/codegen/server_callback.h
3125   include/grpcpp/impl/codegen/server_context.h
3126   include/grpcpp/impl/codegen/server_interceptor.h
3127   include/grpcpp/impl/codegen/server_interface.h
3128   include/grpcpp/impl/codegen/service_type.h
3129   include/grpcpp/impl/codegen/slice.h
3130   include/grpcpp/impl/codegen/status.h
3131   include/grpcpp/impl/codegen/status_code_enum.h
3132   include/grpcpp/impl/codegen/string_ref.h
3133   include/grpcpp/impl/codegen/stub_options.h
3134   include/grpcpp/impl/codegen/sync_stream.h
3135   include/grpcpp/impl/codegen/time.h
3136   include/grpc++/impl/codegen/proto_utils.h
3137   include/grpcpp/impl/codegen/proto_buffer_reader.h
3138   include/grpcpp/impl/codegen/proto_buffer_writer.h
3139   include/grpcpp/impl/codegen/proto_utils.h
3140   include/grpc++/impl/codegen/config_protobuf.h
3141   include/grpcpp/impl/codegen/config_protobuf.h
3142 )
3143   string(REPLACE "include/" "" _path ${_hdr})
3144   get_filename_component(_path ${_path} PATH)
3145   install(FILES ${_hdr}
3146     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
3147   )
3148 endforeach()
3149
3150
3151 if (gRPC_INSTALL)
3152   install(TARGETS grpc++ EXPORT gRPCTargets
3153     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
3154     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
3155     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
3156   )
3157 endif()
3158
3159 if (gRPC_BUILD_TESTS)
3160
3161 if (gRPC_BUILD_CODEGEN)
3162 add_library(grpc++_core_stats
3163   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.pb.cc
3164   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.grpc.pb.cc
3165   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.pb.h
3166   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.grpc.pb.h
3167   src/cpp/util/core_stats.cc
3168 )
3169
3170 if(WIN32 AND MSVC)
3171   set_target_properties(grpc++_core_stats PROPERTIES COMPILE_PDB_NAME "grpc++_core_stats"
3172     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3173   )
3174   if (gRPC_INSTALL)
3175     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_core_stats.pdb
3176       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3177     )
3178   endif()
3179 endif()
3180
3181 protobuf_generate_grpc_cpp(
3182   src/proto/grpc/core/stats.proto
3183 )
3184
3185 target_include_directories(grpc++_core_stats
3186   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3187   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3188   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3189   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3190   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3191   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3192   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3193   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3194   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3195   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3196   PRIVATE third_party/googletest/googletest/include
3197   PRIVATE third_party/googletest/googletest
3198   PRIVATE third_party/googletest/googlemock/include
3199   PRIVATE third_party/googletest/googlemock
3200   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3201 )
3202 target_link_libraries(grpc++_core_stats
3203   ${_gRPC_PROTOBUF_LIBRARIES}
3204   ${_gRPC_ALLTARGETS_LIBRARIES}
3205   grpc++
3206 )
3207
3208 endif (gRPC_BUILD_CODEGEN)
3209
3210 endif (gRPC_BUILD_TESTS)
3211
3212 add_library(grpc++_cronet
3213   src/cpp/client/cronet_credentials.cc
3214   src/cpp/client/insecure_credentials.cc
3215   src/cpp/common/insecure_create_auth_context.cc
3216   src/cpp/server/insecure_server_credentials.cc
3217   src/cpp/client/channel_cc.cc
3218   src/cpp/client/client_context.cc
3219   src/cpp/client/client_interceptor.cc
3220   src/cpp/client/create_channel.cc
3221   src/cpp/client/create_channel_internal.cc
3222   src/cpp/client/create_channel_posix.cc
3223   src/cpp/client/credentials_cc.cc
3224   src/cpp/client/generic_stub.cc
3225   src/cpp/common/alarm.cc
3226   src/cpp/common/channel_arguments.cc
3227   src/cpp/common/channel_filter.cc
3228   src/cpp/common/completion_queue_cc.cc
3229   src/cpp/common/core_codegen.cc
3230   src/cpp/common/resource_quota_cc.cc
3231   src/cpp/common/rpc_method.cc
3232   src/cpp/common/version_cc.cc
3233   src/cpp/server/async_generic_service.cc
3234   src/cpp/server/channel_argument_option.cc
3235   src/cpp/server/create_default_thread_pool.cc
3236   src/cpp/server/dynamic_thread_pool.cc
3237   src/cpp/server/health/default_health_check_service.cc
3238   src/cpp/server/health/health_check_service.cc
3239   src/cpp/server/health/health_check_service_server_builder_option.cc
3240   src/cpp/server/server_builder.cc
3241   src/cpp/server/server_cc.cc
3242   src/cpp/server/server_context.cc
3243   src/cpp/server/server_credentials.cc
3244   src/cpp/server/server_posix.cc
3245   src/cpp/thread_manager/thread_manager.cc
3246   src/cpp/util/byte_buffer_cc.cc
3247   src/cpp/util/status.cc
3248   src/cpp/util/string_ref.cc
3249   src/cpp/util/time_cc.cc
3250   src/core/ext/filters/client_channel/health/health.pb.c
3251   third_party/nanopb/pb_common.c
3252   third_party/nanopb/pb_decode.c
3253   third_party/nanopb/pb_encode.c
3254   src/cpp/codegen/codegen_init.cc
3255   src/core/ext/transport/chttp2/client/insecure/channel_create.cc
3256   src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
3257   src/core/ext/transport/chttp2/client/authority.cc
3258   src/core/ext/transport/chttp2/client/chttp2_connector.cc
3259   src/core/ext/transport/chttp2/transport/bin_decoder.cc
3260   src/core/ext/transport/chttp2/transport/bin_encoder.cc
3261   src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
3262   src/core/ext/transport/chttp2/transport/chttp2_transport.cc
3263   src/core/ext/transport/chttp2/transport/context_list.cc
3264   src/core/ext/transport/chttp2/transport/flow_control.cc
3265   src/core/ext/transport/chttp2/transport/frame_data.cc
3266   src/core/ext/transport/chttp2/transport/frame_goaway.cc
3267   src/core/ext/transport/chttp2/transport/frame_ping.cc
3268   src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
3269   src/core/ext/transport/chttp2/transport/frame_settings.cc
3270   src/core/ext/transport/chttp2/transport/frame_window_update.cc
3271   src/core/ext/transport/chttp2/transport/hpack_encoder.cc
3272   src/core/ext/transport/chttp2/transport/hpack_parser.cc
3273   src/core/ext/transport/chttp2/transport/hpack_table.cc
3274   src/core/ext/transport/chttp2/transport/http2_settings.cc
3275   src/core/ext/transport/chttp2/transport/huffsyms.cc
3276   src/core/ext/transport/chttp2/transport/incoming_metadata.cc
3277   src/core/ext/transport/chttp2/transport/parsing.cc
3278   src/core/ext/transport/chttp2/transport/stream_lists.cc
3279   src/core/ext/transport/chttp2/transport/stream_map.cc
3280   src/core/ext/transport/chttp2/transport/varint.cc
3281   src/core/ext/transport/chttp2/transport/writing.cc
3282   src/core/lib/avl/avl.cc
3283   src/core/lib/backoff/backoff.cc
3284   src/core/lib/channel/channel_args.cc
3285   src/core/lib/channel/channel_stack.cc
3286   src/core/lib/channel/channel_stack_builder.cc
3287   src/core/lib/channel/channel_trace.cc
3288   src/core/lib/channel/channelz.cc
3289   src/core/lib/channel/channelz_registry.cc
3290   src/core/lib/channel/connected_channel.cc
3291   src/core/lib/channel/handshaker.cc
3292   src/core/lib/channel/handshaker_factory.cc
3293   src/core/lib/channel/handshaker_registry.cc
3294   src/core/lib/channel/status_util.cc
3295   src/core/lib/compression/compression.cc
3296   src/core/lib/compression/compression_internal.cc
3297   src/core/lib/compression/message_compress.cc
3298   src/core/lib/compression/stream_compression.cc
3299   src/core/lib/compression/stream_compression_gzip.cc
3300   src/core/lib/compression/stream_compression_identity.cc
3301   src/core/lib/debug/stats.cc
3302   src/core/lib/debug/stats_data.cc
3303   src/core/lib/http/format_request.cc
3304   src/core/lib/http/httpcli.cc
3305   src/core/lib/http/parser.cc
3306   src/core/lib/iomgr/buffer_list.cc
3307   src/core/lib/iomgr/call_combiner.cc
3308   src/core/lib/iomgr/combiner.cc
3309   src/core/lib/iomgr/endpoint.cc
3310   src/core/lib/iomgr/endpoint_pair_posix.cc
3311   src/core/lib/iomgr/endpoint_pair_uv.cc
3312   src/core/lib/iomgr/endpoint_pair_windows.cc
3313   src/core/lib/iomgr/error.cc
3314   src/core/lib/iomgr/ev_epoll1_linux.cc
3315   src/core/lib/iomgr/ev_epollex_linux.cc
3316   src/core/lib/iomgr/ev_poll_posix.cc
3317   src/core/lib/iomgr/ev_posix.cc
3318   src/core/lib/iomgr/ev_windows.cc
3319   src/core/lib/iomgr/exec_ctx.cc
3320   src/core/lib/iomgr/executor.cc
3321   src/core/lib/iomgr/fork_posix.cc
3322   src/core/lib/iomgr/fork_windows.cc
3323   src/core/lib/iomgr/gethostname_fallback.cc
3324   src/core/lib/iomgr/gethostname_host_name_max.cc
3325   src/core/lib/iomgr/gethostname_sysconf.cc
3326   src/core/lib/iomgr/internal_errqueue.cc
3327   src/core/lib/iomgr/iocp_windows.cc
3328   src/core/lib/iomgr/iomgr.cc
3329   src/core/lib/iomgr/iomgr_custom.cc
3330   src/core/lib/iomgr/iomgr_internal.cc
3331   src/core/lib/iomgr/iomgr_posix.cc
3332   src/core/lib/iomgr/iomgr_uv.cc
3333   src/core/lib/iomgr/iomgr_windows.cc
3334   src/core/lib/iomgr/is_epollexclusive_available.cc
3335   src/core/lib/iomgr/load_file.cc
3336   src/core/lib/iomgr/lockfree_event.cc
3337   src/core/lib/iomgr/network_status_tracker.cc
3338   src/core/lib/iomgr/polling_entity.cc
3339   src/core/lib/iomgr/pollset.cc
3340   src/core/lib/iomgr/pollset_custom.cc
3341   src/core/lib/iomgr/pollset_set.cc
3342   src/core/lib/iomgr/pollset_set_custom.cc
3343   src/core/lib/iomgr/pollset_set_windows.cc
3344   src/core/lib/iomgr/pollset_uv.cc
3345   src/core/lib/iomgr/pollset_windows.cc
3346   src/core/lib/iomgr/resolve_address.cc
3347   src/core/lib/iomgr/resolve_address_custom.cc
3348   src/core/lib/iomgr/resolve_address_posix.cc
3349   src/core/lib/iomgr/resolve_address_windows.cc
3350   src/core/lib/iomgr/resource_quota.cc
3351   src/core/lib/iomgr/sockaddr_utils.cc
3352   src/core/lib/iomgr/socket_factory_posix.cc
3353   src/core/lib/iomgr/socket_mutator.cc
3354   src/core/lib/iomgr/socket_utils_common_posix.cc
3355   src/core/lib/iomgr/socket_utils_linux.cc
3356   src/core/lib/iomgr/socket_utils_posix.cc
3357   src/core/lib/iomgr/socket_utils_uv.cc
3358   src/core/lib/iomgr/socket_utils_windows.cc
3359   src/core/lib/iomgr/socket_windows.cc
3360   src/core/lib/iomgr/tcp_client.cc
3361   src/core/lib/iomgr/tcp_client_custom.cc
3362   src/core/lib/iomgr/tcp_client_posix.cc
3363   src/core/lib/iomgr/tcp_client_windows.cc
3364   src/core/lib/iomgr/tcp_custom.cc
3365   src/core/lib/iomgr/tcp_posix.cc
3366   src/core/lib/iomgr/tcp_server.cc
3367   src/core/lib/iomgr/tcp_server_custom.cc
3368   src/core/lib/iomgr/tcp_server_posix.cc
3369   src/core/lib/iomgr/tcp_server_utils_posix_common.cc
3370   src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
3371   src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
3372   src/core/lib/iomgr/tcp_server_windows.cc
3373   src/core/lib/iomgr/tcp_uv.cc
3374   src/core/lib/iomgr/tcp_windows.cc
3375   src/core/lib/iomgr/time_averaged_stats.cc
3376   src/core/lib/iomgr/timer.cc
3377   src/core/lib/iomgr/timer_custom.cc
3378   src/core/lib/iomgr/timer_generic.cc
3379   src/core/lib/iomgr/timer_heap.cc
3380   src/core/lib/iomgr/timer_manager.cc
3381   src/core/lib/iomgr/timer_uv.cc
3382   src/core/lib/iomgr/udp_server.cc
3383   src/core/lib/iomgr/unix_sockets_posix.cc
3384   src/core/lib/iomgr/unix_sockets_posix_noop.cc
3385   src/core/lib/iomgr/wakeup_fd_cv.cc
3386   src/core/lib/iomgr/wakeup_fd_eventfd.cc
3387   src/core/lib/iomgr/wakeup_fd_nospecial.cc
3388   src/core/lib/iomgr/wakeup_fd_pipe.cc
3389   src/core/lib/iomgr/wakeup_fd_posix.cc
3390   src/core/lib/json/json.cc
3391   src/core/lib/json/json_reader.cc
3392   src/core/lib/json/json_string.cc
3393   src/core/lib/json/json_writer.cc
3394   src/core/lib/slice/b64.cc
3395   src/core/lib/slice/percent_encoding.cc
3396   src/core/lib/slice/slice.cc
3397   src/core/lib/slice/slice_buffer.cc
3398   src/core/lib/slice/slice_intern.cc
3399   src/core/lib/slice/slice_string_helpers.cc
3400   src/core/lib/surface/api_trace.cc
3401   src/core/lib/surface/byte_buffer.cc
3402   src/core/lib/surface/byte_buffer_reader.cc
3403   src/core/lib/surface/call.cc
3404   src/core/lib/surface/call_details.cc
3405   src/core/lib/surface/call_log_batch.cc
3406   src/core/lib/surface/channel.cc
3407   src/core/lib/surface/channel_init.cc
3408   src/core/lib/surface/channel_ping.cc
3409   src/core/lib/surface/channel_stack_type.cc
3410   src/core/lib/surface/completion_queue.cc
3411   src/core/lib/surface/completion_queue_factory.cc
3412   src/core/lib/surface/event_string.cc
3413   src/core/lib/surface/lame_client.cc
3414   src/core/lib/surface/metadata_array.cc
3415   src/core/lib/surface/server.cc
3416   src/core/lib/surface/validate_metadata.cc
3417   src/core/lib/surface/version.cc
3418   src/core/lib/transport/bdp_estimator.cc
3419   src/core/lib/transport/byte_stream.cc
3420   src/core/lib/transport/connectivity_state.cc
3421   src/core/lib/transport/error_utils.cc
3422   src/core/lib/transport/metadata.cc
3423   src/core/lib/transport/metadata_batch.cc
3424   src/core/lib/transport/pid_controller.cc
3425   src/core/lib/transport/service_config.cc
3426   src/core/lib/transport/static_metadata.cc
3427   src/core/lib/transport/status_conversion.cc
3428   src/core/lib/transport/status_metadata.cc
3429   src/core/lib/transport/timeout_encoding.cc
3430   src/core/lib/transport/transport.cc
3431   src/core/lib/transport/transport_op_string.cc
3432   src/core/lib/uri/uri_parser.cc
3433   src/core/lib/debug/trace.cc
3434   src/core/ext/transport/chttp2/alpn/alpn.cc
3435   src/core/ext/filters/http/client/http_client_filter.cc
3436   src/core/ext/filters/http/http_filters_plugin.cc
3437   src/core/ext/filters/http/message_compress/message_compress_filter.cc
3438   src/core/ext/filters/http/server/http_server_filter.cc
3439   src/core/ext/filters/client_channel/backup_poller.cc
3440   src/core/ext/filters/client_channel/channel_connectivity.cc
3441   src/core/ext/filters/client_channel/client_channel.cc
3442   src/core/ext/filters/client_channel/client_channel_channelz.cc
3443   src/core/ext/filters/client_channel/client_channel_factory.cc
3444   src/core/ext/filters/client_channel/client_channel_plugin.cc
3445   src/core/ext/filters/client_channel/connector.cc
3446   src/core/ext/filters/client_channel/health/health_check_client.cc
3447   src/core/ext/filters/client_channel/http_connect_handshaker.cc
3448   src/core/ext/filters/client_channel/http_proxy.cc
3449   src/core/ext/filters/client_channel/lb_policy.cc
3450   src/core/ext/filters/client_channel/lb_policy_registry.cc
3451   src/core/ext/filters/client_channel/parse_address.cc
3452   src/core/ext/filters/client_channel/proxy_mapper.cc
3453   src/core/ext/filters/client_channel/proxy_mapper_registry.cc
3454   src/core/ext/filters/client_channel/request_routing.cc
3455   src/core/ext/filters/client_channel/resolver.cc
3456   src/core/ext/filters/client_channel/resolver_registry.cc
3457   src/core/ext/filters/client_channel/resolver_result_parsing.cc
3458   src/core/ext/filters/client_channel/retry_throttle.cc
3459   src/core/ext/filters/client_channel/server_address.cc
3460   src/core/ext/filters/client_channel/subchannel.cc
3461   src/core/ext/filters/client_channel/subchannel_index.cc
3462   src/core/ext/filters/deadline/deadline_filter.cc
3463   src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
3464   src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
3465   src/core/ext/transport/chttp2/server/chttp2_server.cc
3466   src/core/ext/filters/census/grpc_context.cc
3467 )
3468
3469 if(WIN32 AND MSVC)
3470   set_target_properties(grpc++_cronet PROPERTIES COMPILE_PDB_NAME "grpc++_cronet"
3471     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3472   )
3473   if (gRPC_INSTALL)
3474     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_cronet.pdb
3475       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3476     )
3477   endif()
3478 endif()
3479
3480
3481 target_include_directories(grpc++_cronet
3482   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3483   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3484   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3485   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3486   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3487   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3488   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3489   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3490   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3491   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3492   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3493 )
3494 target_link_libraries(grpc++_cronet
3495   ${_gRPC_BASELIB_LIBRARIES}
3496   ${_gRPC_SSL_LIBRARIES}
3497   ${_gRPC_PROTOBUF_LIBRARIES}
3498   ${_gRPC_ALLTARGETS_LIBRARIES}
3499   gpr
3500   grpc_cronet
3501   grpc
3502 )
3503
3504 foreach(_hdr
3505   include/grpc++/alarm.h
3506   include/grpc++/channel.h
3507   include/grpc++/client_context.h
3508   include/grpc++/completion_queue.h
3509   include/grpc++/create_channel.h
3510   include/grpc++/create_channel_posix.h
3511   include/grpc++/ext/health_check_service_server_builder_option.h
3512   include/grpc++/generic/async_generic_service.h
3513   include/grpc++/generic/generic_stub.h
3514   include/grpc++/grpc++.h
3515   include/grpc++/health_check_service_interface.h
3516   include/grpc++/impl/call.h
3517   include/grpc++/impl/channel_argument_option.h
3518   include/grpc++/impl/client_unary_call.h
3519   include/grpc++/impl/codegen/core_codegen.h
3520   include/grpc++/impl/grpc_library.h
3521   include/grpc++/impl/method_handler_impl.h
3522   include/grpc++/impl/rpc_method.h
3523   include/grpc++/impl/rpc_service_method.h
3524   include/grpc++/impl/serialization_traits.h
3525   include/grpc++/impl/server_builder_option.h
3526   include/grpc++/impl/server_builder_plugin.h
3527   include/grpc++/impl/server_initializer.h
3528   include/grpc++/impl/service_type.h
3529   include/grpc++/resource_quota.h
3530   include/grpc++/security/auth_context.h
3531   include/grpc++/security/auth_metadata_processor.h
3532   include/grpc++/security/credentials.h
3533   include/grpc++/security/server_credentials.h
3534   include/grpc++/server.h
3535   include/grpc++/server_builder.h
3536   include/grpc++/server_context.h
3537   include/grpc++/server_posix.h
3538   include/grpc++/support/async_stream.h
3539   include/grpc++/support/async_unary_call.h
3540   include/grpc++/support/byte_buffer.h
3541   include/grpc++/support/channel_arguments.h
3542   include/grpc++/support/config.h
3543   include/grpc++/support/slice.h
3544   include/grpc++/support/status.h
3545   include/grpc++/support/status_code_enum.h
3546   include/grpc++/support/string_ref.h
3547   include/grpc++/support/stub_options.h
3548   include/grpc++/support/sync_stream.h
3549   include/grpc++/support/time.h
3550   include/grpcpp/alarm.h
3551   include/grpcpp/alarm_impl.h
3552   include/grpcpp/channel.h
3553   include/grpcpp/client_context.h
3554   include/grpcpp/completion_queue.h
3555   include/grpcpp/create_channel.h
3556   include/grpcpp/create_channel_posix.h
3557   include/grpcpp/ext/health_check_service_server_builder_option.h
3558   include/grpcpp/generic/async_generic_service.h
3559   include/grpcpp/generic/generic_stub.h
3560   include/grpcpp/grpcpp.h
3561   include/grpcpp/health_check_service_interface.h
3562   include/grpcpp/impl/call.h
3563   include/grpcpp/impl/channel_argument_option.h
3564   include/grpcpp/impl/client_unary_call.h
3565   include/grpcpp/impl/codegen/core_codegen.h
3566   include/grpcpp/impl/grpc_library.h
3567   include/grpcpp/impl/method_handler_impl.h
3568   include/grpcpp/impl/rpc_method.h
3569   include/grpcpp/impl/rpc_service_method.h
3570   include/grpcpp/impl/serialization_traits.h
3571   include/grpcpp/impl/server_builder_option.h
3572   include/grpcpp/impl/server_builder_plugin.h
3573   include/grpcpp/impl/server_initializer.h
3574   include/grpcpp/impl/service_type.h
3575   include/grpcpp/resource_quota.h
3576   include/grpcpp/security/auth_context.h
3577   include/grpcpp/security/auth_metadata_processor.h
3578   include/grpcpp/security/credentials.h
3579   include/grpcpp/security/server_credentials.h
3580   include/grpcpp/server.h
3581   include/grpcpp/server_builder.h
3582   include/grpcpp/server_context.h
3583   include/grpcpp/server_posix.h
3584   include/grpcpp/support/async_stream.h
3585   include/grpcpp/support/async_unary_call.h
3586   include/grpcpp/support/byte_buffer.h
3587   include/grpcpp/support/channel_arguments.h
3588   include/grpcpp/support/client_callback.h
3589   include/grpcpp/support/client_interceptor.h
3590   include/grpcpp/support/config.h
3591   include/grpcpp/support/interceptor.h
3592   include/grpcpp/support/proto_buffer_reader.h
3593   include/grpcpp/support/proto_buffer_writer.h
3594   include/grpcpp/support/server_callback.h
3595   include/grpcpp/support/server_interceptor.h
3596   include/grpcpp/support/slice.h
3597   include/grpcpp/support/status.h
3598   include/grpcpp/support/status_code_enum.h
3599   include/grpcpp/support/string_ref.h
3600   include/grpcpp/support/stub_options.h
3601   include/grpcpp/support/sync_stream.h
3602   include/grpcpp/support/time.h
3603   include/grpc/support/alloc.h
3604   include/grpc/support/atm.h
3605   include/grpc/support/atm_gcc_atomic.h
3606   include/grpc/support/atm_gcc_sync.h
3607   include/grpc/support/atm_windows.h
3608   include/grpc/support/cpu.h
3609   include/grpc/support/log.h
3610   include/grpc/support/log_windows.h
3611   include/grpc/support/port_platform.h
3612   include/grpc/support/string_util.h
3613   include/grpc/support/sync.h
3614   include/grpc/support/sync_custom.h
3615   include/grpc/support/sync_generic.h
3616   include/grpc/support/sync_posix.h
3617   include/grpc/support/sync_windows.h
3618   include/grpc/support/thd_id.h
3619   include/grpc/support/time.h
3620   include/grpc/impl/codegen/atm.h
3621   include/grpc/impl/codegen/atm_gcc_atomic.h
3622   include/grpc/impl/codegen/atm_gcc_sync.h
3623   include/grpc/impl/codegen/atm_windows.h
3624   include/grpc/impl/codegen/fork.h
3625   include/grpc/impl/codegen/gpr_slice.h
3626   include/grpc/impl/codegen/gpr_types.h
3627   include/grpc/impl/codegen/log.h
3628   include/grpc/impl/codegen/port_platform.h
3629   include/grpc/impl/codegen/sync.h
3630   include/grpc/impl/codegen/sync_custom.h
3631   include/grpc/impl/codegen/sync_generic.h
3632   include/grpc/impl/codegen/sync_posix.h
3633   include/grpc/impl/codegen/sync_windows.h
3634   include/grpc/byte_buffer.h
3635   include/grpc/byte_buffer_reader.h
3636   include/grpc/compression.h
3637   include/grpc/fork.h
3638   include/grpc/grpc.h
3639   include/grpc/grpc_posix.h
3640   include/grpc/grpc_security_constants.h
3641   include/grpc/load_reporting.h
3642   include/grpc/slice.h
3643   include/grpc/slice_buffer.h
3644   include/grpc/status.h
3645   include/grpc/support/workaround_list.h
3646   include/grpc/impl/codegen/byte_buffer.h
3647   include/grpc/impl/codegen/byte_buffer_reader.h
3648   include/grpc/impl/codegen/compression_types.h
3649   include/grpc/impl/codegen/connectivity_state.h
3650   include/grpc/impl/codegen/grpc_types.h
3651   include/grpc/impl/codegen/propagation_bits.h
3652   include/grpc/impl/codegen/slice.h
3653   include/grpc/impl/codegen/status.h
3654   include/grpc++/impl/codegen/async_stream.h
3655   include/grpc++/impl/codegen/async_unary_call.h
3656   include/grpc++/impl/codegen/byte_buffer.h
3657   include/grpc++/impl/codegen/call.h
3658   include/grpc++/impl/codegen/call_hook.h
3659   include/grpc++/impl/codegen/channel_interface.h
3660   include/grpc++/impl/codegen/client_context.h
3661   include/grpc++/impl/codegen/client_unary_call.h
3662   include/grpc++/impl/codegen/completion_queue.h
3663   include/grpc++/impl/codegen/completion_queue_tag.h
3664   include/grpc++/impl/codegen/config.h
3665   include/grpc++/impl/codegen/core_codegen_interface.h
3666   include/grpc++/impl/codegen/create_auth_context.h
3667   include/grpc++/impl/codegen/grpc_library.h
3668   include/grpc++/impl/codegen/metadata_map.h
3669   include/grpc++/impl/codegen/method_handler_impl.h
3670   include/grpc++/impl/codegen/rpc_method.h
3671   include/grpc++/impl/codegen/rpc_service_method.h
3672   include/grpc++/impl/codegen/security/auth_context.h
3673   include/grpc++/impl/codegen/serialization_traits.h
3674   include/grpc++/impl/codegen/server_context.h
3675   include/grpc++/impl/codegen/server_interface.h
3676   include/grpc++/impl/codegen/service_type.h
3677   include/grpc++/impl/codegen/slice.h
3678   include/grpc++/impl/codegen/status.h
3679   include/grpc++/impl/codegen/status_code_enum.h
3680   include/grpc++/impl/codegen/string_ref.h
3681   include/grpc++/impl/codegen/stub_options.h
3682   include/grpc++/impl/codegen/sync_stream.h
3683   include/grpc++/impl/codegen/time.h
3684   include/grpcpp/impl/codegen/async_generic_service.h
3685   include/grpcpp/impl/codegen/async_stream.h
3686   include/grpcpp/impl/codegen/async_unary_call.h
3687   include/grpcpp/impl/codegen/byte_buffer.h
3688   include/grpcpp/impl/codegen/call.h
3689   include/grpcpp/impl/codegen/call_hook.h
3690   include/grpcpp/impl/codegen/call_op_set.h
3691   include/grpcpp/impl/codegen/call_op_set_interface.h
3692   include/grpcpp/impl/codegen/callback_common.h
3693   include/grpcpp/impl/codegen/channel_interface.h
3694   include/grpcpp/impl/codegen/client_callback.h
3695   include/grpcpp/impl/codegen/client_context.h
3696   include/grpcpp/impl/codegen/client_interceptor.h
3697   include/grpcpp/impl/codegen/client_unary_call.h
3698   include/grpcpp/impl/codegen/completion_queue.h
3699   include/grpcpp/impl/codegen/completion_queue_tag.h
3700   include/grpcpp/impl/codegen/config.h
3701   include/grpcpp/impl/codegen/core_codegen_interface.h
3702   include/grpcpp/impl/codegen/create_auth_context.h
3703   include/grpcpp/impl/codegen/grpc_library.h
3704   include/grpcpp/impl/codegen/intercepted_channel.h
3705   include/grpcpp/impl/codegen/interceptor.h
3706   include/grpcpp/impl/codegen/interceptor_common.h
3707   include/grpcpp/impl/codegen/metadata_map.h
3708   include/grpcpp/impl/codegen/method_handler_impl.h
3709   include/grpcpp/impl/codegen/rpc_method.h
3710   include/grpcpp/impl/codegen/rpc_service_method.h
3711   include/grpcpp/impl/codegen/security/auth_context.h
3712   include/grpcpp/impl/codegen/serialization_traits.h
3713   include/grpcpp/impl/codegen/server_callback.h
3714   include/grpcpp/impl/codegen/server_context.h
3715   include/grpcpp/impl/codegen/server_interceptor.h
3716   include/grpcpp/impl/codegen/server_interface.h
3717   include/grpcpp/impl/codegen/service_type.h
3718   include/grpcpp/impl/codegen/slice.h
3719   include/grpcpp/impl/codegen/status.h
3720   include/grpcpp/impl/codegen/status_code_enum.h
3721   include/grpcpp/impl/codegen/string_ref.h
3722   include/grpcpp/impl/codegen/stub_options.h
3723   include/grpcpp/impl/codegen/sync_stream.h
3724   include/grpcpp/impl/codegen/time.h
3725   include/grpc/census.h
3726 )
3727   string(REPLACE "include/" "" _path ${_hdr})
3728   get_filename_component(_path ${_path} PATH)
3729   install(FILES ${_hdr}
3730     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
3731   )
3732 endforeach()
3733
3734
3735 if (gRPC_INSTALL)
3736   install(TARGETS grpc++_cronet EXPORT gRPCTargets
3737     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
3738     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
3739     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
3740   )
3741 endif()
3742
3743
3744 if (gRPC_BUILD_CODEGEN)
3745 add_library(grpc++_error_details
3746   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.pb.cc
3747   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.cc
3748   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.pb.h
3749   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.h
3750   src/cpp/util/error_details.cc
3751 )
3752
3753 if(WIN32 AND MSVC)
3754   set_target_properties(grpc++_error_details PROPERTIES COMPILE_PDB_NAME "grpc++_error_details"
3755     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3756   )
3757   if (gRPC_INSTALL)
3758     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_error_details.pdb
3759       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3760     )
3761   endif()
3762 endif()
3763
3764 protobuf_generate_grpc_cpp(
3765   src/proto/grpc/status/status.proto
3766 )
3767
3768 target_include_directories(grpc++_error_details
3769   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3770   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3771   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3772   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3773   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3774   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3775   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3776   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3777   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3778   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3779   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3780 )
3781 target_link_libraries(grpc++_error_details
3782   ${_gRPC_BASELIB_LIBRARIES}
3783   ${_gRPC_PROTOBUF_LIBRARIES}
3784   ${_gRPC_ALLTARGETS_LIBRARIES}
3785   grpc++
3786 )
3787
3788 foreach(_hdr
3789   include/grpc++/support/error_details.h
3790   include/grpcpp/support/error_details.h
3791 )
3792   string(REPLACE "include/" "" _path ${_hdr})
3793   get_filename_component(_path ${_path} PATH)
3794   install(FILES ${_hdr}
3795     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
3796   )
3797 endforeach()
3798 endif (gRPC_BUILD_CODEGEN)
3799
3800
3801 if (gRPC_INSTALL)
3802   install(TARGETS grpc++_error_details EXPORT gRPCTargets
3803     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
3804     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
3805     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
3806   )
3807 endif()
3808
3809 if (gRPC_BUILD_TESTS)
3810
3811 if (gRPC_BUILD_CODEGEN)
3812 add_library(grpc++_proto_reflection_desc_db
3813   test/cpp/util/proto_reflection_descriptor_database.cc
3814   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc
3815   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc
3816   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h
3817   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h
3818 )
3819
3820 if(WIN32 AND MSVC)
3821   set_target_properties(grpc++_proto_reflection_desc_db PROPERTIES COMPILE_PDB_NAME "grpc++_proto_reflection_desc_db"
3822     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3823   )
3824   if (gRPC_INSTALL)
3825     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_proto_reflection_desc_db.pdb
3826       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3827     )
3828   endif()
3829 endif()
3830
3831 protobuf_generate_grpc_cpp(
3832   src/proto/grpc/reflection/v1alpha/reflection.proto
3833 )
3834
3835 target_include_directories(grpc++_proto_reflection_desc_db
3836   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3837   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3838   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3839   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3840   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3841   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3842   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3843   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3844   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3845   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3846   PRIVATE third_party/googletest/googletest/include
3847   PRIVATE third_party/googletest/googletest
3848   PRIVATE third_party/googletest/googlemock/include
3849   PRIVATE third_party/googletest/googlemock
3850   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3851 )
3852 target_link_libraries(grpc++_proto_reflection_desc_db
3853   ${_gRPC_PROTOBUF_LIBRARIES}
3854   ${_gRPC_ALLTARGETS_LIBRARIES}
3855   grpc++
3856   grpc
3857 )
3858
3859 foreach(_hdr
3860   include/grpc++/impl/codegen/config_protobuf.h
3861   include/grpcpp/impl/codegen/config_protobuf.h
3862 )
3863   string(REPLACE "include/" "" _path ${_hdr})
3864   get_filename_component(_path ${_path} PATH)
3865   install(FILES ${_hdr}
3866     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
3867   )
3868 endforeach()
3869 endif (gRPC_BUILD_CODEGEN)
3870
3871 endif (gRPC_BUILD_TESTS)
3872
3873 if (gRPC_BUILD_CODEGEN)
3874 add_library(grpc++_reflection
3875   src/cpp/ext/proto_server_reflection.cc
3876   src/cpp/ext/proto_server_reflection_plugin.cc
3877   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc
3878   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc
3879   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h
3880   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h
3881 )
3882
3883 if(WIN32 AND MSVC)
3884   set_target_properties(grpc++_reflection PROPERTIES COMPILE_PDB_NAME "grpc++_reflection"
3885     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3886   )
3887   if (gRPC_INSTALL)
3888     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_reflection.pdb
3889       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3890     )
3891   endif()
3892 endif()
3893
3894 protobuf_generate_grpc_cpp(
3895   src/proto/grpc/reflection/v1alpha/reflection.proto
3896 )
3897
3898 target_include_directories(grpc++_reflection
3899   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3900   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3901   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3902   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3903   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3904   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3905   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3906   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3907   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3908   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3909   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3910 )
3911 target_link_libraries(grpc++_reflection
3912   ${_gRPC_PROTOBUF_LIBRARIES}
3913   ${_gRPC_ALLTARGETS_LIBRARIES}
3914   grpc++
3915   grpc
3916 )
3917
3918 foreach(_hdr
3919   include/grpc++/ext/proto_server_reflection_plugin.h
3920   include/grpcpp/ext/proto_server_reflection_plugin.h
3921 )
3922   string(REPLACE "include/" "" _path ${_hdr})
3923   get_filename_component(_path ${_path} PATH)
3924   install(FILES ${_hdr}
3925     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
3926   )
3927 endforeach()
3928 endif (gRPC_BUILD_CODEGEN)
3929
3930
3931 if (gRPC_INSTALL)
3932   install(TARGETS grpc++_reflection EXPORT gRPCTargets
3933     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
3934     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
3935     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
3936   )
3937 endif()
3938
3939 if (gRPC_BUILD_TESTS)
3940
3941 add_library(grpc++_test_config
3942   test/cpp/util/test_config_cc.cc
3943 )
3944
3945 if(WIN32 AND MSVC)
3946   set_target_properties(grpc++_test_config PROPERTIES COMPILE_PDB_NAME "grpc++_test_config"
3947     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
3948   )
3949   if (gRPC_INSTALL)
3950     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_config.pdb
3951       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
3952     )
3953   endif()
3954 endif()
3955
3956
3957 target_include_directories(grpc++_test_config
3958   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3959   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
3960   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
3961   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
3962   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
3963   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
3964   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
3965   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
3966   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
3967   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
3968   PRIVATE third_party/googletest/googletest/include
3969   PRIVATE third_party/googletest/googletest
3970   PRIVATE third_party/googletest/googlemock/include
3971   PRIVATE third_party/googletest/googlemock
3972   PRIVATE ${_gRPC_PROTO_GENS_DIR}
3973 )
3974 target_link_libraries(grpc++_test_config
3975   ${_gRPC_PROTOBUF_LIBRARIES}
3976   ${_gRPC_ALLTARGETS_LIBRARIES}
3977 )
3978
3979
3980 endif (gRPC_BUILD_TESTS)
3981 if (gRPC_BUILD_TESTS)
3982
3983 if (gRPC_BUILD_CODEGEN)
3984 add_library(grpc++_test_util
3985   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
3986   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
3987   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
3988   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
3989   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc
3990   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.cc
3991   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.h
3992   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.h
3993   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
3994   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
3995   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
3996   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
3997   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
3998   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
3999   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
4000   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
4001   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_mock.grpc.pb.h
4002   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc
4003   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc
4004   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h
4005   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h
4006   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc
4007   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc
4008   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h
4009   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h
4010   test/cpp/end2end/test_health_check_service_impl.cc
4011   test/cpp/end2end/test_service_impl.cc
4012   test/cpp/util/byte_buffer_proto_helper.cc
4013   test/cpp/util/channel_trace_proto_helper.cc
4014   test/cpp/util/create_test_channel.cc
4015   test/cpp/util/string_ref_helper.cc
4016   test/cpp/util/subprocess.cc
4017   test/cpp/util/test_credentials_provider.cc
4018   src/cpp/codegen/codegen_init.cc
4019 )
4020
4021 if(WIN32 AND MSVC)
4022   set_target_properties(grpc++_test_util PROPERTIES COMPILE_PDB_NAME "grpc++_test_util"
4023     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4024   )
4025   if (gRPC_INSTALL)
4026     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_util.pdb
4027       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4028     )
4029   endif()
4030 endif()
4031
4032 protobuf_generate_grpc_cpp(
4033   src/proto/grpc/channelz/channelz.proto
4034 )
4035 protobuf_generate_grpc_cpp(
4036   src/proto/grpc/health/v1/health.proto
4037 )
4038 protobuf_generate_grpc_cpp(
4039   src/proto/grpc/testing/echo_messages.proto
4040 )
4041 protobuf_generate_grpc_cpp(
4042   src/proto/grpc/testing/echo.proto
4043 )
4044 protobuf_generate_grpc_cpp(
4045   src/proto/grpc/testing/duplicate/echo_duplicate.proto
4046 )
4047 protobuf_generate_grpc_cpp(
4048   src/proto/grpc/testing/simple_messages.proto
4049 )
4050
4051 target_include_directories(grpc++_test_util
4052   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4053   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4054   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4055   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4056   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4057   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4058   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4059   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4060   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4061   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4062   PRIVATE third_party/googletest/googletest/include
4063   PRIVATE third_party/googletest/googletest
4064   PRIVATE third_party/googletest/googlemock/include
4065   PRIVATE third_party/googletest/googlemock
4066   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4067 )
4068 target_link_libraries(grpc++_test_util
4069   ${_gRPC_PROTOBUF_LIBRARIES}
4070   ${_gRPC_ALLTARGETS_LIBRARIES}
4071   grpc++
4072   grpc_test_util
4073   grpc
4074 )
4075
4076 foreach(_hdr
4077   include/grpc++/impl/codegen/async_stream.h
4078   include/grpc++/impl/codegen/async_unary_call.h
4079   include/grpc++/impl/codegen/byte_buffer.h
4080   include/grpc++/impl/codegen/call.h
4081   include/grpc++/impl/codegen/call_hook.h
4082   include/grpc++/impl/codegen/channel_interface.h
4083   include/grpc++/impl/codegen/client_context.h
4084   include/grpc++/impl/codegen/client_unary_call.h
4085   include/grpc++/impl/codegen/completion_queue.h
4086   include/grpc++/impl/codegen/completion_queue_tag.h
4087   include/grpc++/impl/codegen/config.h
4088   include/grpc++/impl/codegen/core_codegen_interface.h
4089   include/grpc++/impl/codegen/create_auth_context.h
4090   include/grpc++/impl/codegen/grpc_library.h
4091   include/grpc++/impl/codegen/metadata_map.h
4092   include/grpc++/impl/codegen/method_handler_impl.h
4093   include/grpc++/impl/codegen/rpc_method.h
4094   include/grpc++/impl/codegen/rpc_service_method.h
4095   include/grpc++/impl/codegen/security/auth_context.h
4096   include/grpc++/impl/codegen/serialization_traits.h
4097   include/grpc++/impl/codegen/server_context.h
4098   include/grpc++/impl/codegen/server_interface.h
4099   include/grpc++/impl/codegen/service_type.h
4100   include/grpc++/impl/codegen/slice.h
4101   include/grpc++/impl/codegen/status.h
4102   include/grpc++/impl/codegen/status_code_enum.h
4103   include/grpc++/impl/codegen/string_ref.h
4104   include/grpc++/impl/codegen/stub_options.h
4105   include/grpc++/impl/codegen/sync_stream.h
4106   include/grpc++/impl/codegen/time.h
4107   include/grpcpp/impl/codegen/async_generic_service.h
4108   include/grpcpp/impl/codegen/async_stream.h
4109   include/grpcpp/impl/codegen/async_unary_call.h
4110   include/grpcpp/impl/codegen/byte_buffer.h
4111   include/grpcpp/impl/codegen/call.h
4112   include/grpcpp/impl/codegen/call_hook.h
4113   include/grpcpp/impl/codegen/call_op_set.h
4114   include/grpcpp/impl/codegen/call_op_set_interface.h
4115   include/grpcpp/impl/codegen/callback_common.h
4116   include/grpcpp/impl/codegen/channel_interface.h
4117   include/grpcpp/impl/codegen/client_callback.h
4118   include/grpcpp/impl/codegen/client_context.h
4119   include/grpcpp/impl/codegen/client_interceptor.h
4120   include/grpcpp/impl/codegen/client_unary_call.h
4121   include/grpcpp/impl/codegen/completion_queue.h
4122   include/grpcpp/impl/codegen/completion_queue_tag.h
4123   include/grpcpp/impl/codegen/config.h
4124   include/grpcpp/impl/codegen/core_codegen_interface.h
4125   include/grpcpp/impl/codegen/create_auth_context.h
4126   include/grpcpp/impl/codegen/grpc_library.h
4127   include/grpcpp/impl/codegen/intercepted_channel.h
4128   include/grpcpp/impl/codegen/interceptor.h
4129   include/grpcpp/impl/codegen/interceptor_common.h
4130   include/grpcpp/impl/codegen/metadata_map.h
4131   include/grpcpp/impl/codegen/method_handler_impl.h
4132   include/grpcpp/impl/codegen/rpc_method.h
4133   include/grpcpp/impl/codegen/rpc_service_method.h
4134   include/grpcpp/impl/codegen/security/auth_context.h
4135   include/grpcpp/impl/codegen/serialization_traits.h
4136   include/grpcpp/impl/codegen/server_callback.h
4137   include/grpcpp/impl/codegen/server_context.h
4138   include/grpcpp/impl/codegen/server_interceptor.h
4139   include/grpcpp/impl/codegen/server_interface.h
4140   include/grpcpp/impl/codegen/service_type.h
4141   include/grpcpp/impl/codegen/slice.h
4142   include/grpcpp/impl/codegen/status.h
4143   include/grpcpp/impl/codegen/status_code_enum.h
4144   include/grpcpp/impl/codegen/string_ref.h
4145   include/grpcpp/impl/codegen/stub_options.h
4146   include/grpcpp/impl/codegen/sync_stream.h
4147   include/grpcpp/impl/codegen/time.h
4148   include/grpc/impl/codegen/byte_buffer.h
4149   include/grpc/impl/codegen/byte_buffer_reader.h
4150   include/grpc/impl/codegen/compression_types.h
4151   include/grpc/impl/codegen/connectivity_state.h
4152   include/grpc/impl/codegen/grpc_types.h
4153   include/grpc/impl/codegen/propagation_bits.h
4154   include/grpc/impl/codegen/slice.h
4155   include/grpc/impl/codegen/status.h
4156   include/grpc/impl/codegen/atm.h
4157   include/grpc/impl/codegen/atm_gcc_atomic.h
4158   include/grpc/impl/codegen/atm_gcc_sync.h
4159   include/grpc/impl/codegen/atm_windows.h
4160   include/grpc/impl/codegen/fork.h
4161   include/grpc/impl/codegen/gpr_slice.h
4162   include/grpc/impl/codegen/gpr_types.h
4163   include/grpc/impl/codegen/log.h
4164   include/grpc/impl/codegen/port_platform.h
4165   include/grpc/impl/codegen/sync.h
4166   include/grpc/impl/codegen/sync_custom.h
4167   include/grpc/impl/codegen/sync_generic.h
4168   include/grpc/impl/codegen/sync_posix.h
4169   include/grpc/impl/codegen/sync_windows.h
4170   include/grpc++/impl/codegen/proto_utils.h
4171   include/grpcpp/impl/codegen/proto_buffer_reader.h
4172   include/grpcpp/impl/codegen/proto_buffer_writer.h
4173   include/grpcpp/impl/codegen/proto_utils.h
4174   include/grpc++/impl/codegen/config_protobuf.h
4175   include/grpcpp/impl/codegen/config_protobuf.h
4176 )
4177   string(REPLACE "include/" "" _path ${_hdr})
4178   get_filename_component(_path ${_path} PATH)
4179   install(FILES ${_hdr}
4180     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4181   )
4182 endforeach()
4183 endif (gRPC_BUILD_CODEGEN)
4184
4185 endif (gRPC_BUILD_TESTS)
4186 if (gRPC_BUILD_TESTS)
4187
4188 if (gRPC_BUILD_CODEGEN)
4189 add_library(grpc++_test_util_unsecure
4190   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc
4191   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.cc
4192   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.h
4193   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.h
4194   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
4195   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
4196   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
4197   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
4198   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
4199   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
4200   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
4201   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
4202   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_mock.grpc.pb.h
4203   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc
4204   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc
4205   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h
4206   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h
4207   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc
4208   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc
4209   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h
4210   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h
4211   test/cpp/end2end/test_health_check_service_impl.cc
4212   test/cpp/end2end/test_service_impl.cc
4213   test/cpp/util/byte_buffer_proto_helper.cc
4214   test/cpp/util/string_ref_helper.cc
4215   test/cpp/util/subprocess.cc
4216   src/cpp/codegen/codegen_init.cc
4217 )
4218
4219 if(WIN32 AND MSVC)
4220   set_target_properties(grpc++_test_util_unsecure PROPERTIES COMPILE_PDB_NAME "grpc++_test_util_unsecure"
4221     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4222   )
4223   if (gRPC_INSTALL)
4224     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_util_unsecure.pdb
4225       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4226     )
4227   endif()
4228 endif()
4229
4230 protobuf_generate_grpc_cpp(
4231   src/proto/grpc/health/v1/health.proto
4232 )
4233 protobuf_generate_grpc_cpp(
4234   src/proto/grpc/testing/echo_messages.proto
4235 )
4236 protobuf_generate_grpc_cpp(
4237   src/proto/grpc/testing/echo.proto
4238 )
4239 protobuf_generate_grpc_cpp(
4240   src/proto/grpc/testing/duplicate/echo_duplicate.proto
4241 )
4242 protobuf_generate_grpc_cpp(
4243   src/proto/grpc/testing/simple_messages.proto
4244 )
4245
4246 target_include_directories(grpc++_test_util_unsecure
4247   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4248   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4249   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4250   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4251   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4252   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4253   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4254   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4255   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4256   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4257   PRIVATE third_party/googletest/googletest/include
4258   PRIVATE third_party/googletest/googletest
4259   PRIVATE third_party/googletest/googlemock/include
4260   PRIVATE third_party/googletest/googlemock
4261   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4262 )
4263 target_link_libraries(grpc++_test_util_unsecure
4264   ${_gRPC_PROTOBUF_LIBRARIES}
4265   ${_gRPC_ALLTARGETS_LIBRARIES}
4266   grpc++_unsecure
4267   grpc_test_util_unsecure
4268   grpc_unsecure
4269 )
4270
4271 foreach(_hdr
4272   include/grpc++/impl/codegen/async_stream.h
4273   include/grpc++/impl/codegen/async_unary_call.h
4274   include/grpc++/impl/codegen/byte_buffer.h
4275   include/grpc++/impl/codegen/call.h
4276   include/grpc++/impl/codegen/call_hook.h
4277   include/grpc++/impl/codegen/channel_interface.h
4278   include/grpc++/impl/codegen/client_context.h
4279   include/grpc++/impl/codegen/client_unary_call.h
4280   include/grpc++/impl/codegen/completion_queue.h
4281   include/grpc++/impl/codegen/completion_queue_tag.h
4282   include/grpc++/impl/codegen/config.h
4283   include/grpc++/impl/codegen/core_codegen_interface.h
4284   include/grpc++/impl/codegen/create_auth_context.h
4285   include/grpc++/impl/codegen/grpc_library.h
4286   include/grpc++/impl/codegen/metadata_map.h
4287   include/grpc++/impl/codegen/method_handler_impl.h
4288   include/grpc++/impl/codegen/rpc_method.h
4289   include/grpc++/impl/codegen/rpc_service_method.h
4290   include/grpc++/impl/codegen/security/auth_context.h
4291   include/grpc++/impl/codegen/serialization_traits.h
4292   include/grpc++/impl/codegen/server_context.h
4293   include/grpc++/impl/codegen/server_interface.h
4294   include/grpc++/impl/codegen/service_type.h
4295   include/grpc++/impl/codegen/slice.h
4296   include/grpc++/impl/codegen/status.h
4297   include/grpc++/impl/codegen/status_code_enum.h
4298   include/grpc++/impl/codegen/string_ref.h
4299   include/grpc++/impl/codegen/stub_options.h
4300   include/grpc++/impl/codegen/sync_stream.h
4301   include/grpc++/impl/codegen/time.h
4302   include/grpcpp/impl/codegen/async_generic_service.h
4303   include/grpcpp/impl/codegen/async_stream.h
4304   include/grpcpp/impl/codegen/async_unary_call.h
4305   include/grpcpp/impl/codegen/byte_buffer.h
4306   include/grpcpp/impl/codegen/call.h
4307   include/grpcpp/impl/codegen/call_hook.h
4308   include/grpcpp/impl/codegen/call_op_set.h
4309   include/grpcpp/impl/codegen/call_op_set_interface.h
4310   include/grpcpp/impl/codegen/callback_common.h
4311   include/grpcpp/impl/codegen/channel_interface.h
4312   include/grpcpp/impl/codegen/client_callback.h
4313   include/grpcpp/impl/codegen/client_context.h
4314   include/grpcpp/impl/codegen/client_interceptor.h
4315   include/grpcpp/impl/codegen/client_unary_call.h
4316   include/grpcpp/impl/codegen/completion_queue.h
4317   include/grpcpp/impl/codegen/completion_queue_tag.h
4318   include/grpcpp/impl/codegen/config.h
4319   include/grpcpp/impl/codegen/core_codegen_interface.h
4320   include/grpcpp/impl/codegen/create_auth_context.h
4321   include/grpcpp/impl/codegen/grpc_library.h
4322   include/grpcpp/impl/codegen/intercepted_channel.h
4323   include/grpcpp/impl/codegen/interceptor.h
4324   include/grpcpp/impl/codegen/interceptor_common.h
4325   include/grpcpp/impl/codegen/metadata_map.h
4326   include/grpcpp/impl/codegen/method_handler_impl.h
4327   include/grpcpp/impl/codegen/rpc_method.h
4328   include/grpcpp/impl/codegen/rpc_service_method.h
4329   include/grpcpp/impl/codegen/security/auth_context.h
4330   include/grpcpp/impl/codegen/serialization_traits.h
4331   include/grpcpp/impl/codegen/server_callback.h
4332   include/grpcpp/impl/codegen/server_context.h
4333   include/grpcpp/impl/codegen/server_interceptor.h
4334   include/grpcpp/impl/codegen/server_interface.h
4335   include/grpcpp/impl/codegen/service_type.h
4336   include/grpcpp/impl/codegen/slice.h
4337   include/grpcpp/impl/codegen/status.h
4338   include/grpcpp/impl/codegen/status_code_enum.h
4339   include/grpcpp/impl/codegen/string_ref.h
4340   include/grpcpp/impl/codegen/stub_options.h
4341   include/grpcpp/impl/codegen/sync_stream.h
4342   include/grpcpp/impl/codegen/time.h
4343   include/grpc/impl/codegen/byte_buffer.h
4344   include/grpc/impl/codegen/byte_buffer_reader.h
4345   include/grpc/impl/codegen/compression_types.h
4346   include/grpc/impl/codegen/connectivity_state.h
4347   include/grpc/impl/codegen/grpc_types.h
4348   include/grpc/impl/codegen/propagation_bits.h
4349   include/grpc/impl/codegen/slice.h
4350   include/grpc/impl/codegen/status.h
4351   include/grpc/impl/codegen/atm.h
4352   include/grpc/impl/codegen/atm_gcc_atomic.h
4353   include/grpc/impl/codegen/atm_gcc_sync.h
4354   include/grpc/impl/codegen/atm_windows.h
4355   include/grpc/impl/codegen/fork.h
4356   include/grpc/impl/codegen/gpr_slice.h
4357   include/grpc/impl/codegen/gpr_types.h
4358   include/grpc/impl/codegen/log.h
4359   include/grpc/impl/codegen/port_platform.h
4360   include/grpc/impl/codegen/sync.h
4361   include/grpc/impl/codegen/sync_custom.h
4362   include/grpc/impl/codegen/sync_generic.h
4363   include/grpc/impl/codegen/sync_posix.h
4364   include/grpc/impl/codegen/sync_windows.h
4365   include/grpc++/impl/codegen/proto_utils.h
4366   include/grpcpp/impl/codegen/proto_buffer_reader.h
4367   include/grpcpp/impl/codegen/proto_buffer_writer.h
4368   include/grpcpp/impl/codegen/proto_utils.h
4369   include/grpc++/impl/codegen/config_protobuf.h
4370   include/grpcpp/impl/codegen/config_protobuf.h
4371 )
4372   string(REPLACE "include/" "" _path ${_hdr})
4373   get_filename_component(_path ${_path} PATH)
4374   install(FILES ${_hdr}
4375     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4376   )
4377 endforeach()
4378 endif (gRPC_BUILD_CODEGEN)
4379
4380 endif (gRPC_BUILD_TESTS)
4381
4382 add_library(grpc++_unsecure
4383   src/cpp/client/insecure_credentials.cc
4384   src/cpp/common/insecure_create_auth_context.cc
4385   src/cpp/server/insecure_server_credentials.cc
4386   src/cpp/client/channel_cc.cc
4387   src/cpp/client/client_context.cc
4388   src/cpp/client/client_interceptor.cc
4389   src/cpp/client/create_channel.cc
4390   src/cpp/client/create_channel_internal.cc
4391   src/cpp/client/create_channel_posix.cc
4392   src/cpp/client/credentials_cc.cc
4393   src/cpp/client/generic_stub.cc
4394   src/cpp/common/alarm.cc
4395   src/cpp/common/channel_arguments.cc
4396   src/cpp/common/channel_filter.cc
4397   src/cpp/common/completion_queue_cc.cc
4398   src/cpp/common/core_codegen.cc
4399   src/cpp/common/resource_quota_cc.cc
4400   src/cpp/common/rpc_method.cc
4401   src/cpp/common/version_cc.cc
4402   src/cpp/server/async_generic_service.cc
4403   src/cpp/server/channel_argument_option.cc
4404   src/cpp/server/create_default_thread_pool.cc
4405   src/cpp/server/dynamic_thread_pool.cc
4406   src/cpp/server/health/default_health_check_service.cc
4407   src/cpp/server/health/health_check_service.cc
4408   src/cpp/server/health/health_check_service_server_builder_option.cc
4409   src/cpp/server/server_builder.cc
4410   src/cpp/server/server_cc.cc
4411   src/cpp/server/server_context.cc
4412   src/cpp/server/server_credentials.cc
4413   src/cpp/server/server_posix.cc
4414   src/cpp/thread_manager/thread_manager.cc
4415   src/cpp/util/byte_buffer_cc.cc
4416   src/cpp/util/status.cc
4417   src/cpp/util/string_ref.cc
4418   src/cpp/util/time_cc.cc
4419   src/core/ext/filters/client_channel/health/health.pb.c
4420   third_party/nanopb/pb_common.c
4421   third_party/nanopb/pb_decode.c
4422   third_party/nanopb/pb_encode.c
4423   src/cpp/codegen/codegen_init.cc
4424 )
4425
4426 if(WIN32 AND MSVC)
4427   set_target_properties(grpc++_unsecure PROPERTIES COMPILE_PDB_NAME "grpc++_unsecure"
4428     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4429   )
4430   if (gRPC_INSTALL)
4431     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_unsecure.pdb
4432       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4433     )
4434   endif()
4435 endif()
4436
4437
4438 target_include_directories(grpc++_unsecure
4439   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4440   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4441   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4442   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4443   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4444   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4445   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4446   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4447   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4448   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4449   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4450 )
4451 target_link_libraries(grpc++_unsecure
4452   ${_gRPC_BASELIB_LIBRARIES}
4453   ${_gRPC_PROTOBUF_LIBRARIES}
4454   ${_gRPC_ALLTARGETS_LIBRARIES}
4455   gpr
4456   grpc_unsecure
4457 )
4458
4459 foreach(_hdr
4460   include/grpc++/alarm.h
4461   include/grpc++/channel.h
4462   include/grpc++/client_context.h
4463   include/grpc++/completion_queue.h
4464   include/grpc++/create_channel.h
4465   include/grpc++/create_channel_posix.h
4466   include/grpc++/ext/health_check_service_server_builder_option.h
4467   include/grpc++/generic/async_generic_service.h
4468   include/grpc++/generic/generic_stub.h
4469   include/grpc++/grpc++.h
4470   include/grpc++/health_check_service_interface.h
4471   include/grpc++/impl/call.h
4472   include/grpc++/impl/channel_argument_option.h
4473   include/grpc++/impl/client_unary_call.h
4474   include/grpc++/impl/codegen/core_codegen.h
4475   include/grpc++/impl/grpc_library.h
4476   include/grpc++/impl/method_handler_impl.h
4477   include/grpc++/impl/rpc_method.h
4478   include/grpc++/impl/rpc_service_method.h
4479   include/grpc++/impl/serialization_traits.h
4480   include/grpc++/impl/server_builder_option.h
4481   include/grpc++/impl/server_builder_plugin.h
4482   include/grpc++/impl/server_initializer.h
4483   include/grpc++/impl/service_type.h
4484   include/grpc++/resource_quota.h
4485   include/grpc++/security/auth_context.h
4486   include/grpc++/security/auth_metadata_processor.h
4487   include/grpc++/security/credentials.h
4488   include/grpc++/security/server_credentials.h
4489   include/grpc++/server.h
4490   include/grpc++/server_builder.h
4491   include/grpc++/server_context.h
4492   include/grpc++/server_posix.h
4493   include/grpc++/support/async_stream.h
4494   include/grpc++/support/async_unary_call.h
4495   include/grpc++/support/byte_buffer.h
4496   include/grpc++/support/channel_arguments.h
4497   include/grpc++/support/config.h
4498   include/grpc++/support/slice.h
4499   include/grpc++/support/status.h
4500   include/grpc++/support/status_code_enum.h
4501   include/grpc++/support/string_ref.h
4502   include/grpc++/support/stub_options.h
4503   include/grpc++/support/sync_stream.h
4504   include/grpc++/support/time.h
4505   include/grpcpp/alarm.h
4506   include/grpcpp/alarm_impl.h
4507   include/grpcpp/channel.h
4508   include/grpcpp/client_context.h
4509   include/grpcpp/completion_queue.h
4510   include/grpcpp/create_channel.h
4511   include/grpcpp/create_channel_posix.h
4512   include/grpcpp/ext/health_check_service_server_builder_option.h
4513   include/grpcpp/generic/async_generic_service.h
4514   include/grpcpp/generic/generic_stub.h
4515   include/grpcpp/grpcpp.h
4516   include/grpcpp/health_check_service_interface.h
4517   include/grpcpp/impl/call.h
4518   include/grpcpp/impl/channel_argument_option.h
4519   include/grpcpp/impl/client_unary_call.h
4520   include/grpcpp/impl/codegen/core_codegen.h
4521   include/grpcpp/impl/grpc_library.h
4522   include/grpcpp/impl/method_handler_impl.h
4523   include/grpcpp/impl/rpc_method.h
4524   include/grpcpp/impl/rpc_service_method.h
4525   include/grpcpp/impl/serialization_traits.h
4526   include/grpcpp/impl/server_builder_option.h
4527   include/grpcpp/impl/server_builder_plugin.h
4528   include/grpcpp/impl/server_initializer.h
4529   include/grpcpp/impl/service_type.h
4530   include/grpcpp/resource_quota.h
4531   include/grpcpp/security/auth_context.h
4532   include/grpcpp/security/auth_metadata_processor.h
4533   include/grpcpp/security/credentials.h
4534   include/grpcpp/security/server_credentials.h
4535   include/grpcpp/server.h
4536   include/grpcpp/server_builder.h
4537   include/grpcpp/server_context.h
4538   include/grpcpp/server_posix.h
4539   include/grpcpp/support/async_stream.h
4540   include/grpcpp/support/async_unary_call.h
4541   include/grpcpp/support/byte_buffer.h
4542   include/grpcpp/support/channel_arguments.h
4543   include/grpcpp/support/client_callback.h
4544   include/grpcpp/support/client_interceptor.h
4545   include/grpcpp/support/config.h
4546   include/grpcpp/support/interceptor.h
4547   include/grpcpp/support/proto_buffer_reader.h
4548   include/grpcpp/support/proto_buffer_writer.h
4549   include/grpcpp/support/server_callback.h
4550   include/grpcpp/support/server_interceptor.h
4551   include/grpcpp/support/slice.h
4552   include/grpcpp/support/status.h
4553   include/grpcpp/support/status_code_enum.h
4554   include/grpcpp/support/string_ref.h
4555   include/grpcpp/support/stub_options.h
4556   include/grpcpp/support/sync_stream.h
4557   include/grpcpp/support/time.h
4558   include/grpc/support/alloc.h
4559   include/grpc/support/atm.h
4560   include/grpc/support/atm_gcc_atomic.h
4561   include/grpc/support/atm_gcc_sync.h
4562   include/grpc/support/atm_windows.h
4563   include/grpc/support/cpu.h
4564   include/grpc/support/log.h
4565   include/grpc/support/log_windows.h
4566   include/grpc/support/port_platform.h
4567   include/grpc/support/string_util.h
4568   include/grpc/support/sync.h
4569   include/grpc/support/sync_custom.h
4570   include/grpc/support/sync_generic.h
4571   include/grpc/support/sync_posix.h
4572   include/grpc/support/sync_windows.h
4573   include/grpc/support/thd_id.h
4574   include/grpc/support/time.h
4575   include/grpc/impl/codegen/atm.h
4576   include/grpc/impl/codegen/atm_gcc_atomic.h
4577   include/grpc/impl/codegen/atm_gcc_sync.h
4578   include/grpc/impl/codegen/atm_windows.h
4579   include/grpc/impl/codegen/fork.h
4580   include/grpc/impl/codegen/gpr_slice.h
4581   include/grpc/impl/codegen/gpr_types.h
4582   include/grpc/impl/codegen/log.h
4583   include/grpc/impl/codegen/port_platform.h
4584   include/grpc/impl/codegen/sync.h
4585   include/grpc/impl/codegen/sync_custom.h
4586   include/grpc/impl/codegen/sync_generic.h
4587   include/grpc/impl/codegen/sync_posix.h
4588   include/grpc/impl/codegen/sync_windows.h
4589   include/grpc/byte_buffer.h
4590   include/grpc/byte_buffer_reader.h
4591   include/grpc/compression.h
4592   include/grpc/fork.h
4593   include/grpc/grpc.h
4594   include/grpc/grpc_posix.h
4595   include/grpc/grpc_security_constants.h
4596   include/grpc/load_reporting.h
4597   include/grpc/slice.h
4598   include/grpc/slice_buffer.h
4599   include/grpc/status.h
4600   include/grpc/support/workaround_list.h
4601   include/grpc/impl/codegen/byte_buffer.h
4602   include/grpc/impl/codegen/byte_buffer_reader.h
4603   include/grpc/impl/codegen/compression_types.h
4604   include/grpc/impl/codegen/connectivity_state.h
4605   include/grpc/impl/codegen/grpc_types.h
4606   include/grpc/impl/codegen/propagation_bits.h
4607   include/grpc/impl/codegen/slice.h
4608   include/grpc/impl/codegen/status.h
4609   include/grpc++/impl/codegen/async_stream.h
4610   include/grpc++/impl/codegen/async_unary_call.h
4611   include/grpc++/impl/codegen/byte_buffer.h
4612   include/grpc++/impl/codegen/call.h
4613   include/grpc++/impl/codegen/call_hook.h
4614   include/grpc++/impl/codegen/channel_interface.h
4615   include/grpc++/impl/codegen/client_context.h
4616   include/grpc++/impl/codegen/client_unary_call.h
4617   include/grpc++/impl/codegen/completion_queue.h
4618   include/grpc++/impl/codegen/completion_queue_tag.h
4619   include/grpc++/impl/codegen/config.h
4620   include/grpc++/impl/codegen/core_codegen_interface.h
4621   include/grpc++/impl/codegen/create_auth_context.h
4622   include/grpc++/impl/codegen/grpc_library.h
4623   include/grpc++/impl/codegen/metadata_map.h
4624   include/grpc++/impl/codegen/method_handler_impl.h
4625   include/grpc++/impl/codegen/rpc_method.h
4626   include/grpc++/impl/codegen/rpc_service_method.h
4627   include/grpc++/impl/codegen/security/auth_context.h
4628   include/grpc++/impl/codegen/serialization_traits.h
4629   include/grpc++/impl/codegen/server_context.h
4630   include/grpc++/impl/codegen/server_interface.h
4631   include/grpc++/impl/codegen/service_type.h
4632   include/grpc++/impl/codegen/slice.h
4633   include/grpc++/impl/codegen/status.h
4634   include/grpc++/impl/codegen/status_code_enum.h
4635   include/grpc++/impl/codegen/string_ref.h
4636   include/grpc++/impl/codegen/stub_options.h
4637   include/grpc++/impl/codegen/sync_stream.h
4638   include/grpc++/impl/codegen/time.h
4639   include/grpcpp/impl/codegen/async_generic_service.h
4640   include/grpcpp/impl/codegen/async_stream.h
4641   include/grpcpp/impl/codegen/async_unary_call.h
4642   include/grpcpp/impl/codegen/byte_buffer.h
4643   include/grpcpp/impl/codegen/call.h
4644   include/grpcpp/impl/codegen/call_hook.h
4645   include/grpcpp/impl/codegen/call_op_set.h
4646   include/grpcpp/impl/codegen/call_op_set_interface.h
4647   include/grpcpp/impl/codegen/callback_common.h
4648   include/grpcpp/impl/codegen/channel_interface.h
4649   include/grpcpp/impl/codegen/client_callback.h
4650   include/grpcpp/impl/codegen/client_context.h
4651   include/grpcpp/impl/codegen/client_interceptor.h
4652   include/grpcpp/impl/codegen/client_unary_call.h
4653   include/grpcpp/impl/codegen/completion_queue.h
4654   include/grpcpp/impl/codegen/completion_queue_tag.h
4655   include/grpcpp/impl/codegen/config.h
4656   include/grpcpp/impl/codegen/core_codegen_interface.h
4657   include/grpcpp/impl/codegen/create_auth_context.h
4658   include/grpcpp/impl/codegen/grpc_library.h
4659   include/grpcpp/impl/codegen/intercepted_channel.h
4660   include/grpcpp/impl/codegen/interceptor.h
4661   include/grpcpp/impl/codegen/interceptor_common.h
4662   include/grpcpp/impl/codegen/metadata_map.h
4663   include/grpcpp/impl/codegen/method_handler_impl.h
4664   include/grpcpp/impl/codegen/rpc_method.h
4665   include/grpcpp/impl/codegen/rpc_service_method.h
4666   include/grpcpp/impl/codegen/security/auth_context.h
4667   include/grpcpp/impl/codegen/serialization_traits.h
4668   include/grpcpp/impl/codegen/server_callback.h
4669   include/grpcpp/impl/codegen/server_context.h
4670   include/grpcpp/impl/codegen/server_interceptor.h
4671   include/grpcpp/impl/codegen/server_interface.h
4672   include/grpcpp/impl/codegen/service_type.h
4673   include/grpcpp/impl/codegen/slice.h
4674   include/grpcpp/impl/codegen/status.h
4675   include/grpcpp/impl/codegen/status_code_enum.h
4676   include/grpcpp/impl/codegen/string_ref.h
4677   include/grpcpp/impl/codegen/stub_options.h
4678   include/grpcpp/impl/codegen/sync_stream.h
4679   include/grpcpp/impl/codegen/time.h
4680 )
4681   string(REPLACE "include/" "" _path ${_hdr})
4682   get_filename_component(_path ${_path} PATH)
4683   install(FILES ${_hdr}
4684     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4685   )
4686 endforeach()
4687
4688
4689 if (gRPC_INSTALL)
4690   install(TARGETS grpc++_unsecure EXPORT gRPCTargets
4691     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
4692     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
4693     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
4694   )
4695 endif()
4696
4697 if (gRPC_BUILD_TESTS)
4698
4699 add_library(grpc_benchmark
4700   test/cpp/microbenchmarks/helpers.cc
4701 )
4702
4703 if(WIN32 AND MSVC)
4704   set_target_properties(grpc_benchmark PROPERTIES COMPILE_PDB_NAME "grpc_benchmark"
4705     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4706   )
4707   if (gRPC_INSTALL)
4708     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_benchmark.pdb
4709       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4710     )
4711   endif()
4712 endif()
4713
4714
4715 target_include_directories(grpc_benchmark
4716   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4717   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4718   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4719   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4720   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4721   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4722   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4723   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4724   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4725   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4726   PRIVATE third_party/googletest/googletest/include
4727   PRIVATE third_party/googletest/googletest
4728   PRIVATE third_party/googletest/googlemock/include
4729   PRIVATE third_party/googletest/googlemock
4730   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4731 )
4732 target_link_libraries(grpc_benchmark
4733   ${_gRPC_PROTOBUF_LIBRARIES}
4734   ${_gRPC_ALLTARGETS_LIBRARIES}
4735   ${_gRPC_BENCHMARK_LIBRARIES}
4736   grpc++_unsecure
4737   grpc_test_util_unsecure
4738   grpc_unsecure
4739   ${_gRPC_GFLAGS_LIBRARIES}
4740 )
4741
4742
4743 endif (gRPC_BUILD_TESTS)
4744 if (gRPC_BUILD_TESTS)
4745
4746 if (gRPC_BUILD_CODEGEN)
4747 add_library(grpc_cli_libs
4748   test/cpp/util/cli_call.cc
4749   test/cpp/util/cli_credentials.cc
4750   test/cpp/util/grpc_tool.cc
4751   test/cpp/util/proto_file_parser.cc
4752   test/cpp/util/service_describer.cc
4753   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc
4754   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc
4755   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h
4756   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h
4757 )
4758
4759 if(WIN32 AND MSVC)
4760   set_target_properties(grpc_cli_libs PROPERTIES COMPILE_PDB_NAME "grpc_cli_libs"
4761     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4762   )
4763   if (gRPC_INSTALL)
4764     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_cli_libs.pdb
4765       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4766     )
4767   endif()
4768 endif()
4769
4770 protobuf_generate_grpc_cpp(
4771   src/proto/grpc/reflection/v1alpha/reflection.proto
4772 )
4773
4774 target_include_directories(grpc_cli_libs
4775   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4776   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4777   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4778   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4779   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4780   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4781   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4782   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4783   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4784   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4785   PRIVATE third_party/googletest/googletest/include
4786   PRIVATE third_party/googletest/googletest
4787   PRIVATE third_party/googletest/googlemock/include
4788   PRIVATE third_party/googletest/googlemock
4789   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4790 )
4791 target_link_libraries(grpc_cli_libs
4792   ${_gRPC_PROTOBUF_LIBRARIES}
4793   ${_gRPC_ALLTARGETS_LIBRARIES}
4794   grpc++_proto_reflection_desc_db
4795   grpc++
4796   grpc
4797 )
4798
4799 foreach(_hdr
4800   include/grpc++/impl/codegen/config_protobuf.h
4801   include/grpcpp/impl/codegen/config_protobuf.h
4802 )
4803   string(REPLACE "include/" "" _path ${_hdr})
4804   get_filename_component(_path ${_path} PATH)
4805   install(FILES ${_hdr}
4806     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4807   )
4808 endforeach()
4809 endif (gRPC_BUILD_CODEGEN)
4810
4811 endif (gRPC_BUILD_TESTS)
4812
4813 add_library(grpc_plugin_support
4814   src/compiler/cpp_generator.cc
4815   src/compiler/csharp_generator.cc
4816   src/compiler/node_generator.cc
4817   src/compiler/objective_c_generator.cc
4818   src/compiler/php_generator.cc
4819   src/compiler/python_generator.cc
4820   src/compiler/ruby_generator.cc
4821 )
4822
4823 if(WIN32 AND MSVC)
4824   set_target_properties(grpc_plugin_support PROPERTIES COMPILE_PDB_NAME "grpc_plugin_support"
4825     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4826   )
4827   if (gRPC_INSTALL)
4828     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_plugin_support.pdb
4829       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4830     )
4831   endif()
4832 endif()
4833
4834
4835 target_include_directories(grpc_plugin_support
4836   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4837   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4838   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4839   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4840   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4841   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4842   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4843   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4844   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4845   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4846   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4847 )
4848 target_link_libraries(grpc_plugin_support
4849   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
4850   ${_gRPC_PROTOBUF_LIBRARIES}
4851   ${_gRPC_ALLTARGETS_LIBRARIES}
4852 )
4853
4854 foreach(_hdr
4855   include/grpc++/impl/codegen/config_protobuf.h
4856   include/grpcpp/impl/codegen/config_protobuf.h
4857 )
4858   string(REPLACE "include/" "" _path ${_hdr})
4859   get_filename_component(_path ${_path} PATH)
4860   install(FILES ${_hdr}
4861     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4862   )
4863 endforeach()
4864
4865
4866 if (gRPC_INSTALL)
4867   install(TARGETS grpc_plugin_support EXPORT gRPCTargets
4868     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
4869     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
4870     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
4871   )
4872 endif()
4873
4874
4875 if (gRPC_BUILD_CODEGEN)
4876 add_library(grpcpp_channelz
4877   src/cpp/server/channelz/channelz_service.cc
4878   src/cpp/server/channelz/channelz_service_plugin.cc
4879   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
4880   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
4881   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
4882   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
4883 )
4884
4885 if(WIN32 AND MSVC)
4886   set_target_properties(grpcpp_channelz PROPERTIES COMPILE_PDB_NAME "grpcpp_channelz"
4887     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4888   )
4889   if (gRPC_INSTALL)
4890     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpcpp_channelz.pdb
4891       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4892     )
4893   endif()
4894 endif()
4895
4896 protobuf_generate_grpc_cpp(
4897   src/proto/grpc/channelz/channelz.proto
4898 )
4899
4900 target_include_directories(grpcpp_channelz
4901   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4902   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4903   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4904   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4905   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4906   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4907   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4908   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4909   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4910   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4911   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4912 )
4913 target_link_libraries(grpcpp_channelz
4914   ${_gRPC_PROTOBUF_LIBRARIES}
4915   ${_gRPC_ALLTARGETS_LIBRARIES}
4916   grpc++
4917   grpc
4918 )
4919
4920 foreach(_hdr
4921   include/grpcpp/ext/channelz_service_plugin.h
4922 )
4923   string(REPLACE "include/" "" _path ${_hdr})
4924   get_filename_component(_path ${_path} PATH)
4925   install(FILES ${_hdr}
4926     DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
4927   )
4928 endforeach()
4929 endif (gRPC_BUILD_CODEGEN)
4930
4931
4932 if (gRPC_INSTALL)
4933   install(TARGETS grpcpp_channelz EXPORT gRPCTargets
4934     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
4935     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
4936     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
4937   )
4938 endif()
4939
4940 if (gRPC_BUILD_TESTS)
4941
4942 if (gRPC_BUILD_CODEGEN)
4943 add_library(http2_client_main
4944   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
4945   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
4946   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
4947   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
4948   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
4949   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
4950   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
4951   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
4952   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
4953   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
4954   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
4955   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
4956   test/cpp/interop/http2_client.cc
4957 )
4958
4959 if(WIN32 AND MSVC)
4960   set_target_properties(http2_client_main PROPERTIES COMPILE_PDB_NAME "http2_client_main"
4961     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
4962   )
4963   if (gRPC_INSTALL)
4964     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/http2_client_main.pdb
4965       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
4966     )
4967   endif()
4968 endif()
4969
4970 protobuf_generate_grpc_cpp(
4971   src/proto/grpc/testing/empty.proto
4972 )
4973 protobuf_generate_grpc_cpp(
4974   src/proto/grpc/testing/messages.proto
4975 )
4976 protobuf_generate_grpc_cpp(
4977   src/proto/grpc/testing/test.proto
4978 )
4979
4980 target_include_directories(http2_client_main
4981   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
4982   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
4983   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
4984   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
4985   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
4986   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
4987   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
4988   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
4989   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
4990   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
4991   PRIVATE third_party/googletest/googletest/include
4992   PRIVATE third_party/googletest/googletest
4993   PRIVATE third_party/googletest/googlemock/include
4994   PRIVATE third_party/googletest/googlemock
4995   PRIVATE ${_gRPC_PROTO_GENS_DIR}
4996 )
4997 target_link_libraries(http2_client_main
4998   ${_gRPC_PROTOBUF_LIBRARIES}
4999   ${_gRPC_ALLTARGETS_LIBRARIES}
5000   grpc++_test_util
5001   grpc_test_util
5002   grpc++
5003   grpc
5004   grpc++_test_config
5005 )
5006
5007 endif (gRPC_BUILD_CODEGEN)
5008
5009 endif (gRPC_BUILD_TESTS)
5010 if (gRPC_BUILD_TESTS)
5011
5012 if (gRPC_BUILD_CODEGEN)
5013 add_library(interop_client_helper
5014   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5015   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5016   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5017   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5018   test/cpp/interop/client_helper.cc
5019 )
5020
5021 if(WIN32 AND MSVC)
5022   set_target_properties(interop_client_helper PROPERTIES COMPILE_PDB_NAME "interop_client_helper"
5023     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5024   )
5025   if (gRPC_INSTALL)
5026     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_client_helper.pdb
5027       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5028     )
5029   endif()
5030 endif()
5031
5032 protobuf_generate_grpc_cpp(
5033   src/proto/grpc/testing/messages.proto
5034 )
5035
5036 target_include_directories(interop_client_helper
5037   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5038   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5039   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5040   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5041   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5042   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5043   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5044   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5045   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5046   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5047   PRIVATE third_party/googletest/googletest/include
5048   PRIVATE third_party/googletest/googletest
5049   PRIVATE third_party/googletest/googlemock/include
5050   PRIVATE third_party/googletest/googlemock
5051   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5052 )
5053 target_link_libraries(interop_client_helper
5054   ${_gRPC_PROTOBUF_LIBRARIES}
5055   ${_gRPC_ALLTARGETS_LIBRARIES}
5056   grpc++_test_util
5057   grpc_test_util
5058   grpc++
5059   grpc
5060   gpr
5061 )
5062
5063 endif (gRPC_BUILD_CODEGEN)
5064
5065 endif (gRPC_BUILD_TESTS)
5066 if (gRPC_BUILD_TESTS)
5067
5068 if (gRPC_BUILD_CODEGEN)
5069 add_library(interop_client_main
5070   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
5071   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
5072   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
5073   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
5074   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5075   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5076   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5077   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5078   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
5079   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
5080   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
5081   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
5082   test/cpp/interop/client.cc
5083   test/cpp/interop/interop_client.cc
5084 )
5085
5086 if(WIN32 AND MSVC)
5087   set_target_properties(interop_client_main PROPERTIES COMPILE_PDB_NAME "interop_client_main"
5088     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5089   )
5090   if (gRPC_INSTALL)
5091     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_client_main.pdb
5092       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5093     )
5094   endif()
5095 endif()
5096
5097 protobuf_generate_grpc_cpp(
5098   src/proto/grpc/testing/empty.proto
5099 )
5100 protobuf_generate_grpc_cpp(
5101   src/proto/grpc/testing/messages.proto
5102 )
5103 protobuf_generate_grpc_cpp(
5104   src/proto/grpc/testing/test.proto
5105 )
5106
5107 target_include_directories(interop_client_main
5108   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5109   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5110   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5111   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5112   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5113   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5114   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5115   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5116   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5117   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5118   PRIVATE third_party/googletest/googletest/include
5119   PRIVATE third_party/googletest/googletest
5120   PRIVATE third_party/googletest/googlemock/include
5121   PRIVATE third_party/googletest/googlemock
5122   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5123 )
5124 target_link_libraries(interop_client_main
5125   ${_gRPC_PROTOBUF_LIBRARIES}
5126   ${_gRPC_ALLTARGETS_LIBRARIES}
5127   interop_client_helper
5128   grpc++_test_util
5129   grpc_test_util
5130   grpc++
5131   grpc
5132   gpr
5133   grpc++_test_config
5134 )
5135
5136 endif (gRPC_BUILD_CODEGEN)
5137
5138 endif (gRPC_BUILD_TESTS)
5139 if (gRPC_BUILD_TESTS)
5140
5141 add_library(interop_server_helper
5142   test/cpp/interop/server_helper.cc
5143 )
5144
5145 if(WIN32 AND MSVC)
5146   set_target_properties(interop_server_helper PROPERTIES COMPILE_PDB_NAME "interop_server_helper"
5147     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5148   )
5149   if (gRPC_INSTALL)
5150     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_server_helper.pdb
5151       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5152     )
5153   endif()
5154 endif()
5155
5156
5157 target_include_directories(interop_server_helper
5158   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5159   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5160   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5161   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5162   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5163   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5164   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5165   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5166   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5167   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5168   PRIVATE third_party/googletest/googletest/include
5169   PRIVATE third_party/googletest/googletest
5170   PRIVATE third_party/googletest/googlemock/include
5171   PRIVATE third_party/googletest/googlemock
5172   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5173 )
5174 target_link_libraries(interop_server_helper
5175   ${_gRPC_PROTOBUF_LIBRARIES}
5176   ${_gRPC_ALLTARGETS_LIBRARIES}
5177   grpc++_test_util
5178   grpc_test_util
5179   grpc++
5180   grpc
5181   gpr
5182 )
5183
5184
5185 endif (gRPC_BUILD_TESTS)
5186 if (gRPC_BUILD_TESTS)
5187
5188 if (gRPC_BUILD_CODEGEN)
5189 add_library(interop_server_lib
5190   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
5191   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
5192   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
5193   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
5194   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5195   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5196   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5197   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5198   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
5199   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
5200   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
5201   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
5202   test/cpp/interop/interop_server.cc
5203 )
5204
5205 if(WIN32 AND MSVC)
5206   set_target_properties(interop_server_lib PROPERTIES COMPILE_PDB_NAME "interop_server_lib"
5207     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5208   )
5209   if (gRPC_INSTALL)
5210     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_server_lib.pdb
5211       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5212     )
5213   endif()
5214 endif()
5215
5216 protobuf_generate_grpc_cpp(
5217   src/proto/grpc/testing/empty.proto
5218 )
5219 protobuf_generate_grpc_cpp(
5220   src/proto/grpc/testing/messages.proto
5221 )
5222 protobuf_generate_grpc_cpp(
5223   src/proto/grpc/testing/test.proto
5224 )
5225
5226 target_include_directories(interop_server_lib
5227   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5228   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5229   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5230   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5231   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5232   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5233   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5234   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5235   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5236   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5237   PRIVATE third_party/googletest/googletest/include
5238   PRIVATE third_party/googletest/googletest
5239   PRIVATE third_party/googletest/googlemock/include
5240   PRIVATE third_party/googletest/googlemock
5241   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5242 )
5243 target_link_libraries(interop_server_lib
5244   ${_gRPC_PROTOBUF_LIBRARIES}
5245   ${_gRPC_ALLTARGETS_LIBRARIES}
5246   interop_server_helper
5247   grpc++_test_util
5248   grpc_test_util
5249   grpc++
5250   grpc
5251   gpr
5252   grpc++_test_config
5253 )
5254
5255 endif (gRPC_BUILD_CODEGEN)
5256
5257 endif (gRPC_BUILD_TESTS)
5258 if (gRPC_BUILD_TESTS)
5259
5260 add_library(interop_server_main
5261   test/cpp/interop/interop_server_bootstrap.cc
5262 )
5263
5264 if(WIN32 AND MSVC)
5265   set_target_properties(interop_server_main PROPERTIES COMPILE_PDB_NAME "interop_server_main"
5266     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5267   )
5268   if (gRPC_INSTALL)
5269     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/interop_server_main.pdb
5270       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5271     )
5272   endif()
5273 endif()
5274
5275
5276 target_include_directories(interop_server_main
5277   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5278   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5279   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5280   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5281   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5282   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5283   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5284   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5285   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5286   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5287   PRIVATE third_party/googletest/googletest/include
5288   PRIVATE third_party/googletest/googletest
5289   PRIVATE third_party/googletest/googlemock/include
5290   PRIVATE third_party/googletest/googlemock
5291   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5292 )
5293 target_link_libraries(interop_server_main
5294   ${_gRPC_PROTOBUF_LIBRARIES}
5295   ${_gRPC_ALLTARGETS_LIBRARIES}
5296   interop_server_lib
5297 )
5298
5299
5300 endif (gRPC_BUILD_TESTS)
5301 if (gRPC_BUILD_TESTS)
5302
5303 if (gRPC_BUILD_CODEGEN)
5304 add_library(qps
5305   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
5306   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
5307   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
5308   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
5309   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.cc
5310   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.cc
5311   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.h
5312   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.h
5313   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.cc
5314   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.cc
5315   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.h
5316   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.h
5317   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.cc
5318   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.cc
5319   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.h
5320   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.h
5321   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.cc
5322   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.cc
5323   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.h
5324   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.h
5325   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.cc
5326   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.cc
5327   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.h
5328   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.h
5329   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.cc
5330   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.cc
5331   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.h
5332   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.h
5333   test/cpp/qps/benchmark_config.cc
5334   test/cpp/qps/client_async.cc
5335   test/cpp/qps/client_callback.cc
5336   test/cpp/qps/client_sync.cc
5337   test/cpp/qps/driver.cc
5338   test/cpp/qps/parse_json.cc
5339   test/cpp/qps/qps_server_builder.cc
5340   test/cpp/qps/qps_worker.cc
5341   test/cpp/qps/report.cc
5342   test/cpp/qps/server_async.cc
5343   test/cpp/qps/server_callback.cc
5344   test/cpp/qps/server_sync.cc
5345   test/cpp/qps/usage_timer.cc
5346 )
5347
5348 if(WIN32 AND MSVC)
5349   set_target_properties(qps PROPERTIES COMPILE_PDB_NAME "qps"
5350     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5351   )
5352   if (gRPC_INSTALL)
5353     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qps.pdb
5354       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5355     )
5356   endif()
5357 endif()
5358
5359 protobuf_generate_grpc_cpp(
5360   src/proto/grpc/testing/messages.proto
5361 )
5362 protobuf_generate_grpc_cpp(
5363   src/proto/grpc/testing/payloads.proto
5364 )
5365 protobuf_generate_grpc_cpp(
5366   src/proto/grpc/testing/stats.proto
5367 )
5368 protobuf_generate_grpc_cpp(
5369   src/proto/grpc/testing/control.proto
5370 )
5371 protobuf_generate_grpc_cpp(
5372   src/proto/grpc/testing/benchmark_service.proto
5373 )
5374 protobuf_generate_grpc_cpp(
5375   src/proto/grpc/testing/report_qps_scenario_service.proto
5376 )
5377 protobuf_generate_grpc_cpp(
5378   src/proto/grpc/testing/worker_service.proto
5379 )
5380
5381 target_include_directories(qps
5382   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5383   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5384   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5385   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5386   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5387   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5388   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5389   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5390   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5391   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5392   PRIVATE third_party/googletest/googletest/include
5393   PRIVATE third_party/googletest/googletest
5394   PRIVATE third_party/googletest/googlemock/include
5395   PRIVATE third_party/googletest/googlemock
5396   PRIVATE ${_gRPC_PROTO_GENS_DIR}
5397 )
5398 target_link_libraries(qps
5399   ${_gRPC_PROTOBUF_LIBRARIES}
5400   ${_gRPC_ALLTARGETS_LIBRARIES}
5401   grpc_test_util
5402   grpc++_test_util
5403   grpc++_core_stats
5404   grpc++
5405   grpc
5406 )
5407
5408 endif (gRPC_BUILD_CODEGEN)
5409
5410 endif (gRPC_BUILD_TESTS)
5411 if (gRPC_BUILD_CSHARP_EXT)
5412
5413 add_library(grpc_csharp_ext SHARED
5414   src/csharp/ext/grpc_csharp_ext.c
5415 )
5416
5417 if(WIN32 AND MSVC)
5418   set_target_properties(grpc_csharp_ext PROPERTIES COMPILE_PDB_NAME "grpc_csharp_ext"
5419     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5420   )
5421   if (gRPC_INSTALL)
5422     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_csharp_ext.pdb
5423       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5424     )
5425   endif()
5426 endif()
5427
5428
5429 target_include_directories(grpc_csharp_ext
5430   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5431   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5432   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5433   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5434   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5435   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5436   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5437   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5438   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5439   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5440 )
5441   # avoid dependency on libstdc++
5442   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5443     set_target_properties(grpc_csharp_ext PROPERTIES LINKER_LANGUAGE C)
5444     # only use the flags for C++ source files
5445     target_compile_options(grpc_csharp_ext PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5446   endif()
5447 target_link_libraries(grpc_csharp_ext
5448   ${_gRPC_ALLTARGETS_LIBRARIES}
5449   grpc
5450   gpr
5451 )
5452
5453
5454
5455 if (gRPC_INSTALL)
5456   install(TARGETS grpc_csharp_ext EXPORT gRPCTargets
5457     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
5458     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
5459     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
5460   )
5461 endif()
5462
5463 endif (gRPC_BUILD_CSHARP_EXT)
5464 if (gRPC_BUILD_TESTS)
5465
5466 add_library(bad_client_test
5467   test/core/bad_client/bad_client.cc
5468 )
5469
5470 if(WIN32 AND MSVC)
5471   set_target_properties(bad_client_test PROPERTIES COMPILE_PDB_NAME "bad_client_test"
5472     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5473   )
5474   if (gRPC_INSTALL)
5475     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bad_client_test.pdb
5476       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5477     )
5478   endif()
5479 endif()
5480
5481
5482 target_include_directories(bad_client_test
5483   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5484   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5485   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5486   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5487   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5488   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5489   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5490   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5491   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5492   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5493 )
5494   # avoid dependency on libstdc++
5495   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5496     set_target_properties(bad_client_test PROPERTIES LINKER_LANGUAGE C)
5497     # only use the flags for C++ source files
5498     target_compile_options(bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5499   endif()
5500 target_link_libraries(bad_client_test
5501   ${_gRPC_ALLTARGETS_LIBRARIES}
5502   grpc_test_util_unsecure
5503   grpc_unsecure
5504   gpr
5505 )
5506
5507
5508 endif (gRPC_BUILD_TESTS)
5509 if (gRPC_BUILD_TESTS)
5510
5511 add_library(bad_ssl_test_server
5512   test/core/bad_ssl/server_common.cc
5513 )
5514
5515 if(WIN32 AND MSVC)
5516   set_target_properties(bad_ssl_test_server PROPERTIES COMPILE_PDB_NAME "bad_ssl_test_server"
5517     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5518   )
5519   if (gRPC_INSTALL)
5520     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bad_ssl_test_server.pdb
5521       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5522     )
5523   endif()
5524 endif()
5525
5526
5527 target_include_directories(bad_ssl_test_server
5528   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5529   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5530   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5531   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5532   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5533   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5534   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5535   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5536   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5537   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5538 )
5539   # avoid dependency on libstdc++
5540   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5541     set_target_properties(bad_ssl_test_server PROPERTIES LINKER_LANGUAGE C)
5542     # only use the flags for C++ source files
5543     target_compile_options(bad_ssl_test_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5544   endif()
5545 target_link_libraries(bad_ssl_test_server
5546   ${_gRPC_ALLTARGETS_LIBRARIES}
5547   grpc_test_util
5548   grpc
5549   gpr
5550 )
5551
5552
5553 endif (gRPC_BUILD_TESTS)
5554 if (gRPC_BUILD_TESTS)
5555
5556 add_library(end2end_tests
5557   test/core/end2end/end2end_tests.cc
5558   test/core/end2end/end2end_test_utils.cc
5559   test/core/end2end/tests/authority_not_supported.cc
5560   test/core/end2end/tests/bad_hostname.cc
5561   test/core/end2end/tests/bad_ping.cc
5562   test/core/end2end/tests/binary_metadata.cc
5563   test/core/end2end/tests/call_creds.cc
5564   test/core/end2end/tests/call_host_override.cc
5565   test/core/end2end/tests/cancel_after_accept.cc
5566   test/core/end2end/tests/cancel_after_client_done.cc
5567   test/core/end2end/tests/cancel_after_invoke.cc
5568   test/core/end2end/tests/cancel_after_round_trip.cc
5569   test/core/end2end/tests/cancel_before_invoke.cc
5570   test/core/end2end/tests/cancel_in_a_vacuum.cc
5571   test/core/end2end/tests/cancel_with_status.cc
5572   test/core/end2end/tests/channelz.cc
5573   test/core/end2end/tests/compressed_payload.cc
5574   test/core/end2end/tests/connectivity.cc
5575   test/core/end2end/tests/default_host.cc
5576   test/core/end2end/tests/disappearing_server.cc
5577   test/core/end2end/tests/empty_batch.cc
5578   test/core/end2end/tests/filter_call_init_fails.cc
5579   test/core/end2end/tests/filter_causes_close.cc
5580   test/core/end2end/tests/filter_latency.cc
5581   test/core/end2end/tests/filter_status_code.cc
5582   test/core/end2end/tests/graceful_server_shutdown.cc
5583   test/core/end2end/tests/high_initial_seqno.cc
5584   test/core/end2end/tests/hpack_size.cc
5585   test/core/end2end/tests/idempotent_request.cc
5586   test/core/end2end/tests/invoke_large_request.cc
5587   test/core/end2end/tests/keepalive_timeout.cc
5588   test/core/end2end/tests/large_metadata.cc
5589   test/core/end2end/tests/max_concurrent_streams.cc
5590   test/core/end2end/tests/max_connection_age.cc
5591   test/core/end2end/tests/max_connection_idle.cc
5592   test/core/end2end/tests/max_message_length.cc
5593   test/core/end2end/tests/negative_deadline.cc
5594   test/core/end2end/tests/network_status_change.cc
5595   test/core/end2end/tests/no_error_on_hotpath.cc
5596   test/core/end2end/tests/no_logging.cc
5597   test/core/end2end/tests/no_op.cc
5598   test/core/end2end/tests/payload.cc
5599   test/core/end2end/tests/ping.cc
5600   test/core/end2end/tests/ping_pong_streaming.cc
5601   test/core/end2end/tests/proxy_auth.cc
5602   test/core/end2end/tests/registered_call.cc
5603   test/core/end2end/tests/request_with_flags.cc
5604   test/core/end2end/tests/request_with_payload.cc
5605   test/core/end2end/tests/resource_quota_server.cc
5606   test/core/end2end/tests/retry.cc
5607   test/core/end2end/tests/retry_cancellation.cc
5608   test/core/end2end/tests/retry_disabled.cc
5609   test/core/end2end/tests/retry_exceeds_buffer_size_in_initial_batch.cc
5610   test/core/end2end/tests/retry_exceeds_buffer_size_in_subsequent_batch.cc
5611   test/core/end2end/tests/retry_non_retriable_status.cc
5612   test/core/end2end/tests/retry_non_retriable_status_before_recv_trailing_metadata_started.cc
5613   test/core/end2end/tests/retry_recv_initial_metadata.cc
5614   test/core/end2end/tests/retry_recv_message.cc
5615   test/core/end2end/tests/retry_server_pushback_delay.cc
5616   test/core/end2end/tests/retry_server_pushback_disabled.cc
5617   test/core/end2end/tests/retry_streaming.cc
5618   test/core/end2end/tests/retry_streaming_after_commit.cc
5619   test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc
5620   test/core/end2end/tests/retry_throttled.cc
5621   test/core/end2end/tests/retry_too_many_attempts.cc
5622   test/core/end2end/tests/server_finishes_request.cc
5623   test/core/end2end/tests/shutdown_finishes_calls.cc
5624   test/core/end2end/tests/shutdown_finishes_tags.cc
5625   test/core/end2end/tests/simple_cacheable_request.cc
5626   test/core/end2end/tests/simple_delayed_request.cc
5627   test/core/end2end/tests/simple_metadata.cc
5628   test/core/end2end/tests/simple_request.cc
5629   test/core/end2end/tests/stream_compression_compressed_payload.cc
5630   test/core/end2end/tests/stream_compression_payload.cc
5631   test/core/end2end/tests/stream_compression_ping_pong_streaming.cc
5632   test/core/end2end/tests/streaming_error_response.cc
5633   test/core/end2end/tests/trailing_metadata.cc
5634   test/core/end2end/tests/workaround_cronet_compression.cc
5635   test/core/end2end/tests/write_buffering.cc
5636   test/core/end2end/tests/write_buffering_at_end.cc
5637 )
5638
5639 if(WIN32 AND MSVC)
5640   set_target_properties(end2end_tests PROPERTIES COMPILE_PDB_NAME "end2end_tests"
5641     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5642   )
5643   if (gRPC_INSTALL)
5644     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/end2end_tests.pdb
5645       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5646     )
5647   endif()
5648 endif()
5649
5650
5651 target_include_directories(end2end_tests
5652   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5653   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5654   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5655   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5656   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5657   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5658   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5659   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5660   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5661   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5662 )
5663   # avoid dependency on libstdc++
5664   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5665     set_target_properties(end2end_tests PROPERTIES LINKER_LANGUAGE C)
5666     # only use the flags for C++ source files
5667     target_compile_options(end2end_tests PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5668   endif()
5669 target_link_libraries(end2end_tests
5670   ${_gRPC_SSL_LIBRARIES}
5671   ${_gRPC_ALLTARGETS_LIBRARIES}
5672   grpc_test_util
5673   grpc
5674   gpr
5675 )
5676
5677
5678 endif (gRPC_BUILD_TESTS)
5679 if (gRPC_BUILD_TESTS)
5680
5681 add_library(end2end_nosec_tests
5682   test/core/end2end/end2end_nosec_tests.cc
5683   test/core/end2end/end2end_test_utils.cc
5684   test/core/end2end/tests/authority_not_supported.cc
5685   test/core/end2end/tests/bad_hostname.cc
5686   test/core/end2end/tests/bad_ping.cc
5687   test/core/end2end/tests/binary_metadata.cc
5688   test/core/end2end/tests/call_host_override.cc
5689   test/core/end2end/tests/cancel_after_accept.cc
5690   test/core/end2end/tests/cancel_after_client_done.cc
5691   test/core/end2end/tests/cancel_after_invoke.cc
5692   test/core/end2end/tests/cancel_after_round_trip.cc
5693   test/core/end2end/tests/cancel_before_invoke.cc
5694   test/core/end2end/tests/cancel_in_a_vacuum.cc
5695   test/core/end2end/tests/cancel_with_status.cc
5696   test/core/end2end/tests/channelz.cc
5697   test/core/end2end/tests/compressed_payload.cc
5698   test/core/end2end/tests/connectivity.cc
5699   test/core/end2end/tests/default_host.cc
5700   test/core/end2end/tests/disappearing_server.cc
5701   test/core/end2end/tests/empty_batch.cc
5702   test/core/end2end/tests/filter_call_init_fails.cc
5703   test/core/end2end/tests/filter_causes_close.cc
5704   test/core/end2end/tests/filter_latency.cc
5705   test/core/end2end/tests/filter_status_code.cc
5706   test/core/end2end/tests/graceful_server_shutdown.cc
5707   test/core/end2end/tests/high_initial_seqno.cc
5708   test/core/end2end/tests/hpack_size.cc
5709   test/core/end2end/tests/idempotent_request.cc
5710   test/core/end2end/tests/invoke_large_request.cc
5711   test/core/end2end/tests/keepalive_timeout.cc
5712   test/core/end2end/tests/large_metadata.cc
5713   test/core/end2end/tests/max_concurrent_streams.cc
5714   test/core/end2end/tests/max_connection_age.cc
5715   test/core/end2end/tests/max_connection_idle.cc
5716   test/core/end2end/tests/max_message_length.cc
5717   test/core/end2end/tests/negative_deadline.cc
5718   test/core/end2end/tests/network_status_change.cc
5719   test/core/end2end/tests/no_error_on_hotpath.cc
5720   test/core/end2end/tests/no_logging.cc
5721   test/core/end2end/tests/no_op.cc
5722   test/core/end2end/tests/payload.cc
5723   test/core/end2end/tests/ping.cc
5724   test/core/end2end/tests/ping_pong_streaming.cc
5725   test/core/end2end/tests/proxy_auth.cc
5726   test/core/end2end/tests/registered_call.cc
5727   test/core/end2end/tests/request_with_flags.cc
5728   test/core/end2end/tests/request_with_payload.cc
5729   test/core/end2end/tests/resource_quota_server.cc
5730   test/core/end2end/tests/retry.cc
5731   test/core/end2end/tests/retry_cancellation.cc
5732   test/core/end2end/tests/retry_disabled.cc
5733   test/core/end2end/tests/retry_exceeds_buffer_size_in_initial_batch.cc
5734   test/core/end2end/tests/retry_exceeds_buffer_size_in_subsequent_batch.cc
5735   test/core/end2end/tests/retry_non_retriable_status.cc
5736   test/core/end2end/tests/retry_non_retriable_status_before_recv_trailing_metadata_started.cc
5737   test/core/end2end/tests/retry_recv_initial_metadata.cc
5738   test/core/end2end/tests/retry_recv_message.cc
5739   test/core/end2end/tests/retry_server_pushback_delay.cc
5740   test/core/end2end/tests/retry_server_pushback_disabled.cc
5741   test/core/end2end/tests/retry_streaming.cc
5742   test/core/end2end/tests/retry_streaming_after_commit.cc
5743   test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc
5744   test/core/end2end/tests/retry_throttled.cc
5745   test/core/end2end/tests/retry_too_many_attempts.cc
5746   test/core/end2end/tests/server_finishes_request.cc
5747   test/core/end2end/tests/shutdown_finishes_calls.cc
5748   test/core/end2end/tests/shutdown_finishes_tags.cc
5749   test/core/end2end/tests/simple_cacheable_request.cc
5750   test/core/end2end/tests/simple_delayed_request.cc
5751   test/core/end2end/tests/simple_metadata.cc
5752   test/core/end2end/tests/simple_request.cc
5753   test/core/end2end/tests/stream_compression_compressed_payload.cc
5754   test/core/end2end/tests/stream_compression_payload.cc
5755   test/core/end2end/tests/stream_compression_ping_pong_streaming.cc
5756   test/core/end2end/tests/streaming_error_response.cc
5757   test/core/end2end/tests/trailing_metadata.cc
5758   test/core/end2end/tests/workaround_cronet_compression.cc
5759   test/core/end2end/tests/write_buffering.cc
5760   test/core/end2end/tests/write_buffering_at_end.cc
5761 )
5762
5763 if(WIN32 AND MSVC)
5764   set_target_properties(end2end_nosec_tests PROPERTIES COMPILE_PDB_NAME "end2end_nosec_tests"
5765     COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
5766   )
5767   if (gRPC_INSTALL)
5768     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/end2end_nosec_tests.pdb
5769       DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
5770     )
5771   endif()
5772 endif()
5773
5774
5775 target_include_directories(end2end_nosec_tests
5776   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5777   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5778   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5779   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5780   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5781   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5782   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5783   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5784   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5785   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5786 )
5787   # avoid dependency on libstdc++
5788   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5789     set_target_properties(end2end_nosec_tests PROPERTIES LINKER_LANGUAGE C)
5790     # only use the flags for C++ source files
5791     target_compile_options(end2end_nosec_tests PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5792   endif()
5793 target_link_libraries(end2end_nosec_tests
5794   ${_gRPC_ALLTARGETS_LIBRARIES}
5795   grpc_test_util_unsecure
5796   grpc_unsecure
5797   gpr
5798 )
5799
5800
5801 endif (gRPC_BUILD_TESTS)
5802
5803 if (gRPC_BUILD_TESTS)
5804
5805 add_executable(algorithm_test
5806   test/core/compression/algorithm_test.cc
5807 )
5808
5809
5810 target_include_directories(algorithm_test
5811   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5812   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
5813   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5814   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5815   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5816   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5817   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5818   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5819   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5820   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5821 )
5822
5823 target_link_libraries(algorithm_test
5824   ${_gRPC_ALLTARGETS_LIBRARIES}
5825   grpc_test_util
5826   grpc
5827   gpr
5828 )
5829
5830   # avoid dependency on libstdc++
5831   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5832     set_target_properties(algorithm_test PROPERTIES LINKER_LANGUAGE C)
5833     target_compile_options(algorithm_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5834   endif()
5835
5836 endif (gRPC_BUILD_TESTS)
5837 if (gRPC_BUILD_TESTS)
5838
5839 add_executable(alloc_test
5840   test/core/gpr/alloc_test.cc
5841 )
5842
5843
5844 target_include_directories(alloc_test
5845   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5846   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
5847   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5848   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5849   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5850   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5851   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5852   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5853   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5854   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5855 )
5856
5857 target_link_libraries(alloc_test
5858   ${_gRPC_ALLTARGETS_LIBRARIES}
5859   gpr
5860   grpc_test_util_unsecure
5861   grpc_unsecure
5862 )
5863
5864   # avoid dependency on libstdc++
5865   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5866     set_target_properties(alloc_test PROPERTIES LINKER_LANGUAGE C)
5867     target_compile_options(alloc_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5868   endif()
5869
5870 endif (gRPC_BUILD_TESTS)
5871 if (gRPC_BUILD_TESTS)
5872
5873 add_executable(alpn_test
5874   test/core/transport/chttp2/alpn_test.cc
5875 )
5876
5877
5878 target_include_directories(alpn_test
5879   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5880   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
5881   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5882   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5883   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5884   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5885   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5886   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5887   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5888   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5889 )
5890
5891 target_link_libraries(alpn_test
5892   ${_gRPC_ALLTARGETS_LIBRARIES}
5893   grpc_test_util
5894   grpc
5895   gpr
5896 )
5897
5898   # avoid dependency on libstdc++
5899   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5900     set_target_properties(alpn_test PROPERTIES LINKER_LANGUAGE C)
5901     target_compile_options(alpn_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5902   endif()
5903
5904 endif (gRPC_BUILD_TESTS)
5905 if (gRPC_BUILD_TESTS)
5906
5907 add_executable(arena_test
5908   test/core/gpr/arena_test.cc
5909 )
5910
5911
5912 target_include_directories(arena_test
5913   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5914   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
5915   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5916   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5917   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5918   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5919   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5920   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5921   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5922   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5923 )
5924
5925 target_link_libraries(arena_test
5926   ${_gRPC_ALLTARGETS_LIBRARIES}
5927   gpr
5928   grpc_test_util_unsecure
5929   grpc_unsecure
5930 )
5931
5932   # avoid dependency on libstdc++
5933   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5934     set_target_properties(arena_test PROPERTIES LINKER_LANGUAGE C)
5935     target_compile_options(arena_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5936   endif()
5937
5938 endif (gRPC_BUILD_TESTS)
5939 if (gRPC_BUILD_TESTS)
5940
5941 add_executable(avl_test
5942   test/core/avl/avl_test.cc
5943 )
5944
5945
5946 target_include_directories(avl_test
5947   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5948   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
5949   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5950   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5951   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5952   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5953   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5954   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5955   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5956   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5957 )
5958
5959 target_link_libraries(avl_test
5960   ${_gRPC_ALLTARGETS_LIBRARIES}
5961   gpr
5962   grpc_test_util
5963   grpc
5964 )
5965
5966   # avoid dependency on libstdc++
5967   if (_gRPC_CORE_NOSTDCXX_FLAGS)
5968     set_target_properties(avl_test PROPERTIES LINKER_LANGUAGE C)
5969     target_compile_options(avl_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
5970   endif()
5971
5972 endif (gRPC_BUILD_TESTS)
5973 if (gRPC_BUILD_TESTS)
5974
5975 add_executable(bad_server_response_test
5976   test/core/end2end/bad_server_response_test.cc
5977 )
5978
5979
5980 target_include_directories(bad_server_response_test
5981   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
5982   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
5983   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
5984   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
5985   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
5986   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
5987   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
5988   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
5989   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
5990   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
5991 )
5992
5993 target_link_libraries(bad_server_response_test
5994   ${_gRPC_ALLTARGETS_LIBRARIES}
5995   test_tcp_server
5996   grpc_test_util
5997   grpc
5998   gpr
5999 )
6000
6001   # avoid dependency on libstdc++
6002   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6003     set_target_properties(bad_server_response_test PROPERTIES LINKER_LANGUAGE C)
6004     target_compile_options(bad_server_response_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6005   endif()
6006
6007 endif (gRPC_BUILD_TESTS)
6008 if (gRPC_BUILD_TESTS)
6009
6010 add_executable(bin_decoder_test
6011   test/core/transport/chttp2/bin_decoder_test.cc
6012 )
6013
6014
6015 target_include_directories(bin_decoder_test
6016   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6017   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6018   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6019   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6020   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6021   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6022   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6023   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6024   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6025   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6026 )
6027
6028 target_link_libraries(bin_decoder_test
6029   ${_gRPC_ALLTARGETS_LIBRARIES}
6030   grpc_test_util
6031   grpc
6032 )
6033
6034   # avoid dependency on libstdc++
6035   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6036     set_target_properties(bin_decoder_test PROPERTIES LINKER_LANGUAGE C)
6037     target_compile_options(bin_decoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6038   endif()
6039
6040 endif (gRPC_BUILD_TESTS)
6041 if (gRPC_BUILD_TESTS)
6042
6043 add_executable(bin_encoder_test
6044   test/core/transport/chttp2/bin_encoder_test.cc
6045 )
6046
6047
6048 target_include_directories(bin_encoder_test
6049   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6050   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6051   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6052   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6053   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6054   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6055   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6056   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6057   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6058   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6059 )
6060
6061 target_link_libraries(bin_encoder_test
6062   ${_gRPC_ALLTARGETS_LIBRARIES}
6063   grpc_test_util
6064   grpc
6065 )
6066
6067   # avoid dependency on libstdc++
6068   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6069     set_target_properties(bin_encoder_test PROPERTIES LINKER_LANGUAGE C)
6070     target_compile_options(bin_encoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6071   endif()
6072
6073 endif (gRPC_BUILD_TESTS)
6074 if (gRPC_BUILD_TESTS)
6075 if(_gRPC_PLATFORM_LINUX)
6076
6077 add_executable(buffer_list_test
6078   test/core/iomgr/buffer_list_test.cc
6079 )
6080
6081
6082 target_include_directories(buffer_list_test
6083   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6084   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6085   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6086   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6087   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6088   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6089   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6090   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6091   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6092   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6093 )
6094
6095 target_link_libraries(buffer_list_test
6096   ${_gRPC_ALLTARGETS_LIBRARIES}
6097   grpc_test_util
6098   grpc
6099   gpr
6100 )
6101
6102   # avoid dependency on libstdc++
6103   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6104     set_target_properties(buffer_list_test PROPERTIES LINKER_LANGUAGE C)
6105     target_compile_options(buffer_list_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6106   endif()
6107
6108 endif()
6109 endif (gRPC_BUILD_TESTS)
6110 if (gRPC_BUILD_TESTS)
6111
6112 add_executable(channel_create_test
6113   test/core/surface/channel_create_test.cc
6114 )
6115
6116
6117 target_include_directories(channel_create_test
6118   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6119   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6120   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6121   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6122   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6123   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6124   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6125   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6126   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6127   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6128 )
6129
6130 target_link_libraries(channel_create_test
6131   ${_gRPC_ALLTARGETS_LIBRARIES}
6132   grpc_test_util
6133   grpc
6134   gpr
6135 )
6136
6137   # avoid dependency on libstdc++
6138   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6139     set_target_properties(channel_create_test PROPERTIES LINKER_LANGUAGE C)
6140     target_compile_options(channel_create_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6141   endif()
6142
6143 endif (gRPC_BUILD_TESTS)
6144
6145 add_executable(check_epollexclusive
6146   test/build/check_epollexclusive.c
6147 )
6148
6149
6150 target_include_directories(check_epollexclusive
6151   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6152   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6153   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6154   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6155   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6156   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6157   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6158   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6159   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6160   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6161 )
6162
6163 target_link_libraries(check_epollexclusive
6164   ${_gRPC_ALLTARGETS_LIBRARIES}
6165   grpc
6166   gpr
6167 )
6168
6169   # avoid dependency on libstdc++
6170   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6171     set_target_properties(check_epollexclusive PROPERTIES LINKER_LANGUAGE C)
6172     target_compile_options(check_epollexclusive PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6173   endif()
6174
6175 if (gRPC_BUILD_TESTS)
6176
6177 add_executable(chttp2_hpack_encoder_test
6178   test/core/transport/chttp2/hpack_encoder_test.cc
6179 )
6180
6181
6182 target_include_directories(chttp2_hpack_encoder_test
6183   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6184   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6185   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6186   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6187   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6188   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6189   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6190   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6191   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6192   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6193 )
6194
6195 target_link_libraries(chttp2_hpack_encoder_test
6196   ${_gRPC_ALLTARGETS_LIBRARIES}
6197   grpc_test_util
6198   grpc
6199   gpr
6200 )
6201
6202   # avoid dependency on libstdc++
6203   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6204     set_target_properties(chttp2_hpack_encoder_test PROPERTIES LINKER_LANGUAGE C)
6205     target_compile_options(chttp2_hpack_encoder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6206   endif()
6207
6208 endif (gRPC_BUILD_TESTS)
6209 if (gRPC_BUILD_TESTS)
6210
6211 add_executable(chttp2_stream_map_test
6212   test/core/transport/chttp2/stream_map_test.cc
6213 )
6214
6215
6216 target_include_directories(chttp2_stream_map_test
6217   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6218   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6219   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6220   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6221   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6222   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6223   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6224   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6225   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6226   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6227 )
6228
6229 target_link_libraries(chttp2_stream_map_test
6230   ${_gRPC_ALLTARGETS_LIBRARIES}
6231   grpc_test_util
6232   grpc
6233   gpr
6234 )
6235
6236   # avoid dependency on libstdc++
6237   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6238     set_target_properties(chttp2_stream_map_test PROPERTIES LINKER_LANGUAGE C)
6239     target_compile_options(chttp2_stream_map_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6240   endif()
6241
6242 endif (gRPC_BUILD_TESTS)
6243 if (gRPC_BUILD_TESTS)
6244
6245 add_executable(chttp2_varint_test
6246   test/core/transport/chttp2/varint_test.cc
6247 )
6248
6249
6250 target_include_directories(chttp2_varint_test
6251   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6252   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6253   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6254   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6255   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6256   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6257   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6258   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6259   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6260   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6261 )
6262
6263 target_link_libraries(chttp2_varint_test
6264   ${_gRPC_ALLTARGETS_LIBRARIES}
6265   grpc_test_util
6266   grpc
6267   gpr
6268 )
6269
6270   # avoid dependency on libstdc++
6271   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6272     set_target_properties(chttp2_varint_test PROPERTIES LINKER_LANGUAGE C)
6273     target_compile_options(chttp2_varint_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6274   endif()
6275
6276 endif (gRPC_BUILD_TESTS)
6277 if (gRPC_BUILD_TESTS)
6278
6279 add_executable(cmdline_test
6280   test/core/util/cmdline_test.cc
6281 )
6282
6283
6284 target_include_directories(cmdline_test
6285   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6286   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6287   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6288   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6289   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6290   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6291   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6292   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6293   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6294   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6295 )
6296
6297 target_link_libraries(cmdline_test
6298   ${_gRPC_ALLTARGETS_LIBRARIES}
6299   gpr
6300   grpc_test_util
6301   grpc
6302 )
6303
6304   # avoid dependency on libstdc++
6305   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6306     set_target_properties(cmdline_test PROPERTIES LINKER_LANGUAGE C)
6307     target_compile_options(cmdline_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6308   endif()
6309
6310 endif (gRPC_BUILD_TESTS)
6311 if (gRPC_BUILD_TESTS)
6312
6313 add_executable(combiner_test
6314   test/core/iomgr/combiner_test.cc
6315 )
6316
6317
6318 target_include_directories(combiner_test
6319   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6320   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6321   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6322   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6323   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6324   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6325   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6326   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6327   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6328   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6329 )
6330
6331 target_link_libraries(combiner_test
6332   ${_gRPC_ALLTARGETS_LIBRARIES}
6333   grpc_test_util
6334   grpc
6335   gpr
6336 )
6337
6338   # avoid dependency on libstdc++
6339   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6340     set_target_properties(combiner_test PROPERTIES LINKER_LANGUAGE C)
6341     target_compile_options(combiner_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6342   endif()
6343
6344 endif (gRPC_BUILD_TESTS)
6345 if (gRPC_BUILD_TESTS)
6346
6347 add_executable(compression_test
6348   test/core/compression/compression_test.cc
6349 )
6350
6351
6352 target_include_directories(compression_test
6353   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6354   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6355   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6356   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6357   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6358   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6359   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6360   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6361   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6362   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6363 )
6364
6365 target_link_libraries(compression_test
6366   ${_gRPC_ALLTARGETS_LIBRARIES}
6367   grpc_test_util
6368   grpc
6369   gpr
6370 )
6371
6372   # avoid dependency on libstdc++
6373   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6374     set_target_properties(compression_test PROPERTIES LINKER_LANGUAGE C)
6375     target_compile_options(compression_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6376   endif()
6377
6378 endif (gRPC_BUILD_TESTS)
6379 if (gRPC_BUILD_TESTS)
6380
6381 add_executable(concurrent_connectivity_test
6382   test/core/surface/concurrent_connectivity_test.cc
6383 )
6384
6385
6386 target_include_directories(concurrent_connectivity_test
6387   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6388   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6389   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6390   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6391   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6392   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6393   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6394   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6395   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6396   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6397 )
6398
6399 target_link_libraries(concurrent_connectivity_test
6400   ${_gRPC_ALLTARGETS_LIBRARIES}
6401   grpc_test_util
6402   grpc
6403   gpr
6404 )
6405
6406   # avoid dependency on libstdc++
6407   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6408     set_target_properties(concurrent_connectivity_test PROPERTIES LINKER_LANGUAGE C)
6409     target_compile_options(concurrent_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6410   endif()
6411
6412 endif (gRPC_BUILD_TESTS)
6413 if (gRPC_BUILD_TESTS)
6414
6415 add_executable(connection_refused_test
6416   test/core/end2end/connection_refused_test.cc
6417 )
6418
6419
6420 target_include_directories(connection_refused_test
6421   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6422   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6423   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6424   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6425   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6426   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6427   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6428   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6429   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6430   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6431 )
6432
6433 target_link_libraries(connection_refused_test
6434   ${_gRPC_ALLTARGETS_LIBRARIES}
6435   grpc_test_util
6436   grpc
6437   gpr
6438 )
6439
6440   # avoid dependency on libstdc++
6441   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6442     set_target_properties(connection_refused_test PROPERTIES LINKER_LANGUAGE C)
6443     target_compile_options(connection_refused_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6444   endif()
6445
6446 endif (gRPC_BUILD_TESTS)
6447 if (gRPC_BUILD_TESTS)
6448
6449 add_executable(dns_resolver_connectivity_test
6450   test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc
6451 )
6452
6453
6454 target_include_directories(dns_resolver_connectivity_test
6455   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6456   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6457   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6458   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6459   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6460   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6461   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6462   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6463   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6464   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6465 )
6466
6467 target_link_libraries(dns_resolver_connectivity_test
6468   ${_gRPC_ALLTARGETS_LIBRARIES}
6469   grpc_test_util
6470   grpc
6471   gpr
6472 )
6473
6474   # avoid dependency on libstdc++
6475   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6476     set_target_properties(dns_resolver_connectivity_test PROPERTIES LINKER_LANGUAGE C)
6477     target_compile_options(dns_resolver_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6478   endif()
6479
6480 endif (gRPC_BUILD_TESTS)
6481 if (gRPC_BUILD_TESTS)
6482
6483 add_executable(dns_resolver_cooldown_test
6484   test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc
6485 )
6486
6487
6488 target_include_directories(dns_resolver_cooldown_test
6489   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6490   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6491   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6492   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6493   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6494   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6495   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6496   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6497   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6498   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6499 )
6500
6501 target_link_libraries(dns_resolver_cooldown_test
6502   ${_gRPC_ALLTARGETS_LIBRARIES}
6503   grpc_test_util
6504   grpc
6505   gpr
6506 )
6507
6508   # avoid dependency on libstdc++
6509   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6510     set_target_properties(dns_resolver_cooldown_test PROPERTIES LINKER_LANGUAGE C)
6511     target_compile_options(dns_resolver_cooldown_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6512   endif()
6513
6514 endif (gRPC_BUILD_TESTS)
6515 if (gRPC_BUILD_TESTS)
6516
6517 add_executable(dns_resolver_test
6518   test/core/client_channel/resolvers/dns_resolver_test.cc
6519 )
6520
6521
6522 target_include_directories(dns_resolver_test
6523   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6524   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6525   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6526   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6527   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6528   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6529   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6530   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6531   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6532   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6533 )
6534
6535 target_link_libraries(dns_resolver_test
6536   ${_gRPC_ALLTARGETS_LIBRARIES}
6537   grpc_test_util
6538   grpc
6539   gpr
6540 )
6541
6542   # avoid dependency on libstdc++
6543   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6544     set_target_properties(dns_resolver_test PROPERTIES LINKER_LANGUAGE C)
6545     target_compile_options(dns_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6546   endif()
6547
6548 endif (gRPC_BUILD_TESTS)
6549 if (gRPC_BUILD_TESTS)
6550 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
6551
6552 add_executable(dualstack_socket_test
6553   test/core/end2end/dualstack_socket_test.cc
6554 )
6555
6556
6557 target_include_directories(dualstack_socket_test
6558   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6559   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6560   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6561   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6562   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6563   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6564   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6565   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6566   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6567   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6568 )
6569
6570 target_link_libraries(dualstack_socket_test
6571   ${_gRPC_ALLTARGETS_LIBRARIES}
6572   grpc_test_util
6573   grpc
6574   gpr
6575 )
6576
6577   # avoid dependency on libstdc++
6578   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6579     set_target_properties(dualstack_socket_test PROPERTIES LINKER_LANGUAGE C)
6580     target_compile_options(dualstack_socket_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6581   endif()
6582
6583 endif()
6584 endif (gRPC_BUILD_TESTS)
6585 if (gRPC_BUILD_TESTS)
6586
6587 add_executable(endpoint_pair_test
6588   test/core/iomgr/endpoint_pair_test.cc
6589 )
6590
6591
6592 target_include_directories(endpoint_pair_test
6593   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6594   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6595   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6596   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6597   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6598   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6599   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6600   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6601   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6602   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6603 )
6604
6605 target_link_libraries(endpoint_pair_test
6606   ${_gRPC_ALLTARGETS_LIBRARIES}
6607   grpc_test_util
6608   grpc
6609   gpr
6610 )
6611
6612   # avoid dependency on libstdc++
6613   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6614     set_target_properties(endpoint_pair_test PROPERTIES LINKER_LANGUAGE C)
6615     target_compile_options(endpoint_pair_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6616   endif()
6617
6618 endif (gRPC_BUILD_TESTS)
6619 if (gRPC_BUILD_TESTS)
6620
6621 add_executable(error_test
6622   test/core/iomgr/error_test.cc
6623 )
6624
6625
6626 target_include_directories(error_test
6627   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6628   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6629   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6630   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6631   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6632   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6633   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6634   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6635   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6636   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6637 )
6638
6639 target_link_libraries(error_test
6640   ${_gRPC_ALLTARGETS_LIBRARIES}
6641   grpc_test_util
6642   grpc
6643   gpr
6644 )
6645
6646   # avoid dependency on libstdc++
6647   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6648     set_target_properties(error_test PROPERTIES LINKER_LANGUAGE C)
6649     target_compile_options(error_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6650   endif()
6651
6652 endif (gRPC_BUILD_TESTS)
6653 if (gRPC_BUILD_TESTS)
6654 if(_gRPC_PLATFORM_LINUX)
6655
6656 add_executable(ev_epollex_linux_test
6657   test/core/iomgr/ev_epollex_linux_test.cc
6658 )
6659
6660
6661 target_include_directories(ev_epollex_linux_test
6662   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6663   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6664   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6665   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6666   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6667   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6668   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6669   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6670   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6671   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6672 )
6673
6674 target_link_libraries(ev_epollex_linux_test
6675   ${_gRPC_ALLTARGETS_LIBRARIES}
6676   grpc_test_util
6677   grpc
6678   gpr
6679 )
6680
6681   # avoid dependency on libstdc++
6682   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6683     set_target_properties(ev_epollex_linux_test PROPERTIES LINKER_LANGUAGE C)
6684     target_compile_options(ev_epollex_linux_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6685   endif()
6686
6687 endif()
6688 endif (gRPC_BUILD_TESTS)
6689 if (gRPC_BUILD_TESTS)
6690
6691 add_executable(fake_resolver_test
6692   test/core/client_channel/resolvers/fake_resolver_test.cc
6693 )
6694
6695
6696 target_include_directories(fake_resolver_test
6697   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6698   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6699   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6700   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6701   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6702   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6703   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6704   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6705   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6706   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6707 )
6708
6709 target_link_libraries(fake_resolver_test
6710   ${_gRPC_ALLTARGETS_LIBRARIES}
6711   grpc_test_util
6712   grpc
6713   gpr
6714 )
6715
6716   # avoid dependency on libstdc++
6717   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6718     set_target_properties(fake_resolver_test PROPERTIES LINKER_LANGUAGE C)
6719     target_compile_options(fake_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6720   endif()
6721
6722 endif (gRPC_BUILD_TESTS)
6723 if (gRPC_BUILD_TESTS)
6724 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
6725
6726 add_executable(fake_transport_security_test
6727   test/core/tsi/fake_transport_security_test.cc
6728   test/core/tsi/transport_security_test_lib.cc
6729 )
6730
6731
6732 target_include_directories(fake_transport_security_test
6733   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6734   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6735   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6736   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6737   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6738   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6739   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6740   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6741   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6742   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6743 )
6744
6745 target_link_libraries(fake_transport_security_test
6746   ${_gRPC_ALLTARGETS_LIBRARIES}
6747   gpr
6748   grpc_test_util
6749   grpc
6750 )
6751
6752   # avoid dependency on libstdc++
6753   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6754     set_target_properties(fake_transport_security_test PROPERTIES LINKER_LANGUAGE C)
6755     target_compile_options(fake_transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6756   endif()
6757
6758 endif()
6759 endif (gRPC_BUILD_TESTS)
6760 if (gRPC_BUILD_TESTS)
6761 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
6762
6763 add_executable(fd_conservation_posix_test
6764   test/core/iomgr/fd_conservation_posix_test.cc
6765 )
6766
6767
6768 target_include_directories(fd_conservation_posix_test
6769   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6770   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6771   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6772   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6773   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6774   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6775   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6776   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6777   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6778   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6779 )
6780
6781 target_link_libraries(fd_conservation_posix_test
6782   ${_gRPC_ALLTARGETS_LIBRARIES}
6783   grpc_test_util
6784   grpc
6785   gpr
6786 )
6787
6788   # avoid dependency on libstdc++
6789   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6790     set_target_properties(fd_conservation_posix_test PROPERTIES LINKER_LANGUAGE C)
6791     target_compile_options(fd_conservation_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6792   endif()
6793
6794 endif()
6795 endif (gRPC_BUILD_TESTS)
6796 if (gRPC_BUILD_TESTS)
6797 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
6798
6799 add_executable(fd_posix_test
6800   test/core/iomgr/fd_posix_test.cc
6801 )
6802
6803
6804 target_include_directories(fd_posix_test
6805   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6806   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6807   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6808   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6809   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6810   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6811   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6812   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6813   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6814   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6815 )
6816
6817 target_link_libraries(fd_posix_test
6818   ${_gRPC_ALLTARGETS_LIBRARIES}
6819   grpc_test_util
6820   grpc
6821   gpr
6822 )
6823
6824   # avoid dependency on libstdc++
6825   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6826     set_target_properties(fd_posix_test PROPERTIES LINKER_LANGUAGE C)
6827     target_compile_options(fd_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6828   endif()
6829
6830 endif()
6831 endif (gRPC_BUILD_TESTS)
6832 if (gRPC_BUILD_TESTS)
6833
6834 add_executable(fling_client
6835   test/core/fling/client.cc
6836 )
6837
6838
6839 target_include_directories(fling_client
6840   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6841   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6842   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6843   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6844   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6845   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6846   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6847   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6848   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6849   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6850 )
6851
6852 target_link_libraries(fling_client
6853   ${_gRPC_ALLTARGETS_LIBRARIES}
6854   grpc_test_util
6855   grpc
6856   gpr
6857 )
6858
6859   # avoid dependency on libstdc++
6860   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6861     set_target_properties(fling_client PROPERTIES LINKER_LANGUAGE C)
6862     target_compile_options(fling_client PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6863   endif()
6864
6865 endif (gRPC_BUILD_TESTS)
6866 if (gRPC_BUILD_TESTS)
6867
6868 add_executable(fling_server
6869   test/core/fling/server.cc
6870 )
6871
6872
6873 target_include_directories(fling_server
6874   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6875   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6876   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6877   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6878   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6879   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6880   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6881   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6882   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6883   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6884 )
6885
6886 target_link_libraries(fling_server
6887   ${_gRPC_ALLTARGETS_LIBRARIES}
6888   grpc_test_util
6889   grpc
6890   gpr
6891 )
6892
6893   # avoid dependency on libstdc++
6894   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6895     set_target_properties(fling_server PROPERTIES LINKER_LANGUAGE C)
6896     target_compile_options(fling_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6897   endif()
6898
6899 endif (gRPC_BUILD_TESTS)
6900 if (gRPC_BUILD_TESTS)
6901 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
6902
6903 add_executable(fling_stream_test
6904   test/core/fling/fling_stream_test.cc
6905 )
6906
6907
6908 target_include_directories(fling_stream_test
6909   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6910   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6911   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6912   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6913   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6914   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6915   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6916   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6917   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6918   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6919 )
6920
6921 target_link_libraries(fling_stream_test
6922   ${_gRPC_ALLTARGETS_LIBRARIES}
6923   grpc_test_util
6924   grpc
6925   gpr
6926 )
6927
6928   # avoid dependency on libstdc++
6929   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6930     set_target_properties(fling_stream_test PROPERTIES LINKER_LANGUAGE C)
6931     target_compile_options(fling_stream_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6932   endif()
6933
6934 endif()
6935 endif (gRPC_BUILD_TESTS)
6936 if (gRPC_BUILD_TESTS)
6937 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
6938
6939 add_executable(fling_test
6940   test/core/fling/fling_test.cc
6941 )
6942
6943
6944 target_include_directories(fling_test
6945   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6946   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6947   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6948   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6949   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6950   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6951   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6952   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6953   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6954   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6955 )
6956
6957 target_link_libraries(fling_test
6958   ${_gRPC_ALLTARGETS_LIBRARIES}
6959   grpc_test_util
6960   grpc
6961   gpr
6962 )
6963
6964   # avoid dependency on libstdc++
6965   if (_gRPC_CORE_NOSTDCXX_FLAGS)
6966     set_target_properties(fling_test PROPERTIES LINKER_LANGUAGE C)
6967     target_compile_options(fling_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
6968   endif()
6969
6970 endif()
6971 endif (gRPC_BUILD_TESTS)
6972 if (gRPC_BUILD_TESTS)
6973 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC)
6974
6975 add_executable(fork_test
6976   test/core/gprpp/fork_test.cc
6977 )
6978
6979
6980 target_include_directories(fork_test
6981   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
6982   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
6983   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
6984   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
6985   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
6986   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
6987   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
6988   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
6989   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
6990   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
6991 )
6992
6993 target_link_libraries(fork_test
6994   ${_gRPC_ALLTARGETS_LIBRARIES}
6995   gpr
6996   grpc_test_util_unsecure
6997   grpc_unsecure
6998 )
6999
7000   # avoid dependency on libstdc++
7001   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7002     set_target_properties(fork_test PROPERTIES LINKER_LANGUAGE C)
7003     target_compile_options(fork_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7004   endif()
7005
7006 endif()
7007 endif (gRPC_BUILD_TESTS)
7008 if (gRPC_BUILD_TESTS)
7009 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
7010
7011 add_executable(goaway_server_test
7012   test/core/end2end/goaway_server_test.cc
7013 )
7014
7015
7016 target_include_directories(goaway_server_test
7017   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7018   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7019   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7020   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7021   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7022   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7023   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7024   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7025   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7026   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7027 )
7028
7029 target_link_libraries(goaway_server_test
7030   ${_gRPC_ALLTARGETS_LIBRARIES}
7031   grpc_test_util
7032   grpc
7033   gpr
7034 )
7035
7036   # avoid dependency on libstdc++
7037   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7038     set_target_properties(goaway_server_test PROPERTIES LINKER_LANGUAGE C)
7039     target_compile_options(goaway_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7040   endif()
7041
7042 endif()
7043 endif (gRPC_BUILD_TESTS)
7044 if (gRPC_BUILD_TESTS)
7045
7046 add_executable(gpr_cpu_test
7047   test/core/gpr/cpu_test.cc
7048 )
7049
7050
7051 target_include_directories(gpr_cpu_test
7052   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7053   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7054   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7055   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7056   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7057   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7058   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7059   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7060   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7061   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7062 )
7063
7064 target_link_libraries(gpr_cpu_test
7065   ${_gRPC_ALLTARGETS_LIBRARIES}
7066   gpr
7067   grpc_test_util_unsecure
7068   grpc_unsecure
7069 )
7070
7071   # avoid dependency on libstdc++
7072   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7073     set_target_properties(gpr_cpu_test PROPERTIES LINKER_LANGUAGE C)
7074     target_compile_options(gpr_cpu_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7075   endif()
7076
7077 endif (gRPC_BUILD_TESTS)
7078 if (gRPC_BUILD_TESTS)
7079
7080 add_executable(gpr_env_test
7081   test/core/gpr/env_test.cc
7082 )
7083
7084
7085 target_include_directories(gpr_env_test
7086   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7087   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7088   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7089   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7090   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7091   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7092   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7093   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7094   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7095   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7096 )
7097
7098 target_link_libraries(gpr_env_test
7099   ${_gRPC_ALLTARGETS_LIBRARIES}
7100   gpr
7101   grpc_test_util_unsecure
7102   grpc_unsecure
7103 )
7104
7105   # avoid dependency on libstdc++
7106   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7107     set_target_properties(gpr_env_test PROPERTIES LINKER_LANGUAGE C)
7108     target_compile_options(gpr_env_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7109   endif()
7110
7111 endif (gRPC_BUILD_TESTS)
7112 if (gRPC_BUILD_TESTS)
7113
7114 add_executable(gpr_host_port_test
7115   test/core/gpr/host_port_test.cc
7116 )
7117
7118
7119 target_include_directories(gpr_host_port_test
7120   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7121   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7122   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7123   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7124   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7125   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7126   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7127   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7128   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7129   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7130 )
7131
7132 target_link_libraries(gpr_host_port_test
7133   ${_gRPC_ALLTARGETS_LIBRARIES}
7134   gpr
7135   grpc_test_util_unsecure
7136   grpc_unsecure
7137 )
7138
7139   # avoid dependency on libstdc++
7140   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7141     set_target_properties(gpr_host_port_test PROPERTIES LINKER_LANGUAGE C)
7142     target_compile_options(gpr_host_port_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7143   endif()
7144
7145 endif (gRPC_BUILD_TESTS)
7146 if (gRPC_BUILD_TESTS)
7147
7148 add_executable(gpr_log_test
7149   test/core/gpr/log_test.cc
7150 )
7151
7152
7153 target_include_directories(gpr_log_test
7154   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7155   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7156   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7157   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7158   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7159   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7160   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7161   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7162   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7163   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7164 )
7165
7166 target_link_libraries(gpr_log_test
7167   ${_gRPC_ALLTARGETS_LIBRARIES}
7168   gpr
7169   grpc_test_util_unsecure
7170   grpc_unsecure
7171 )
7172
7173   # avoid dependency on libstdc++
7174   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7175     set_target_properties(gpr_log_test PROPERTIES LINKER_LANGUAGE C)
7176     target_compile_options(gpr_log_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7177   endif()
7178
7179 endif (gRPC_BUILD_TESTS)
7180 if (gRPC_BUILD_TESTS)
7181
7182 add_executable(gpr_manual_constructor_test
7183   test/core/gprpp/manual_constructor_test.cc
7184 )
7185
7186
7187 target_include_directories(gpr_manual_constructor_test
7188   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7189   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7190   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7191   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7192   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7193   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7194   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7195   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7196   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7197   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7198 )
7199
7200 target_link_libraries(gpr_manual_constructor_test
7201   ${_gRPC_ALLTARGETS_LIBRARIES}
7202   gpr
7203   grpc_test_util_unsecure
7204   grpc_unsecure
7205 )
7206
7207   # avoid dependency on libstdc++
7208   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7209     set_target_properties(gpr_manual_constructor_test PROPERTIES LINKER_LANGUAGE C)
7210     target_compile_options(gpr_manual_constructor_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7211   endif()
7212
7213 endif (gRPC_BUILD_TESTS)
7214 if (gRPC_BUILD_TESTS)
7215
7216 add_executable(gpr_mpscq_test
7217   test/core/gpr/mpscq_test.cc
7218 )
7219
7220
7221 target_include_directories(gpr_mpscq_test
7222   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7223   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7224   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7225   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7226   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7227   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7228   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7229   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7230   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7231   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7232 )
7233
7234 target_link_libraries(gpr_mpscq_test
7235   ${_gRPC_ALLTARGETS_LIBRARIES}
7236   gpr
7237   grpc_test_util_unsecure
7238   grpc_unsecure
7239 )
7240
7241   # avoid dependency on libstdc++
7242   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7243     set_target_properties(gpr_mpscq_test PROPERTIES LINKER_LANGUAGE C)
7244     target_compile_options(gpr_mpscq_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7245   endif()
7246
7247 endif (gRPC_BUILD_TESTS)
7248 if (gRPC_BUILD_TESTS)
7249
7250 add_executable(gpr_spinlock_test
7251   test/core/gpr/spinlock_test.cc
7252 )
7253
7254
7255 target_include_directories(gpr_spinlock_test
7256   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7257   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7258   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7259   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7260   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7261   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7262   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7263   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7264   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7265   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7266 )
7267
7268 target_link_libraries(gpr_spinlock_test
7269   ${_gRPC_ALLTARGETS_LIBRARIES}
7270   gpr
7271   grpc_test_util_unsecure
7272   grpc_unsecure
7273 )
7274
7275   # avoid dependency on libstdc++
7276   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7277     set_target_properties(gpr_spinlock_test PROPERTIES LINKER_LANGUAGE C)
7278     target_compile_options(gpr_spinlock_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7279   endif()
7280
7281 endif (gRPC_BUILD_TESTS)
7282 if (gRPC_BUILD_TESTS)
7283
7284 add_executable(gpr_string_test
7285   test/core/gpr/string_test.cc
7286 )
7287
7288
7289 target_include_directories(gpr_string_test
7290   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7291   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7292   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7293   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7294   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7295   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7296   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7297   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7298   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7299   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7300 )
7301
7302 target_link_libraries(gpr_string_test
7303   ${_gRPC_ALLTARGETS_LIBRARIES}
7304   gpr
7305   grpc_test_util_unsecure
7306   grpc_unsecure
7307 )
7308
7309   # avoid dependency on libstdc++
7310   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7311     set_target_properties(gpr_string_test PROPERTIES LINKER_LANGUAGE C)
7312     target_compile_options(gpr_string_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7313   endif()
7314
7315 endif (gRPC_BUILD_TESTS)
7316 if (gRPC_BUILD_TESTS)
7317
7318 add_executable(gpr_sync_test
7319   test/core/gpr/sync_test.cc
7320 )
7321
7322
7323 target_include_directories(gpr_sync_test
7324   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7325   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7326   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7327   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7328   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7329   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7330   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7331   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7332   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7333   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7334 )
7335
7336 target_link_libraries(gpr_sync_test
7337   ${_gRPC_ALLTARGETS_LIBRARIES}
7338   gpr
7339   grpc_test_util_unsecure
7340   grpc_unsecure
7341 )
7342
7343   # avoid dependency on libstdc++
7344   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7345     set_target_properties(gpr_sync_test PROPERTIES LINKER_LANGUAGE C)
7346     target_compile_options(gpr_sync_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7347   endif()
7348
7349 endif (gRPC_BUILD_TESTS)
7350 if (gRPC_BUILD_TESTS)
7351
7352 add_executable(gpr_thd_test
7353   test/core/gprpp/thd_test.cc
7354 )
7355
7356
7357 target_include_directories(gpr_thd_test
7358   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7359   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7360   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7361   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7362   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7363   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7364   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7365   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7366   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7367   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7368 )
7369
7370 target_link_libraries(gpr_thd_test
7371   ${_gRPC_ALLTARGETS_LIBRARIES}
7372   gpr
7373   grpc_test_util_unsecure
7374   grpc_unsecure
7375 )
7376
7377   # avoid dependency on libstdc++
7378   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7379     set_target_properties(gpr_thd_test PROPERTIES LINKER_LANGUAGE C)
7380     target_compile_options(gpr_thd_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7381   endif()
7382
7383 endif (gRPC_BUILD_TESTS)
7384 if (gRPC_BUILD_TESTS)
7385
7386 add_executable(gpr_time_test
7387   test/core/gpr/time_test.cc
7388 )
7389
7390
7391 target_include_directories(gpr_time_test
7392   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7393   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7394   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7395   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7396   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7397   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7398   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7399   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7400   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7401   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7402 )
7403
7404 target_link_libraries(gpr_time_test
7405   ${_gRPC_ALLTARGETS_LIBRARIES}
7406   gpr
7407   grpc_test_util_unsecure
7408   grpc_unsecure
7409 )
7410
7411   # avoid dependency on libstdc++
7412   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7413     set_target_properties(gpr_time_test PROPERTIES LINKER_LANGUAGE C)
7414     target_compile_options(gpr_time_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7415   endif()
7416
7417 endif (gRPC_BUILD_TESTS)
7418 if (gRPC_BUILD_TESTS)
7419
7420 add_executable(gpr_tls_test
7421   test/core/gpr/tls_test.cc
7422 )
7423
7424
7425 target_include_directories(gpr_tls_test
7426   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7427   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7428   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7429   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7430   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7431   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7432   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7433   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7434   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7435   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7436 )
7437
7438 target_link_libraries(gpr_tls_test
7439   ${_gRPC_ALLTARGETS_LIBRARIES}
7440   gpr
7441   grpc_test_util_unsecure
7442   grpc_unsecure
7443 )
7444
7445   # avoid dependency on libstdc++
7446   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7447     set_target_properties(gpr_tls_test PROPERTIES LINKER_LANGUAGE C)
7448     target_compile_options(gpr_tls_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7449   endif()
7450
7451 endif (gRPC_BUILD_TESTS)
7452 if (gRPC_BUILD_TESTS)
7453
7454 add_executable(gpr_useful_test
7455   test/core/gpr/useful_test.cc
7456 )
7457
7458
7459 target_include_directories(gpr_useful_test
7460   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7461   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7462   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7463   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7464   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7465   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7466   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7467   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7468   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7469   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7470 )
7471
7472 target_link_libraries(gpr_useful_test
7473   ${_gRPC_ALLTARGETS_LIBRARIES}
7474   gpr
7475   grpc_test_util_unsecure
7476   grpc_unsecure
7477 )
7478
7479   # avoid dependency on libstdc++
7480   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7481     set_target_properties(gpr_useful_test PROPERTIES LINKER_LANGUAGE C)
7482     target_compile_options(gpr_useful_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7483   endif()
7484
7485 endif (gRPC_BUILD_TESTS)
7486 if (gRPC_BUILD_TESTS)
7487
7488 add_executable(grpc_auth_context_test
7489   test/core/security/auth_context_test.cc
7490 )
7491
7492
7493 target_include_directories(grpc_auth_context_test
7494   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7495   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7496   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7497   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7498   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7499   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7500   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7501   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7502   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7503   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7504 )
7505
7506 target_link_libraries(grpc_auth_context_test
7507   ${_gRPC_ALLTARGETS_LIBRARIES}
7508   grpc_test_util
7509   grpc
7510   gpr
7511 )
7512
7513   # avoid dependency on libstdc++
7514   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7515     set_target_properties(grpc_auth_context_test PROPERTIES LINKER_LANGUAGE C)
7516     target_compile_options(grpc_auth_context_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7517   endif()
7518
7519 endif (gRPC_BUILD_TESTS)
7520 if (gRPC_BUILD_TESTS)
7521
7522 add_executable(grpc_b64_test
7523   test/core/slice/b64_test.cc
7524 )
7525
7526
7527 target_include_directories(grpc_b64_test
7528   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7529   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7530   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7531   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7532   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7533   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7534   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7535   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7536   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7537   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7538 )
7539
7540 target_link_libraries(grpc_b64_test
7541   ${_gRPC_ALLTARGETS_LIBRARIES}
7542   grpc_test_util
7543   grpc
7544   gpr
7545 )
7546
7547   # avoid dependency on libstdc++
7548   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7549     set_target_properties(grpc_b64_test PROPERTIES LINKER_LANGUAGE C)
7550     target_compile_options(grpc_b64_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7551   endif()
7552
7553 endif (gRPC_BUILD_TESTS)
7554 if (gRPC_BUILD_TESTS)
7555
7556 add_executable(grpc_byte_buffer_reader_test
7557   test/core/surface/byte_buffer_reader_test.cc
7558 )
7559
7560
7561 target_include_directories(grpc_byte_buffer_reader_test
7562   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7563   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7564   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7565   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7566   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7567   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7568   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7569   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7570   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7571   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7572 )
7573
7574 target_link_libraries(grpc_byte_buffer_reader_test
7575   ${_gRPC_ALLTARGETS_LIBRARIES}
7576   grpc_test_util
7577   grpc
7578   gpr
7579 )
7580
7581   # avoid dependency on libstdc++
7582   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7583     set_target_properties(grpc_byte_buffer_reader_test PROPERTIES LINKER_LANGUAGE C)
7584     target_compile_options(grpc_byte_buffer_reader_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7585   endif()
7586
7587 endif (gRPC_BUILD_TESTS)
7588 if (gRPC_BUILD_TESTS)
7589
7590 add_executable(grpc_channel_args_test
7591   test/core/channel/channel_args_test.cc
7592 )
7593
7594
7595 target_include_directories(grpc_channel_args_test
7596   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7597   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7598   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7599   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7600   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7601   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7602   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7603   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7604   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7605   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7606 )
7607
7608 target_link_libraries(grpc_channel_args_test
7609   ${_gRPC_ALLTARGETS_LIBRARIES}
7610   grpc_test_util
7611   grpc
7612   gpr
7613 )
7614
7615   # avoid dependency on libstdc++
7616   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7617     set_target_properties(grpc_channel_args_test PROPERTIES LINKER_LANGUAGE C)
7618     target_compile_options(grpc_channel_args_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7619   endif()
7620
7621 endif (gRPC_BUILD_TESTS)
7622 if (gRPC_BUILD_TESTS)
7623
7624 add_executable(grpc_channel_stack_builder_test
7625   test/core/channel/channel_stack_builder_test.cc
7626 )
7627
7628
7629 target_include_directories(grpc_channel_stack_builder_test
7630   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7631   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7632   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7633   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7634   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7635   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7636   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7637   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7638   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7639   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7640 )
7641
7642 target_link_libraries(grpc_channel_stack_builder_test
7643   ${_gRPC_ALLTARGETS_LIBRARIES}
7644   grpc_test_util
7645   grpc
7646   gpr
7647 )
7648
7649   # avoid dependency on libstdc++
7650   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7651     set_target_properties(grpc_channel_stack_builder_test PROPERTIES LINKER_LANGUAGE C)
7652     target_compile_options(grpc_channel_stack_builder_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7653   endif()
7654
7655 endif (gRPC_BUILD_TESTS)
7656 if (gRPC_BUILD_TESTS)
7657
7658 add_executable(grpc_channel_stack_test
7659   test/core/channel/channel_stack_test.cc
7660 )
7661
7662
7663 target_include_directories(grpc_channel_stack_test
7664   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7665   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7666   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7667   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7668   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7669   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7670   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7671   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7672   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7673   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7674 )
7675
7676 target_link_libraries(grpc_channel_stack_test
7677   ${_gRPC_ALLTARGETS_LIBRARIES}
7678   grpc_test_util
7679   grpc
7680   gpr
7681 )
7682
7683   # avoid dependency on libstdc++
7684   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7685     set_target_properties(grpc_channel_stack_test PROPERTIES LINKER_LANGUAGE C)
7686     target_compile_options(grpc_channel_stack_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7687   endif()
7688
7689 endif (gRPC_BUILD_TESTS)
7690 if (gRPC_BUILD_TESTS)
7691
7692 add_executable(grpc_completion_queue_test
7693   test/core/surface/completion_queue_test.cc
7694 )
7695
7696
7697 target_include_directories(grpc_completion_queue_test
7698   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7699   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7700   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7701   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7702   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7703   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7704   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7705   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7706   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7707   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7708 )
7709
7710 target_link_libraries(grpc_completion_queue_test
7711   ${_gRPC_ALLTARGETS_LIBRARIES}
7712   grpc_test_util
7713   grpc
7714   gpr
7715 )
7716
7717   # avoid dependency on libstdc++
7718   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7719     set_target_properties(grpc_completion_queue_test PROPERTIES LINKER_LANGUAGE C)
7720     target_compile_options(grpc_completion_queue_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7721   endif()
7722
7723 endif (gRPC_BUILD_TESTS)
7724 if (gRPC_BUILD_TESTS)
7725
7726 add_executable(grpc_completion_queue_threading_test
7727   test/core/surface/completion_queue_threading_test.cc
7728 )
7729
7730
7731 target_include_directories(grpc_completion_queue_threading_test
7732   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7733   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7734   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7735   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7736   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7737   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7738   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7739   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7740   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7741   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7742 )
7743
7744 target_link_libraries(grpc_completion_queue_threading_test
7745   ${_gRPC_ALLTARGETS_LIBRARIES}
7746   grpc_test_util
7747   grpc
7748   gpr
7749 )
7750
7751   # avoid dependency on libstdc++
7752   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7753     set_target_properties(grpc_completion_queue_threading_test PROPERTIES LINKER_LANGUAGE C)
7754     target_compile_options(grpc_completion_queue_threading_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7755   endif()
7756
7757 endif (gRPC_BUILD_TESTS)
7758
7759 add_executable(grpc_create_jwt
7760   test/core/security/create_jwt.cc
7761   test/core/util/cmdline.cc
7762 )
7763
7764
7765 target_include_directories(grpc_create_jwt
7766   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7767   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7768   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7769   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7770   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7771   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7772   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7773   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7774   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7775   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7776 )
7777
7778 target_link_libraries(grpc_create_jwt
7779   ${_gRPC_SSL_LIBRARIES}
7780   ${_gRPC_ALLTARGETS_LIBRARIES}
7781   grpc
7782   gpr
7783 )
7784
7785   # avoid dependency on libstdc++
7786   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7787     set_target_properties(grpc_create_jwt PROPERTIES LINKER_LANGUAGE C)
7788     target_compile_options(grpc_create_jwt PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7789   endif()
7790
7791 if (gRPC_BUILD_TESTS)
7792
7793 add_executable(grpc_credentials_test
7794   test/core/security/credentials_test.cc
7795 )
7796
7797
7798 target_include_directories(grpc_credentials_test
7799   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7800   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7801   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7802   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7803   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7804   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7805   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7806   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7807   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7808   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7809 )
7810
7811 target_link_libraries(grpc_credentials_test
7812   ${_gRPC_ALLTARGETS_LIBRARIES}
7813   grpc_test_util
7814   grpc
7815   gpr
7816 )
7817
7818   # avoid dependency on libstdc++
7819   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7820     set_target_properties(grpc_credentials_test PROPERTIES LINKER_LANGUAGE C)
7821     target_compile_options(grpc_credentials_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7822   endif()
7823
7824 endif (gRPC_BUILD_TESTS)
7825 if (gRPC_BUILD_TESTS)
7826
7827 add_executable(grpc_fetch_oauth2
7828   test/core/security/fetch_oauth2.cc
7829 )
7830
7831
7832 target_include_directories(grpc_fetch_oauth2
7833   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7834   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7835   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7836   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7837   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7838   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7839   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7840   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7841   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7842   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7843 )
7844
7845 target_link_libraries(grpc_fetch_oauth2
7846   ${_gRPC_ALLTARGETS_LIBRARIES}
7847   grpc_test_util
7848   grpc
7849   gpr
7850 )
7851
7852   # avoid dependency on libstdc++
7853   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7854     set_target_properties(grpc_fetch_oauth2 PROPERTIES LINKER_LANGUAGE C)
7855     target_compile_options(grpc_fetch_oauth2 PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7856   endif()
7857
7858 endif (gRPC_BUILD_TESTS)
7859 if (gRPC_BUILD_TESTS)
7860
7861 add_executable(grpc_ipv6_loopback_available_test
7862   test/core/iomgr/grpc_ipv6_loopback_available_test.cc
7863 )
7864
7865
7866 target_include_directories(grpc_ipv6_loopback_available_test
7867   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7868   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7869   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7870   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7871   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7872   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7873   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7874   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7875   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7876   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7877 )
7878
7879 target_link_libraries(grpc_ipv6_loopback_available_test
7880   ${_gRPC_ALLTARGETS_LIBRARIES}
7881   grpc_test_util
7882   grpc
7883   gpr
7884 )
7885
7886   # avoid dependency on libstdc++
7887   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7888     set_target_properties(grpc_ipv6_loopback_available_test PROPERTIES LINKER_LANGUAGE C)
7889     target_compile_options(grpc_ipv6_loopback_available_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7890   endif()
7891
7892 endif (gRPC_BUILD_TESTS)
7893 if (gRPC_BUILD_TESTS)
7894 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
7895
7896 add_executable(grpc_json_token_test
7897   test/core/security/json_token_test.cc
7898 )
7899
7900
7901 target_include_directories(grpc_json_token_test
7902   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7903   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7904   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7905   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7906   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7907   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7908   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7909   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7910   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7911   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7912 )
7913
7914 target_link_libraries(grpc_json_token_test
7915   ${_gRPC_ALLTARGETS_LIBRARIES}
7916   grpc_test_util
7917   grpc
7918   gpr
7919 )
7920
7921   # avoid dependency on libstdc++
7922   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7923     set_target_properties(grpc_json_token_test PROPERTIES LINKER_LANGUAGE C)
7924     target_compile_options(grpc_json_token_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7925   endif()
7926
7927 endif()
7928 endif (gRPC_BUILD_TESTS)
7929 if (gRPC_BUILD_TESTS)
7930
7931 add_executable(grpc_jwt_verifier_test
7932   test/core/security/jwt_verifier_test.cc
7933 )
7934
7935
7936 target_include_directories(grpc_jwt_verifier_test
7937   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7938   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7939   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7940   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7941   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7942   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7943   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7944   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7945   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7946   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7947 )
7948
7949 target_link_libraries(grpc_jwt_verifier_test
7950   ${_gRPC_ALLTARGETS_LIBRARIES}
7951   grpc_test_util
7952   grpc
7953   gpr
7954 )
7955
7956   # avoid dependency on libstdc++
7957   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7958     set_target_properties(grpc_jwt_verifier_test PROPERTIES LINKER_LANGUAGE C)
7959     target_compile_options(grpc_jwt_verifier_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7960   endif()
7961
7962 endif (gRPC_BUILD_TESTS)
7963
7964 add_executable(grpc_print_google_default_creds_token
7965   test/core/security/print_google_default_creds_token.cc
7966   test/core/util/cmdline.cc
7967 )
7968
7969
7970 target_include_directories(grpc_print_google_default_creds_token
7971   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
7972   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
7973   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
7974   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
7975   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
7976   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
7977   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
7978   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
7979   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
7980   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
7981 )
7982
7983 target_link_libraries(grpc_print_google_default_creds_token
7984   ${_gRPC_ALLTARGETS_LIBRARIES}
7985   grpc
7986   gpr
7987 )
7988
7989   # avoid dependency on libstdc++
7990   if (_gRPC_CORE_NOSTDCXX_FLAGS)
7991     set_target_properties(grpc_print_google_default_creds_token PROPERTIES LINKER_LANGUAGE C)
7992     target_compile_options(grpc_print_google_default_creds_token PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
7993   endif()
7994
7995 if (gRPC_BUILD_TESTS)
7996
7997 add_executable(grpc_security_connector_test
7998   test/core/security/security_connector_test.cc
7999 )
8000
8001
8002 target_include_directories(grpc_security_connector_test
8003   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8004   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8005   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8006   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8007   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8008   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8009   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8010   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8011   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8012   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8013 )
8014
8015 target_link_libraries(grpc_security_connector_test
8016   ${_gRPC_ALLTARGETS_LIBRARIES}
8017   grpc_test_util
8018   grpc
8019   gpr
8020 )
8021
8022   # avoid dependency on libstdc++
8023   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8024     set_target_properties(grpc_security_connector_test PROPERTIES LINKER_LANGUAGE C)
8025     target_compile_options(grpc_security_connector_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8026   endif()
8027
8028 endif (gRPC_BUILD_TESTS)
8029 if (gRPC_BUILD_TESTS)
8030
8031 add_executable(grpc_ssl_credentials_test
8032   test/core/security/ssl_credentials_test.cc
8033 )
8034
8035
8036 target_include_directories(grpc_ssl_credentials_test
8037   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8038   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8039   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8040   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8041   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8042   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8043   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8044   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8045   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8046   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8047 )
8048
8049 target_link_libraries(grpc_ssl_credentials_test
8050   ${_gRPC_ALLTARGETS_LIBRARIES}
8051   grpc_test_util
8052   grpc
8053   gpr
8054 )
8055
8056   # avoid dependency on libstdc++
8057   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8058     set_target_properties(grpc_ssl_credentials_test PROPERTIES LINKER_LANGUAGE C)
8059     target_compile_options(grpc_ssl_credentials_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8060   endif()
8061
8062 endif (gRPC_BUILD_TESTS)
8063
8064 add_executable(grpc_verify_jwt
8065   test/core/security/verify_jwt.cc
8066   test/core/util/cmdline.cc
8067 )
8068
8069
8070 target_include_directories(grpc_verify_jwt
8071   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8072   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8073   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8074   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8075   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8076   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8077   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8078   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8079   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8080   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8081 )
8082
8083 target_link_libraries(grpc_verify_jwt
8084   ${_gRPC_ALLTARGETS_LIBRARIES}
8085   grpc
8086   gpr
8087 )
8088
8089   # avoid dependency on libstdc++
8090   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8091     set_target_properties(grpc_verify_jwt PROPERTIES LINKER_LANGUAGE C)
8092     target_compile_options(grpc_verify_jwt PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8093   endif()
8094
8095 if (gRPC_BUILD_TESTS)
8096 if(_gRPC_PLATFORM_LINUX)
8097
8098 add_executable(handshake_client_ssl
8099   test/core/handshake/client_ssl.cc
8100 )
8101
8102
8103 target_include_directories(handshake_client_ssl
8104   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8105   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8106   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8107   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8108   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8109   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8110   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8111   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8112   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8113   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8114 )
8115
8116 target_link_libraries(handshake_client_ssl
8117   ${_gRPC_SSL_LIBRARIES}
8118   ${_gRPC_ALLTARGETS_LIBRARIES}
8119   grpc_test_util
8120   grpc
8121   gpr
8122 )
8123
8124   # avoid dependency on libstdc++
8125   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8126     set_target_properties(handshake_client_ssl PROPERTIES LINKER_LANGUAGE C)
8127     target_compile_options(handshake_client_ssl PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8128   endif()
8129
8130 endif()
8131 endif (gRPC_BUILD_TESTS)
8132 if (gRPC_BUILD_TESTS)
8133 if(_gRPC_PLATFORM_LINUX)
8134
8135 add_executable(handshake_server_ssl
8136   test/core/handshake/server_ssl.cc
8137   test/core/handshake/server_ssl_common.cc
8138 )
8139
8140
8141 target_include_directories(handshake_server_ssl
8142   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8143   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8144   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8145   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8146   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8147   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8148   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8149   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8150   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8151   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8152 )
8153
8154 target_link_libraries(handshake_server_ssl
8155   ${_gRPC_SSL_LIBRARIES}
8156   ${_gRPC_ALLTARGETS_LIBRARIES}
8157   grpc_test_util
8158   grpc
8159   gpr
8160 )
8161
8162   # avoid dependency on libstdc++
8163   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8164     set_target_properties(handshake_server_ssl PROPERTIES LINKER_LANGUAGE C)
8165     target_compile_options(handshake_server_ssl PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8166   endif()
8167
8168 endif()
8169 endif (gRPC_BUILD_TESTS)
8170 if (gRPC_BUILD_TESTS)
8171 if(_gRPC_PLATFORM_LINUX)
8172
8173 add_executable(handshake_server_with_readahead_handshaker
8174   test/core/handshake/readahead_handshaker_server_ssl.cc
8175   test/core/handshake/server_ssl_common.cc
8176 )
8177
8178
8179 target_include_directories(handshake_server_with_readahead_handshaker
8180   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8181   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8182   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8183   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8184   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8185   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8186   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8187   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8188   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8189   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8190 )
8191
8192 target_link_libraries(handshake_server_with_readahead_handshaker
8193   ${_gRPC_SSL_LIBRARIES}
8194   ${_gRPC_ALLTARGETS_LIBRARIES}
8195   grpc_test_util
8196   grpc
8197   gpr
8198 )
8199
8200   # avoid dependency on libstdc++
8201   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8202     set_target_properties(handshake_server_with_readahead_handshaker PROPERTIES LINKER_LANGUAGE C)
8203     target_compile_options(handshake_server_with_readahead_handshaker PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8204   endif()
8205
8206 endif()
8207 endif (gRPC_BUILD_TESTS)
8208 if (gRPC_BUILD_TESTS)
8209 if(_gRPC_PLATFORM_LINUX)
8210
8211 add_executable(handshake_verify_peer_options
8212   test/core/handshake/verify_peer_options.cc
8213 )
8214
8215
8216 target_include_directories(handshake_verify_peer_options
8217   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8218   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8219   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8220   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8221   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8222   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8223   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8224   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8225   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8226   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8227 )
8228
8229 target_link_libraries(handshake_verify_peer_options
8230   ${_gRPC_SSL_LIBRARIES}
8231   ${_gRPC_ALLTARGETS_LIBRARIES}
8232   grpc_test_util
8233   grpc
8234   gpr
8235 )
8236
8237   # avoid dependency on libstdc++
8238   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8239     set_target_properties(handshake_verify_peer_options PROPERTIES LINKER_LANGUAGE C)
8240     target_compile_options(handshake_verify_peer_options PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8241   endif()
8242
8243 endif()
8244 endif (gRPC_BUILD_TESTS)
8245 if (gRPC_BUILD_TESTS)
8246
8247 add_executable(histogram_test
8248   test/core/util/histogram_test.cc
8249 )
8250
8251
8252 target_include_directories(histogram_test
8253   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8254   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8255   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8256   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8257   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8258   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8259   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8260   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8261   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8262   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8263 )
8264
8265 target_link_libraries(histogram_test
8266   ${_gRPC_ALLTARGETS_LIBRARIES}
8267   grpc_test_util
8268   gpr
8269 )
8270
8271   # avoid dependency on libstdc++
8272   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8273     set_target_properties(histogram_test PROPERTIES LINKER_LANGUAGE C)
8274     target_compile_options(histogram_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8275   endif()
8276
8277 endif (gRPC_BUILD_TESTS)
8278 if (gRPC_BUILD_TESTS)
8279
8280 add_executable(hpack_parser_test
8281   test/core/transport/chttp2/hpack_parser_test.cc
8282 )
8283
8284
8285 target_include_directories(hpack_parser_test
8286   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8287   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8288   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8289   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8290   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8291   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8292   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8293   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8294   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8295   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8296 )
8297
8298 target_link_libraries(hpack_parser_test
8299   ${_gRPC_ALLTARGETS_LIBRARIES}
8300   grpc_test_util
8301   grpc
8302   gpr
8303 )
8304
8305   # avoid dependency on libstdc++
8306   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8307     set_target_properties(hpack_parser_test PROPERTIES LINKER_LANGUAGE C)
8308     target_compile_options(hpack_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8309   endif()
8310
8311 endif (gRPC_BUILD_TESTS)
8312 if (gRPC_BUILD_TESTS)
8313
8314 add_executable(hpack_table_test
8315   test/core/transport/chttp2/hpack_table_test.cc
8316 )
8317
8318
8319 target_include_directories(hpack_table_test
8320   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8321   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8322   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8323   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8324   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8325   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8326   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8327   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8328   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8329   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8330 )
8331
8332 target_link_libraries(hpack_table_test
8333   ${_gRPC_ALLTARGETS_LIBRARIES}
8334   grpc_test_util
8335   grpc
8336   gpr
8337 )
8338
8339   # avoid dependency on libstdc++
8340   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8341     set_target_properties(hpack_table_test PROPERTIES LINKER_LANGUAGE C)
8342     target_compile_options(hpack_table_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8343   endif()
8344
8345 endif (gRPC_BUILD_TESTS)
8346 if (gRPC_BUILD_TESTS)
8347
8348 add_executable(http_parser_test
8349   test/core/http/parser_test.cc
8350 )
8351
8352
8353 target_include_directories(http_parser_test
8354   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8355   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8356   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8357   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8358   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8359   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8360   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8361   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8362   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8363   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8364 )
8365
8366 target_link_libraries(http_parser_test
8367   ${_gRPC_ALLTARGETS_LIBRARIES}
8368   grpc_test_util
8369   grpc
8370   gpr
8371 )
8372
8373   # avoid dependency on libstdc++
8374   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8375     set_target_properties(http_parser_test PROPERTIES LINKER_LANGUAGE C)
8376     target_compile_options(http_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8377   endif()
8378
8379 endif (gRPC_BUILD_TESTS)
8380 if (gRPC_BUILD_TESTS)
8381
8382 add_executable(httpcli_format_request_test
8383   test/core/http/format_request_test.cc
8384 )
8385
8386
8387 target_include_directories(httpcli_format_request_test
8388   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8389   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8390   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8391   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8392   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8393   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8394   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8395   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8396   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8397   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8398 )
8399
8400 target_link_libraries(httpcli_format_request_test
8401   ${_gRPC_ALLTARGETS_LIBRARIES}
8402   grpc_test_util
8403   grpc
8404   gpr
8405 )
8406
8407   # avoid dependency on libstdc++
8408   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8409     set_target_properties(httpcli_format_request_test PROPERTIES LINKER_LANGUAGE C)
8410     target_compile_options(httpcli_format_request_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8411   endif()
8412
8413 endif (gRPC_BUILD_TESTS)
8414 if (gRPC_BUILD_TESTS)
8415 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
8416
8417 add_executable(httpcli_test
8418   test/core/http/httpcli_test.cc
8419 )
8420
8421
8422 target_include_directories(httpcli_test
8423   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8424   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8425   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8426   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8427   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8428   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8429   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8430   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8431   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8432   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8433 )
8434
8435 target_link_libraries(httpcli_test
8436   ${_gRPC_ALLTARGETS_LIBRARIES}
8437   grpc_test_util
8438   grpc
8439   gpr
8440 )
8441
8442   # avoid dependency on libstdc++
8443   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8444     set_target_properties(httpcli_test PROPERTIES LINKER_LANGUAGE C)
8445     target_compile_options(httpcli_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8446   endif()
8447
8448 endif()
8449 endif (gRPC_BUILD_TESTS)
8450 if (gRPC_BUILD_TESTS)
8451 if(_gRPC_PLATFORM_LINUX)
8452
8453 add_executable(httpscli_test
8454   test/core/http/httpscli_test.cc
8455 )
8456
8457
8458 target_include_directories(httpscli_test
8459   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8460   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8461   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8462   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8463   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8464   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8465   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8466   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8467   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8468   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8469 )
8470
8471 target_link_libraries(httpscli_test
8472   ${_gRPC_ALLTARGETS_LIBRARIES}
8473   grpc_test_util
8474   grpc
8475   gpr
8476 )
8477
8478   # avoid dependency on libstdc++
8479   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8480     set_target_properties(httpscli_test PROPERTIES LINKER_LANGUAGE C)
8481     target_compile_options(httpscli_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8482   endif()
8483
8484 endif()
8485 endif (gRPC_BUILD_TESTS)
8486 if (gRPC_BUILD_TESTS)
8487
8488 add_executable(init_test
8489   test/core/surface/init_test.cc
8490 )
8491
8492
8493 target_include_directories(init_test
8494   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8495   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8496   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8497   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8498   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8499   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8500   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8501   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8502   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8503   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8504 )
8505
8506 target_link_libraries(init_test
8507   ${_gRPC_ALLTARGETS_LIBRARIES}
8508   grpc_test_util
8509   grpc
8510   gpr
8511 )
8512
8513   # avoid dependency on libstdc++
8514   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8515     set_target_properties(init_test PROPERTIES LINKER_LANGUAGE C)
8516     target_compile_options(init_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8517   endif()
8518
8519 endif (gRPC_BUILD_TESTS)
8520 if (gRPC_BUILD_TESTS)
8521
8522 add_executable(inproc_callback_test
8523   test/core/end2end/inproc_callback_test.cc
8524 )
8525
8526
8527 target_include_directories(inproc_callback_test
8528   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8529   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8530   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8531   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8532   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8533   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8534   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8535   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8536   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8537   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8538 )
8539
8540 target_link_libraries(inproc_callback_test
8541   ${_gRPC_ALLTARGETS_LIBRARIES}
8542   grpc_test_util
8543   grpc
8544   gpr
8545 )
8546
8547   # avoid dependency on libstdc++
8548   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8549     set_target_properties(inproc_callback_test PROPERTIES LINKER_LANGUAGE C)
8550     target_compile_options(inproc_callback_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8551   endif()
8552
8553 endif (gRPC_BUILD_TESTS)
8554 if (gRPC_BUILD_TESTS)
8555
8556 add_executable(invalid_call_argument_test
8557   test/core/end2end/invalid_call_argument_test.cc
8558 )
8559
8560
8561 target_include_directories(invalid_call_argument_test
8562   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8563   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8564   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8565   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8566   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8567   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8568   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8569   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8570   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8571   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8572 )
8573
8574 target_link_libraries(invalid_call_argument_test
8575   ${_gRPC_ALLTARGETS_LIBRARIES}
8576   grpc_test_util
8577   grpc
8578   gpr
8579 )
8580
8581   # avoid dependency on libstdc++
8582   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8583     set_target_properties(invalid_call_argument_test PROPERTIES LINKER_LANGUAGE C)
8584     target_compile_options(invalid_call_argument_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8585   endif()
8586
8587 endif (gRPC_BUILD_TESTS)
8588 if (gRPC_BUILD_TESTS)
8589
8590 add_executable(json_rewrite
8591   test/core/json/json_rewrite.cc
8592 )
8593
8594
8595 target_include_directories(json_rewrite
8596   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8597   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8598   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8599   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8600   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8601   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8602   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8603   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8604   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8605   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8606 )
8607
8608 target_link_libraries(json_rewrite
8609   ${_gRPC_ALLTARGETS_LIBRARIES}
8610   grpc_test_util
8611   grpc
8612   gpr
8613 )
8614
8615   # avoid dependency on libstdc++
8616   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8617     set_target_properties(json_rewrite PROPERTIES LINKER_LANGUAGE C)
8618     target_compile_options(json_rewrite PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8619   endif()
8620
8621 endif (gRPC_BUILD_TESTS)
8622 if (gRPC_BUILD_TESTS)
8623
8624 add_executable(json_rewrite_test
8625   test/core/json/json_rewrite_test.cc
8626 )
8627
8628
8629 target_include_directories(json_rewrite_test
8630   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8631   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8632   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8633   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8634   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8635   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8636   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8637   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8638   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8639   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8640 )
8641
8642 target_link_libraries(json_rewrite_test
8643   ${_gRPC_ALLTARGETS_LIBRARIES}
8644   grpc_test_util
8645   grpc
8646   gpr
8647 )
8648
8649   # avoid dependency on libstdc++
8650   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8651     set_target_properties(json_rewrite_test PROPERTIES LINKER_LANGUAGE C)
8652     target_compile_options(json_rewrite_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8653   endif()
8654
8655 endif (gRPC_BUILD_TESTS)
8656 if (gRPC_BUILD_TESTS)
8657
8658 add_executable(json_stream_error_test
8659   test/core/json/json_stream_error_test.cc
8660 )
8661
8662
8663 target_include_directories(json_stream_error_test
8664   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8665   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8666   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8667   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8668   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8669   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8670   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8671   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8672   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8673   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8674 )
8675
8676 target_link_libraries(json_stream_error_test
8677   ${_gRPC_ALLTARGETS_LIBRARIES}
8678   grpc_test_util
8679   grpc
8680   gpr
8681 )
8682
8683   # avoid dependency on libstdc++
8684   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8685     set_target_properties(json_stream_error_test PROPERTIES LINKER_LANGUAGE C)
8686     target_compile_options(json_stream_error_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8687   endif()
8688
8689 endif (gRPC_BUILD_TESTS)
8690 if (gRPC_BUILD_TESTS)
8691
8692 add_executable(json_test
8693   test/core/json/json_test.cc
8694 )
8695
8696
8697 target_include_directories(json_test
8698   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8699   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8700   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8701   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8702   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8703   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8704   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8705   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8706   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8707   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8708 )
8709
8710 target_link_libraries(json_test
8711   ${_gRPC_ALLTARGETS_LIBRARIES}
8712   grpc_test_util
8713   grpc
8714   gpr
8715 )
8716
8717   # avoid dependency on libstdc++
8718   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8719     set_target_properties(json_test PROPERTIES LINKER_LANGUAGE C)
8720     target_compile_options(json_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8721   endif()
8722
8723 endif (gRPC_BUILD_TESTS)
8724 if (gRPC_BUILD_TESTS)
8725
8726 add_executable(lame_client_test
8727   test/core/surface/lame_client_test.cc
8728 )
8729
8730
8731 target_include_directories(lame_client_test
8732   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8733   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8734   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8735   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8736   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8737   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8738   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8739   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8740   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8741   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8742 )
8743
8744 target_link_libraries(lame_client_test
8745   ${_gRPC_ALLTARGETS_LIBRARIES}
8746   grpc_test_util
8747   grpc
8748   gpr
8749 )
8750
8751   # avoid dependency on libstdc++
8752   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8753     set_target_properties(lame_client_test PROPERTIES LINKER_LANGUAGE C)
8754     target_compile_options(lame_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8755   endif()
8756
8757 endif (gRPC_BUILD_TESTS)
8758 if (gRPC_BUILD_TESTS)
8759
8760 add_executable(load_file_test
8761   test/core/iomgr/load_file_test.cc
8762 )
8763
8764
8765 target_include_directories(load_file_test
8766   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8767   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8768   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8769   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8770   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8771   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8772   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8773   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8774   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8775   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8776 )
8777
8778 target_link_libraries(load_file_test
8779   ${_gRPC_ALLTARGETS_LIBRARIES}
8780   grpc_test_util
8781   grpc
8782   gpr
8783 )
8784
8785   # avoid dependency on libstdc++
8786   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8787     set_target_properties(load_file_test PROPERTIES LINKER_LANGUAGE C)
8788     target_compile_options(load_file_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8789   endif()
8790
8791 endif (gRPC_BUILD_TESTS)
8792 if (gRPC_BUILD_TESTS)
8793
8794 add_executable(memory_usage_client
8795   test/core/memory_usage/client.cc
8796 )
8797
8798
8799 target_include_directories(memory_usage_client
8800   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8801   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8802   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8803   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8804   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8805   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8806   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8807   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8808   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8809   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8810 )
8811
8812 target_link_libraries(memory_usage_client
8813   ${_gRPC_ALLTARGETS_LIBRARIES}
8814   grpc_test_util
8815   grpc
8816   gpr
8817 )
8818
8819   # avoid dependency on libstdc++
8820   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8821     set_target_properties(memory_usage_client PROPERTIES LINKER_LANGUAGE C)
8822     target_compile_options(memory_usage_client PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8823   endif()
8824
8825 endif (gRPC_BUILD_TESTS)
8826 if (gRPC_BUILD_TESTS)
8827
8828 add_executable(memory_usage_server
8829   test/core/memory_usage/server.cc
8830 )
8831
8832
8833 target_include_directories(memory_usage_server
8834   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8835   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8836   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8837   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8838   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8839   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8840   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8841   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8842   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8843   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8844 )
8845
8846 target_link_libraries(memory_usage_server
8847   ${_gRPC_ALLTARGETS_LIBRARIES}
8848   grpc_test_util
8849   grpc
8850   gpr
8851 )
8852
8853   # avoid dependency on libstdc++
8854   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8855     set_target_properties(memory_usage_server PROPERTIES LINKER_LANGUAGE C)
8856     target_compile_options(memory_usage_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8857   endif()
8858
8859 endif (gRPC_BUILD_TESTS)
8860 if (gRPC_BUILD_TESTS)
8861 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
8862
8863 add_executable(memory_usage_test
8864   test/core/memory_usage/memory_usage_test.cc
8865 )
8866
8867
8868 target_include_directories(memory_usage_test
8869   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8870   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8871   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8872   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8873   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8874   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8875   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8876   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8877   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8878   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8879 )
8880
8881 target_link_libraries(memory_usage_test
8882   ${_gRPC_ALLTARGETS_LIBRARIES}
8883   grpc_test_util
8884   grpc
8885   gpr
8886 )
8887
8888   # avoid dependency on libstdc++
8889   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8890     set_target_properties(memory_usage_test PROPERTIES LINKER_LANGUAGE C)
8891     target_compile_options(memory_usage_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8892   endif()
8893
8894 endif()
8895 endif (gRPC_BUILD_TESTS)
8896 if (gRPC_BUILD_TESTS)
8897
8898 add_executable(message_compress_test
8899   test/core/compression/message_compress_test.cc
8900 )
8901
8902
8903 target_include_directories(message_compress_test
8904   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8905   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8906   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8907   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8908   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8909   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8910   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8911   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8912   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8913   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8914 )
8915
8916 target_link_libraries(message_compress_test
8917   ${_gRPC_ALLTARGETS_LIBRARIES}
8918   grpc_test_util
8919   grpc
8920   gpr
8921 )
8922
8923   # avoid dependency on libstdc++
8924   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8925     set_target_properties(message_compress_test PROPERTIES LINKER_LANGUAGE C)
8926     target_compile_options(message_compress_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8927   endif()
8928
8929 endif (gRPC_BUILD_TESTS)
8930 if (gRPC_BUILD_TESTS)
8931
8932 add_executable(minimal_stack_is_minimal_test
8933   test/core/channel/minimal_stack_is_minimal_test.cc
8934 )
8935
8936
8937 target_include_directories(minimal_stack_is_minimal_test
8938   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8939   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8940   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8941   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8942   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8943   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8944   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8945   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8946   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8947   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8948 )
8949
8950 target_link_libraries(minimal_stack_is_minimal_test
8951   ${_gRPC_ALLTARGETS_LIBRARIES}
8952   grpc_test_util
8953   grpc
8954   gpr
8955 )
8956
8957   # avoid dependency on libstdc++
8958   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8959     set_target_properties(minimal_stack_is_minimal_test PROPERTIES LINKER_LANGUAGE C)
8960     target_compile_options(minimal_stack_is_minimal_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8961   endif()
8962
8963 endif (gRPC_BUILD_TESTS)
8964 if (gRPC_BUILD_TESTS)
8965
8966 add_executable(multiple_server_queues_test
8967   test/core/end2end/multiple_server_queues_test.cc
8968 )
8969
8970
8971 target_include_directories(multiple_server_queues_test
8972   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
8973   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
8974   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
8975   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
8976   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
8977   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
8978   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
8979   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
8980   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
8981   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
8982 )
8983
8984 target_link_libraries(multiple_server_queues_test
8985   ${_gRPC_ALLTARGETS_LIBRARIES}
8986   grpc_test_util
8987   grpc
8988   gpr
8989 )
8990
8991   # avoid dependency on libstdc++
8992   if (_gRPC_CORE_NOSTDCXX_FLAGS)
8993     set_target_properties(multiple_server_queues_test PROPERTIES LINKER_LANGUAGE C)
8994     target_compile_options(multiple_server_queues_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
8995   endif()
8996
8997 endif (gRPC_BUILD_TESTS)
8998 if (gRPC_BUILD_TESTS)
8999
9000 add_executable(murmur_hash_test
9001   test/core/gpr/murmur_hash_test.cc
9002 )
9003
9004
9005 target_include_directories(murmur_hash_test
9006   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9007   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9008   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9009   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9010   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9011   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9012   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9013   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9014   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9015   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9016 )
9017
9018 target_link_libraries(murmur_hash_test
9019   ${_gRPC_ALLTARGETS_LIBRARIES}
9020   gpr
9021   grpc_test_util_unsecure
9022   grpc_unsecure
9023 )
9024
9025   # avoid dependency on libstdc++
9026   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9027     set_target_properties(murmur_hash_test PROPERTIES LINKER_LANGUAGE C)
9028     target_compile_options(murmur_hash_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9029   endif()
9030
9031 endif (gRPC_BUILD_TESTS)
9032 if (gRPC_BUILD_TESTS)
9033
9034 add_executable(no_server_test
9035   test/core/end2end/no_server_test.cc
9036 )
9037
9038
9039 target_include_directories(no_server_test
9040   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9041   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9042   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9043   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9044   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9045   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9046   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9047   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9048   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9049   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9050 )
9051
9052 target_link_libraries(no_server_test
9053   ${_gRPC_ALLTARGETS_LIBRARIES}
9054   grpc_test_util
9055   grpc
9056   gpr
9057 )
9058
9059   # avoid dependency on libstdc++
9060   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9061     set_target_properties(no_server_test PROPERTIES LINKER_LANGUAGE C)
9062     target_compile_options(no_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9063   endif()
9064
9065 endif (gRPC_BUILD_TESTS)
9066 if (gRPC_BUILD_TESTS)
9067
9068 add_executable(num_external_connectivity_watchers_test
9069   test/core/surface/num_external_connectivity_watchers_test.cc
9070 )
9071
9072
9073 target_include_directories(num_external_connectivity_watchers_test
9074   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9075   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9076   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9077   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9078   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9079   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9080   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9081   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9082   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9083   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9084 )
9085
9086 target_link_libraries(num_external_connectivity_watchers_test
9087   ${_gRPC_ALLTARGETS_LIBRARIES}
9088   grpc_test_util
9089   grpc
9090   gpr
9091 )
9092
9093   # avoid dependency on libstdc++
9094   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9095     set_target_properties(num_external_connectivity_watchers_test PROPERTIES LINKER_LANGUAGE C)
9096     target_compile_options(num_external_connectivity_watchers_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9097   endif()
9098
9099 endif (gRPC_BUILD_TESTS)
9100 if (gRPC_BUILD_TESTS)
9101
9102 add_executable(parse_address_test
9103   test/core/client_channel/parse_address_test.cc
9104 )
9105
9106
9107 target_include_directories(parse_address_test
9108   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9109   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9110   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9111   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9112   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9113   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9114   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9115   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9116   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9117   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9118 )
9119
9120 target_link_libraries(parse_address_test
9121   ${_gRPC_ALLTARGETS_LIBRARIES}
9122   grpc_test_util
9123   grpc
9124   gpr
9125 )
9126
9127   # avoid dependency on libstdc++
9128   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9129     set_target_properties(parse_address_test PROPERTIES LINKER_LANGUAGE C)
9130     target_compile_options(parse_address_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9131   endif()
9132
9133 endif (gRPC_BUILD_TESTS)
9134 if (gRPC_BUILD_TESTS)
9135
9136 add_executable(percent_encoding_test
9137   test/core/slice/percent_encoding_test.cc
9138 )
9139
9140
9141 target_include_directories(percent_encoding_test
9142   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9143   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9144   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9145   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9146   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9147   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9148   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9149   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9150   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9151   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9152 )
9153
9154 target_link_libraries(percent_encoding_test
9155   ${_gRPC_ALLTARGETS_LIBRARIES}
9156   grpc_test_util
9157   grpc
9158   gpr
9159 )
9160
9161   # avoid dependency on libstdc++
9162   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9163     set_target_properties(percent_encoding_test PROPERTIES LINKER_LANGUAGE C)
9164     target_compile_options(percent_encoding_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9165   endif()
9166
9167 endif (gRPC_BUILD_TESTS)
9168 if (gRPC_BUILD_TESTS)
9169 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9170
9171 add_executable(resolve_address_posix_test
9172   test/core/iomgr/resolve_address_posix_test.cc
9173 )
9174
9175
9176 target_include_directories(resolve_address_posix_test
9177   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9178   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9179   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9180   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9181   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9182   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9183   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9184   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9185   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9186   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9187 )
9188
9189 target_link_libraries(resolve_address_posix_test
9190   ${_gRPC_ALLTARGETS_LIBRARIES}
9191   grpc_test_util
9192   grpc
9193   gpr
9194 )
9195
9196   # avoid dependency on libstdc++
9197   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9198     set_target_properties(resolve_address_posix_test PROPERTIES LINKER_LANGUAGE C)
9199     target_compile_options(resolve_address_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9200   endif()
9201
9202 endif()
9203 endif (gRPC_BUILD_TESTS)
9204 if (gRPC_BUILD_TESTS)
9205
9206 add_executable(resolve_address_using_ares_resolver_test
9207   test/core/iomgr/resolve_address_test.cc
9208 )
9209
9210
9211 target_include_directories(resolve_address_using_ares_resolver_test
9212   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9213   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9214   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9215   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9216   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9217   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9218   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9219   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9220   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9221   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9222 )
9223
9224 target_link_libraries(resolve_address_using_ares_resolver_test
9225   ${_gRPC_ALLTARGETS_LIBRARIES}
9226   grpc_test_util
9227   grpc
9228   gpr
9229 )
9230
9231   # avoid dependency on libstdc++
9232   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9233     set_target_properties(resolve_address_using_ares_resolver_test PROPERTIES LINKER_LANGUAGE C)
9234     target_compile_options(resolve_address_using_ares_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9235   endif()
9236
9237 endif (gRPC_BUILD_TESTS)
9238 if (gRPC_BUILD_TESTS)
9239
9240 add_executable(resolve_address_using_native_resolver_test
9241   test/core/iomgr/resolve_address_test.cc
9242 )
9243
9244
9245 target_include_directories(resolve_address_using_native_resolver_test
9246   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9247   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9248   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9249   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9250   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9251   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9252   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9253   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9254   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9255   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9256 )
9257
9258 target_link_libraries(resolve_address_using_native_resolver_test
9259   ${_gRPC_ALLTARGETS_LIBRARIES}
9260   grpc_test_util
9261   grpc
9262   gpr
9263 )
9264
9265   # avoid dependency on libstdc++
9266   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9267     set_target_properties(resolve_address_using_native_resolver_test PROPERTIES LINKER_LANGUAGE C)
9268     target_compile_options(resolve_address_using_native_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9269   endif()
9270
9271 endif (gRPC_BUILD_TESTS)
9272 if (gRPC_BUILD_TESTS)
9273
9274 add_executable(resource_quota_test
9275   test/core/iomgr/resource_quota_test.cc
9276 )
9277
9278
9279 target_include_directories(resource_quota_test
9280   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9281   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9282   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9283   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9284   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9285   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9286   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9287   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9288   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9289   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9290 )
9291
9292 target_link_libraries(resource_quota_test
9293   ${_gRPC_ALLTARGETS_LIBRARIES}
9294   grpc_test_util
9295   grpc
9296   gpr
9297 )
9298
9299   # avoid dependency on libstdc++
9300   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9301     set_target_properties(resource_quota_test PROPERTIES LINKER_LANGUAGE C)
9302     target_compile_options(resource_quota_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9303   endif()
9304
9305 endif (gRPC_BUILD_TESTS)
9306 if (gRPC_BUILD_TESTS)
9307
9308 add_executable(secure_channel_create_test
9309   test/core/surface/secure_channel_create_test.cc
9310 )
9311
9312
9313 target_include_directories(secure_channel_create_test
9314   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9315   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9316   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9317   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9318   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9319   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9320   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9321   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9322   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9323   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9324 )
9325
9326 target_link_libraries(secure_channel_create_test
9327   ${_gRPC_ALLTARGETS_LIBRARIES}
9328   grpc_test_util
9329   grpc
9330   gpr
9331 )
9332
9333   # avoid dependency on libstdc++
9334   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9335     set_target_properties(secure_channel_create_test PROPERTIES LINKER_LANGUAGE C)
9336     target_compile_options(secure_channel_create_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9337   endif()
9338
9339 endif (gRPC_BUILD_TESTS)
9340 if (gRPC_BUILD_TESTS)
9341
9342 add_executable(secure_endpoint_test
9343   test/core/security/secure_endpoint_test.cc
9344 )
9345
9346
9347 target_include_directories(secure_endpoint_test
9348   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9349   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9350   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9351   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9352   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9353   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9354   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9355   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9356   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9357   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9358 )
9359
9360 target_link_libraries(secure_endpoint_test
9361   ${_gRPC_ALLTARGETS_LIBRARIES}
9362   grpc_test_util
9363   grpc
9364   gpr
9365 )
9366
9367   # avoid dependency on libstdc++
9368   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9369     set_target_properties(secure_endpoint_test PROPERTIES LINKER_LANGUAGE C)
9370     target_compile_options(secure_endpoint_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9371   endif()
9372
9373 endif (gRPC_BUILD_TESTS)
9374 if (gRPC_BUILD_TESTS)
9375
9376 add_executable(sequential_connectivity_test
9377   test/core/surface/sequential_connectivity_test.cc
9378 )
9379
9380
9381 target_include_directories(sequential_connectivity_test
9382   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9383   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9384   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9385   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9386   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9387   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9388   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9389   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9390   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9391   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9392 )
9393
9394 target_link_libraries(sequential_connectivity_test
9395   ${_gRPC_ALLTARGETS_LIBRARIES}
9396   grpc_test_util
9397   grpc
9398   gpr
9399 )
9400
9401   # avoid dependency on libstdc++
9402   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9403     set_target_properties(sequential_connectivity_test PROPERTIES LINKER_LANGUAGE C)
9404     target_compile_options(sequential_connectivity_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9405   endif()
9406
9407 endif (gRPC_BUILD_TESTS)
9408 if (gRPC_BUILD_TESTS)
9409
9410 add_executable(server_chttp2_test
9411   test/core/surface/server_chttp2_test.cc
9412 )
9413
9414
9415 target_include_directories(server_chttp2_test
9416   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9417   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9418   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9419   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9420   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9421   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9422   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9423   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9424   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9425   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9426 )
9427
9428 target_link_libraries(server_chttp2_test
9429   ${_gRPC_ALLTARGETS_LIBRARIES}
9430   grpc_test_util
9431   grpc
9432   gpr
9433 )
9434
9435   # avoid dependency on libstdc++
9436   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9437     set_target_properties(server_chttp2_test PROPERTIES LINKER_LANGUAGE C)
9438     target_compile_options(server_chttp2_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9439   endif()
9440
9441 endif (gRPC_BUILD_TESTS)
9442 if (gRPC_BUILD_TESTS)
9443
9444 add_executable(server_test
9445   test/core/surface/server_test.cc
9446 )
9447
9448
9449 target_include_directories(server_test
9450   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9451   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9452   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9453   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9454   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9455   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9456   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9457   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9458   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9459   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9460 )
9461
9462 target_link_libraries(server_test
9463   ${_gRPC_ALLTARGETS_LIBRARIES}
9464   grpc_test_util
9465   grpc
9466   gpr
9467 )
9468
9469   # avoid dependency on libstdc++
9470   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9471     set_target_properties(server_test PROPERTIES LINKER_LANGUAGE C)
9472     target_compile_options(server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9473   endif()
9474
9475 endif (gRPC_BUILD_TESTS)
9476 if (gRPC_BUILD_TESTS)
9477
9478 add_executable(slice_buffer_test
9479   test/core/slice/slice_buffer_test.cc
9480 )
9481
9482
9483 target_include_directories(slice_buffer_test
9484   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9485   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9486   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9487   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9488   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9489   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9490   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9491   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9492   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9493   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9494 )
9495
9496 target_link_libraries(slice_buffer_test
9497   ${_gRPC_ALLTARGETS_LIBRARIES}
9498   grpc_test_util
9499   grpc
9500   gpr
9501 )
9502
9503   # avoid dependency on libstdc++
9504   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9505     set_target_properties(slice_buffer_test PROPERTIES LINKER_LANGUAGE C)
9506     target_compile_options(slice_buffer_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9507   endif()
9508
9509 endif (gRPC_BUILD_TESTS)
9510 if (gRPC_BUILD_TESTS)
9511
9512 add_executable(slice_string_helpers_test
9513   test/core/slice/slice_string_helpers_test.cc
9514 )
9515
9516
9517 target_include_directories(slice_string_helpers_test
9518   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9519   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9520   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9521   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9522   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9523   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9524   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9525   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9526   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9527   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9528 )
9529
9530 target_link_libraries(slice_string_helpers_test
9531   ${_gRPC_ALLTARGETS_LIBRARIES}
9532   grpc_test_util
9533   grpc
9534   gpr
9535 )
9536
9537   # avoid dependency on libstdc++
9538   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9539     set_target_properties(slice_string_helpers_test PROPERTIES LINKER_LANGUAGE C)
9540     target_compile_options(slice_string_helpers_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9541   endif()
9542
9543 endif (gRPC_BUILD_TESTS)
9544 if (gRPC_BUILD_TESTS)
9545
9546 add_executable(slice_test
9547   test/core/slice/slice_test.cc
9548 )
9549
9550
9551 target_include_directories(slice_test
9552   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9553   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9554   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9555   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9556   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9557   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9558   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9559   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9560   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9561   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9562 )
9563
9564 target_link_libraries(slice_test
9565   ${_gRPC_ALLTARGETS_LIBRARIES}
9566   grpc_test_util
9567   grpc
9568   gpr
9569 )
9570
9571   # avoid dependency on libstdc++
9572   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9573     set_target_properties(slice_test PROPERTIES LINKER_LANGUAGE C)
9574     target_compile_options(slice_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9575   endif()
9576
9577 endif (gRPC_BUILD_TESTS)
9578 if (gRPC_BUILD_TESTS)
9579
9580 add_executable(sockaddr_resolver_test
9581   test/core/client_channel/resolvers/sockaddr_resolver_test.cc
9582 )
9583
9584
9585 target_include_directories(sockaddr_resolver_test
9586   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9587   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9588   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9589   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9590   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9591   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9592   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9593   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9594   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9595   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9596 )
9597
9598 target_link_libraries(sockaddr_resolver_test
9599   ${_gRPC_ALLTARGETS_LIBRARIES}
9600   grpc_test_util
9601   grpc
9602   gpr
9603 )
9604
9605   # avoid dependency on libstdc++
9606   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9607     set_target_properties(sockaddr_resolver_test PROPERTIES LINKER_LANGUAGE C)
9608     target_compile_options(sockaddr_resolver_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9609   endif()
9610
9611 endif (gRPC_BUILD_TESTS)
9612 if (gRPC_BUILD_TESTS)
9613
9614 add_executable(sockaddr_utils_test
9615   test/core/iomgr/sockaddr_utils_test.cc
9616 )
9617
9618
9619 target_include_directories(sockaddr_utils_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(sockaddr_utils_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(sockaddr_utils_test PROPERTIES LINKER_LANGUAGE C)
9642     target_compile_options(sockaddr_utils_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9643   endif()
9644
9645 endif (gRPC_BUILD_TESTS)
9646 if (gRPC_BUILD_TESTS)
9647 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9648
9649 add_executable(socket_utils_test
9650   test/core/iomgr/socket_utils_test.cc
9651 )
9652
9653
9654 target_include_directories(socket_utils_test
9655   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9656   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9657   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9658   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9659   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9660   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9661   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9662   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9663   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9664   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9665 )
9666
9667 target_link_libraries(socket_utils_test
9668   ${_gRPC_ALLTARGETS_LIBRARIES}
9669   grpc_test_util
9670   grpc
9671   gpr
9672 )
9673
9674   # avoid dependency on libstdc++
9675   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9676     set_target_properties(socket_utils_test PROPERTIES LINKER_LANGUAGE C)
9677     target_compile_options(socket_utils_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9678   endif()
9679
9680 endif()
9681 endif (gRPC_BUILD_TESTS)
9682 if (gRPC_BUILD_TESTS)
9683 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9684
9685 add_executable(ssl_transport_security_test
9686   test/core/tsi/ssl_transport_security_test.cc
9687   test/core/tsi/transport_security_test_lib.cc
9688 )
9689
9690
9691 target_include_directories(ssl_transport_security_test
9692   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9693   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9694   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9695   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9696   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9697   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9698   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9699   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9700   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9701   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9702 )
9703
9704 target_link_libraries(ssl_transport_security_test
9705   ${_gRPC_ALLTARGETS_LIBRARIES}
9706   gpr
9707   grpc_test_util
9708   grpc
9709 )
9710
9711   # avoid dependency on libstdc++
9712   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9713     set_target_properties(ssl_transport_security_test PROPERTIES LINKER_LANGUAGE C)
9714     target_compile_options(ssl_transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9715   endif()
9716
9717 endif()
9718 endif (gRPC_BUILD_TESTS)
9719 if (gRPC_BUILD_TESTS)
9720
9721 add_executable(status_conversion_test
9722   test/core/transport/status_conversion_test.cc
9723 )
9724
9725
9726 target_include_directories(status_conversion_test
9727   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9728   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9729   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9730   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9731   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9732   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9733   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9734   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9735   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9736   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9737 )
9738
9739 target_link_libraries(status_conversion_test
9740   ${_gRPC_ALLTARGETS_LIBRARIES}
9741   grpc_test_util
9742   grpc
9743   gpr
9744 )
9745
9746   # avoid dependency on libstdc++
9747   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9748     set_target_properties(status_conversion_test PROPERTIES LINKER_LANGUAGE C)
9749     target_compile_options(status_conversion_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9750   endif()
9751
9752 endif (gRPC_BUILD_TESTS)
9753 if (gRPC_BUILD_TESTS)
9754
9755 add_executable(stream_compression_test
9756   test/core/compression/stream_compression_test.cc
9757 )
9758
9759
9760 target_include_directories(stream_compression_test
9761   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9762   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9763   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9764   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9765   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9766   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9767   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9768   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9769   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9770   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9771 )
9772
9773 target_link_libraries(stream_compression_test
9774   ${_gRPC_ALLTARGETS_LIBRARIES}
9775   grpc_test_util
9776   grpc
9777   gpr
9778 )
9779
9780   # avoid dependency on libstdc++
9781   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9782     set_target_properties(stream_compression_test PROPERTIES LINKER_LANGUAGE C)
9783     target_compile_options(stream_compression_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9784   endif()
9785
9786 endif (gRPC_BUILD_TESTS)
9787 if (gRPC_BUILD_TESTS)
9788
9789 add_executable(stream_owned_slice_test
9790   test/core/transport/stream_owned_slice_test.cc
9791 )
9792
9793
9794 target_include_directories(stream_owned_slice_test
9795   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9796   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9797   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9798   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9799   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9800   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9801   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9802   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9803   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9804   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9805 )
9806
9807 target_link_libraries(stream_owned_slice_test
9808   ${_gRPC_ALLTARGETS_LIBRARIES}
9809   grpc_test_util
9810   grpc
9811   gpr
9812 )
9813
9814   # avoid dependency on libstdc++
9815   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9816     set_target_properties(stream_owned_slice_test PROPERTIES LINKER_LANGUAGE C)
9817     target_compile_options(stream_owned_slice_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9818   endif()
9819
9820 endif (gRPC_BUILD_TESTS)
9821 if (gRPC_BUILD_TESTS)
9822 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9823
9824 add_executable(tcp_client_posix_test
9825   test/core/iomgr/tcp_client_posix_test.cc
9826 )
9827
9828
9829 target_include_directories(tcp_client_posix_test
9830   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9831   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9832   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9833   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9834   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9835   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9836   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9837   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9838   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9839   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9840 )
9841
9842 target_link_libraries(tcp_client_posix_test
9843   ${_gRPC_ALLTARGETS_LIBRARIES}
9844   grpc_test_util
9845   grpc
9846   gpr
9847 )
9848
9849   # avoid dependency on libstdc++
9850   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9851     set_target_properties(tcp_client_posix_test PROPERTIES LINKER_LANGUAGE C)
9852     target_compile_options(tcp_client_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9853   endif()
9854
9855 endif()
9856 endif (gRPC_BUILD_TESTS)
9857 if (gRPC_BUILD_TESTS)
9858
9859 add_executable(tcp_client_uv_test
9860   test/core/iomgr/tcp_client_uv_test.cc
9861 )
9862
9863
9864 target_include_directories(tcp_client_uv_test
9865   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9866   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9867   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9868   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9869   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9870   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9871   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9872   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9873   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9874   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9875 )
9876
9877 target_link_libraries(tcp_client_uv_test
9878   ${_gRPC_ALLTARGETS_LIBRARIES}
9879   grpc_test_util
9880   grpc
9881   gpr
9882 )
9883
9884   # avoid dependency on libstdc++
9885   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9886     set_target_properties(tcp_client_uv_test PROPERTIES LINKER_LANGUAGE C)
9887     target_compile_options(tcp_client_uv_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9888   endif()
9889
9890 endif (gRPC_BUILD_TESTS)
9891 if (gRPC_BUILD_TESTS)
9892 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9893
9894 add_executable(tcp_posix_test
9895   test/core/iomgr/tcp_posix_test.cc
9896 )
9897
9898
9899 target_include_directories(tcp_posix_test
9900   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9901   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9902   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9903   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9904   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9905   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9906   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9907   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9908   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9909   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9910 )
9911
9912 target_link_libraries(tcp_posix_test
9913   ${_gRPC_ALLTARGETS_LIBRARIES}
9914   grpc_test_util
9915   grpc
9916   gpr
9917 )
9918
9919   # avoid dependency on libstdc++
9920   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9921     set_target_properties(tcp_posix_test PROPERTIES LINKER_LANGUAGE C)
9922     target_compile_options(tcp_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9923   endif()
9924
9925 endif()
9926 endif (gRPC_BUILD_TESTS)
9927 if (gRPC_BUILD_TESTS)
9928 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
9929
9930 add_executable(tcp_server_posix_test
9931   test/core/iomgr/tcp_server_posix_test.cc
9932 )
9933
9934
9935 target_include_directories(tcp_server_posix_test
9936   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9937   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9938   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9939   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9940   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9941   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9942   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9943   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9944   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9945   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9946 )
9947
9948 target_link_libraries(tcp_server_posix_test
9949   ${_gRPC_ALLTARGETS_LIBRARIES}
9950   grpc_test_util
9951   grpc
9952   gpr
9953 )
9954
9955   # avoid dependency on libstdc++
9956   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9957     set_target_properties(tcp_server_posix_test PROPERTIES LINKER_LANGUAGE C)
9958     target_compile_options(tcp_server_posix_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9959   endif()
9960
9961 endif()
9962 endif (gRPC_BUILD_TESTS)
9963 if (gRPC_BUILD_TESTS)
9964
9965 add_executable(tcp_server_uv_test
9966   test/core/iomgr/tcp_server_uv_test.cc
9967 )
9968
9969
9970 target_include_directories(tcp_server_uv_test
9971   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
9972   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
9973   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
9974   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
9975   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
9976   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
9977   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
9978   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
9979   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
9980   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
9981 )
9982
9983 target_link_libraries(tcp_server_uv_test
9984   ${_gRPC_ALLTARGETS_LIBRARIES}
9985   grpc_test_util
9986   grpc
9987   gpr
9988 )
9989
9990   # avoid dependency on libstdc++
9991   if (_gRPC_CORE_NOSTDCXX_FLAGS)
9992     set_target_properties(tcp_server_uv_test PROPERTIES LINKER_LANGUAGE C)
9993     target_compile_options(tcp_server_uv_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
9994   endif()
9995
9996 endif (gRPC_BUILD_TESTS)
9997 if (gRPC_BUILD_TESTS)
9998
9999 add_executable(time_averaged_stats_test
10000   test/core/iomgr/time_averaged_stats_test.cc
10001 )
10002
10003
10004 target_include_directories(time_averaged_stats_test
10005   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10006   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10007   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10008   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10009   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10010   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10011   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10012   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10013   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10014   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10015 )
10016
10017 target_link_libraries(time_averaged_stats_test
10018   ${_gRPC_ALLTARGETS_LIBRARIES}
10019   grpc_test_util
10020   grpc
10021   gpr
10022 )
10023
10024   # avoid dependency on libstdc++
10025   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10026     set_target_properties(time_averaged_stats_test PROPERTIES LINKER_LANGUAGE C)
10027     target_compile_options(time_averaged_stats_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10028   endif()
10029
10030 endif (gRPC_BUILD_TESTS)
10031 if (gRPC_BUILD_TESTS)
10032
10033 add_executable(timeout_encoding_test
10034   test/core/transport/timeout_encoding_test.cc
10035 )
10036
10037
10038 target_include_directories(timeout_encoding_test
10039   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10040   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10041   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10042   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10043   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10044   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10045   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10046   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10047   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10048   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10049 )
10050
10051 target_link_libraries(timeout_encoding_test
10052   ${_gRPC_ALLTARGETS_LIBRARIES}
10053   grpc_test_util
10054   grpc
10055   gpr
10056 )
10057
10058   # avoid dependency on libstdc++
10059   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10060     set_target_properties(timeout_encoding_test PROPERTIES LINKER_LANGUAGE C)
10061     target_compile_options(timeout_encoding_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10062   endif()
10063
10064 endif (gRPC_BUILD_TESTS)
10065 if (gRPC_BUILD_TESTS)
10066
10067 add_executable(timer_heap_test
10068   test/core/iomgr/timer_heap_test.cc
10069 )
10070
10071
10072 target_include_directories(timer_heap_test
10073   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10074   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10075   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10076   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10077   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10078   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10079   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10080   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10081   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10082   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10083 )
10084
10085 target_link_libraries(timer_heap_test
10086   ${_gRPC_ALLTARGETS_LIBRARIES}
10087   grpc_test_util
10088   grpc
10089   gpr
10090 )
10091
10092   # avoid dependency on libstdc++
10093   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10094     set_target_properties(timer_heap_test PROPERTIES LINKER_LANGUAGE C)
10095     target_compile_options(timer_heap_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10096   endif()
10097
10098 endif (gRPC_BUILD_TESTS)
10099 if (gRPC_BUILD_TESTS)
10100
10101 add_executable(timer_list_test
10102   test/core/iomgr/timer_list_test.cc
10103 )
10104
10105
10106 target_include_directories(timer_list_test
10107   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10108   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10109   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10110   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10111   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10112   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10113   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10114   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10115   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10116   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10117 )
10118
10119 target_link_libraries(timer_list_test
10120   ${_gRPC_ALLTARGETS_LIBRARIES}
10121   grpc_test_util
10122   grpc
10123   gpr
10124 )
10125
10126   # avoid dependency on libstdc++
10127   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10128     set_target_properties(timer_list_test PROPERTIES LINKER_LANGUAGE C)
10129     target_compile_options(timer_list_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10130   endif()
10131
10132 endif (gRPC_BUILD_TESTS)
10133 if (gRPC_BUILD_TESTS)
10134
10135 add_executable(transport_connectivity_state_test
10136   test/core/transport/connectivity_state_test.cc
10137 )
10138
10139
10140 target_include_directories(transport_connectivity_state_test
10141   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10142   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10143   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10144   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10145   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10146   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10147   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10148   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10149   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10150   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10151 )
10152
10153 target_link_libraries(transport_connectivity_state_test
10154   ${_gRPC_ALLTARGETS_LIBRARIES}
10155   grpc_test_util
10156   grpc
10157   gpr
10158 )
10159
10160   # avoid dependency on libstdc++
10161   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10162     set_target_properties(transport_connectivity_state_test PROPERTIES LINKER_LANGUAGE C)
10163     target_compile_options(transport_connectivity_state_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10164   endif()
10165
10166 endif (gRPC_BUILD_TESTS)
10167 if (gRPC_BUILD_TESTS)
10168
10169 add_executable(transport_metadata_test
10170   test/core/transport/metadata_test.cc
10171 )
10172
10173
10174 target_include_directories(transport_metadata_test
10175   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10176   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10177   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10178   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10179   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10180   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10181   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10182   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10183   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10184   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10185 )
10186
10187 target_link_libraries(transport_metadata_test
10188   ${_gRPC_ALLTARGETS_LIBRARIES}
10189   grpc_test_util
10190   grpc
10191   gpr
10192 )
10193
10194   # avoid dependency on libstdc++
10195   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10196     set_target_properties(transport_metadata_test PROPERTIES LINKER_LANGUAGE C)
10197     target_compile_options(transport_metadata_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10198   endif()
10199
10200 endif (gRPC_BUILD_TESTS)
10201 if (gRPC_BUILD_TESTS)
10202 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10203
10204 add_executable(transport_security_test
10205   test/core/tsi/transport_security_test.cc
10206 )
10207
10208
10209 target_include_directories(transport_security_test
10210   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10211   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10212   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10213   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10214   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10215   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10216   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10217   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10218   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10219   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10220 )
10221
10222 target_link_libraries(transport_security_test
10223   ${_gRPC_ALLTARGETS_LIBRARIES}
10224   grpc_test_util
10225   grpc
10226   gpr
10227 )
10228
10229   # avoid dependency on libstdc++
10230   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10231     set_target_properties(transport_security_test PROPERTIES LINKER_LANGUAGE C)
10232     target_compile_options(transport_security_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10233   endif()
10234
10235 endif()
10236 endif (gRPC_BUILD_TESTS)
10237 if (gRPC_BUILD_TESTS)
10238 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10239
10240 add_executable(udp_server_test
10241   test/core/iomgr/udp_server_test.cc
10242 )
10243
10244
10245 target_include_directories(udp_server_test
10246   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10247   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10248   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10249   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10250   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10251   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10252   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10253   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10254   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10255   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10256 )
10257
10258 target_link_libraries(udp_server_test
10259   ${_gRPC_ALLTARGETS_LIBRARIES}
10260   grpc_test_util
10261   grpc
10262   gpr
10263 )
10264
10265   # avoid dependency on libstdc++
10266   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10267     set_target_properties(udp_server_test PROPERTIES LINKER_LANGUAGE C)
10268     target_compile_options(udp_server_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10269   endif()
10270
10271 endif()
10272 endif (gRPC_BUILD_TESTS)
10273 if (gRPC_BUILD_TESTS)
10274
10275 add_executable(uri_parser_test
10276   test/core/client_channel/uri_parser_test.cc
10277 )
10278
10279
10280 target_include_directories(uri_parser_test
10281   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10282   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10283   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10284   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10285   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10286   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10287   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10288   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10289   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10290   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10291 )
10292
10293 target_link_libraries(uri_parser_test
10294   ${_gRPC_ALLTARGETS_LIBRARIES}
10295   grpc_test_util
10296   grpc
10297   gpr
10298 )
10299
10300   # avoid dependency on libstdc++
10301   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10302     set_target_properties(uri_parser_test PROPERTIES LINKER_LANGUAGE C)
10303     target_compile_options(uri_parser_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10304   endif()
10305
10306 endif (gRPC_BUILD_TESTS)
10307 if (gRPC_BUILD_TESTS)
10308 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
10309
10310 add_executable(wakeup_fd_cv_test
10311   test/core/iomgr/wakeup_fd_cv_test.cc
10312 )
10313
10314
10315 target_include_directories(wakeup_fd_cv_test
10316   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10317   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10318   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10319   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10320   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10321   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10322   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10323   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10324   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10325   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10326 )
10327
10328 target_link_libraries(wakeup_fd_cv_test
10329   ${_gRPC_ALLTARGETS_LIBRARIES}
10330   grpc_test_util
10331   grpc
10332   gpr
10333 )
10334
10335   # avoid dependency on libstdc++
10336   if (_gRPC_CORE_NOSTDCXX_FLAGS)
10337     set_target_properties(wakeup_fd_cv_test PROPERTIES LINKER_LANGUAGE C)
10338     target_compile_options(wakeup_fd_cv_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
10339   endif()
10340
10341 endif()
10342 endif (gRPC_BUILD_TESTS)
10343 if (gRPC_BUILD_TESTS)
10344
10345 add_executable(alarm_test
10346   test/cpp/common/alarm_test.cc
10347   third_party/googletest/googletest/src/gtest-all.cc
10348   third_party/googletest/googlemock/src/gmock-all.cc
10349 )
10350
10351
10352 target_include_directories(alarm_test
10353   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10354   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10355   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10356   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10357   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10358   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10359   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10360   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10361   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10362   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10363   PRIVATE third_party/googletest/googletest/include
10364   PRIVATE third_party/googletest/googletest
10365   PRIVATE third_party/googletest/googlemock/include
10366   PRIVATE third_party/googletest/googlemock
10367   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10368 )
10369
10370 target_link_libraries(alarm_test
10371   ${_gRPC_PROTOBUF_LIBRARIES}
10372   ${_gRPC_ALLTARGETS_LIBRARIES}
10373   grpc++_test_util_unsecure
10374   grpc_test_util_unsecure
10375   grpc++_unsecure
10376   grpc_unsecure
10377   gpr
10378   ${_gRPC_GFLAGS_LIBRARIES}
10379 )
10380
10381
10382 endif (gRPC_BUILD_TESTS)
10383 if (gRPC_BUILD_TESTS)
10384
10385 add_executable(alts_counter_test
10386   test/core/tsi/alts/frame_protector/alts_counter_test.cc
10387   third_party/googletest/googletest/src/gtest-all.cc
10388   third_party/googletest/googlemock/src/gmock-all.cc
10389 )
10390
10391
10392 target_include_directories(alts_counter_test
10393   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10394   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10395   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10396   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10397   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10398   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10399   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10400   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10401   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10402   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10403   PRIVATE third_party/googletest/googletest/include
10404   PRIVATE third_party/googletest/googletest
10405   PRIVATE third_party/googletest/googlemock/include
10406   PRIVATE third_party/googletest/googlemock
10407   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10408 )
10409
10410 target_link_libraries(alts_counter_test
10411   ${_gRPC_PROTOBUF_LIBRARIES}
10412   ${_gRPC_ALLTARGETS_LIBRARIES}
10413   alts_test_util
10414   gpr
10415   grpc
10416   ${_gRPC_GFLAGS_LIBRARIES}
10417 )
10418
10419
10420 endif (gRPC_BUILD_TESTS)
10421 if (gRPC_BUILD_TESTS)
10422
10423 add_executable(alts_crypt_test
10424   test/core/tsi/alts/crypt/aes_gcm_test.cc
10425   third_party/googletest/googletest/src/gtest-all.cc
10426   third_party/googletest/googlemock/src/gmock-all.cc
10427 )
10428
10429
10430 target_include_directories(alts_crypt_test
10431   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10432   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10433   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10434   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10435   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10436   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10437   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10438   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10439   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10440   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10441   PRIVATE third_party/googletest/googletest/include
10442   PRIVATE third_party/googletest/googletest
10443   PRIVATE third_party/googletest/googlemock/include
10444   PRIVATE third_party/googletest/googlemock
10445   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10446 )
10447
10448 target_link_libraries(alts_crypt_test
10449   ${_gRPC_PROTOBUF_LIBRARIES}
10450   ${_gRPC_ALLTARGETS_LIBRARIES}
10451   alts_test_util
10452   gpr
10453   grpc_test_util
10454   grpc
10455   ${_gRPC_GFLAGS_LIBRARIES}
10456 )
10457
10458
10459 endif (gRPC_BUILD_TESTS)
10460 if (gRPC_BUILD_TESTS)
10461
10462 add_executable(alts_crypter_test
10463   test/core/tsi/alts/frame_protector/alts_crypter_test.cc
10464   third_party/googletest/googletest/src/gtest-all.cc
10465   third_party/googletest/googlemock/src/gmock-all.cc
10466 )
10467
10468
10469 target_include_directories(alts_crypter_test
10470   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10471   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10472   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10473   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10474   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10475   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10476   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10477   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10478   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10479   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10480   PRIVATE third_party/googletest/googletest/include
10481   PRIVATE third_party/googletest/googletest
10482   PRIVATE third_party/googletest/googlemock/include
10483   PRIVATE third_party/googletest/googlemock
10484   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10485 )
10486
10487 target_link_libraries(alts_crypter_test
10488   ${_gRPC_PROTOBUF_LIBRARIES}
10489   ${_gRPC_ALLTARGETS_LIBRARIES}
10490   alts_test_util
10491   gpr
10492   grpc
10493   ${_gRPC_GFLAGS_LIBRARIES}
10494 )
10495
10496
10497 endif (gRPC_BUILD_TESTS)
10498 if (gRPC_BUILD_TESTS)
10499
10500 add_executable(alts_frame_handler_test
10501   test/core/tsi/alts/frame_protector/frame_handler_test.cc
10502   third_party/googletest/googletest/src/gtest-all.cc
10503   third_party/googletest/googlemock/src/gmock-all.cc
10504 )
10505
10506
10507 target_include_directories(alts_frame_handler_test
10508   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10509   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10510   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10511   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10512   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10513   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10514   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10515   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10516   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10517   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10518   PRIVATE third_party/googletest/googletest/include
10519   PRIVATE third_party/googletest/googletest
10520   PRIVATE third_party/googletest/googlemock/include
10521   PRIVATE third_party/googletest/googlemock
10522   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10523 )
10524
10525 target_link_libraries(alts_frame_handler_test
10526   ${_gRPC_PROTOBUF_LIBRARIES}
10527   ${_gRPC_ALLTARGETS_LIBRARIES}
10528   alts_test_util
10529   gpr
10530   grpc
10531   ${_gRPC_GFLAGS_LIBRARIES}
10532 )
10533
10534
10535 endif (gRPC_BUILD_TESTS)
10536 if (gRPC_BUILD_TESTS)
10537
10538 add_executable(alts_frame_protector_test
10539   test/core/tsi/alts/frame_protector/alts_frame_protector_test.cc
10540   test/core/tsi/transport_security_test_lib.cc
10541   third_party/googletest/googletest/src/gtest-all.cc
10542   third_party/googletest/googlemock/src/gmock-all.cc
10543 )
10544
10545
10546 target_include_directories(alts_frame_protector_test
10547   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10548   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10549   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10550   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10551   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10552   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10553   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10554   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10555   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10556   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10557   PRIVATE third_party/googletest/googletest/include
10558   PRIVATE third_party/googletest/googletest
10559   PRIVATE third_party/googletest/googlemock/include
10560   PRIVATE third_party/googletest/googlemock
10561   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10562 )
10563
10564 target_link_libraries(alts_frame_protector_test
10565   ${_gRPC_PROTOBUF_LIBRARIES}
10566   ${_gRPC_ALLTARGETS_LIBRARIES}
10567   alts_test_util
10568   gpr
10569   grpc
10570   ${_gRPC_GFLAGS_LIBRARIES}
10571 )
10572
10573
10574 endif (gRPC_BUILD_TESTS)
10575 if (gRPC_BUILD_TESTS)
10576
10577 add_executable(alts_grpc_record_protocol_test
10578   test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc
10579   third_party/googletest/googletest/src/gtest-all.cc
10580   third_party/googletest/googlemock/src/gmock-all.cc
10581 )
10582
10583
10584 target_include_directories(alts_grpc_record_protocol_test
10585   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10586   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10587   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10588   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10589   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10590   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10591   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10592   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10593   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10594   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10595   PRIVATE third_party/googletest/googletest/include
10596   PRIVATE third_party/googletest/googletest
10597   PRIVATE third_party/googletest/googlemock/include
10598   PRIVATE third_party/googletest/googlemock
10599   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10600 )
10601
10602 target_link_libraries(alts_grpc_record_protocol_test
10603   ${_gRPC_PROTOBUF_LIBRARIES}
10604   ${_gRPC_ALLTARGETS_LIBRARIES}
10605   alts_test_util
10606   gpr
10607   grpc
10608   ${_gRPC_GFLAGS_LIBRARIES}
10609 )
10610
10611
10612 endif (gRPC_BUILD_TESTS)
10613 if (gRPC_BUILD_TESTS)
10614
10615 add_executable(alts_handshaker_client_test
10616   test/core/tsi/alts/handshaker/alts_handshaker_client_test.cc
10617   third_party/googletest/googletest/src/gtest-all.cc
10618   third_party/googletest/googlemock/src/gmock-all.cc
10619 )
10620
10621
10622 target_include_directories(alts_handshaker_client_test
10623   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10624   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10625   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10626   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10627   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10628   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10629   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10630   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10631   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10632   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10633   PRIVATE third_party/googletest/googletest/include
10634   PRIVATE third_party/googletest/googletest
10635   PRIVATE third_party/googletest/googlemock/include
10636   PRIVATE third_party/googletest/googlemock
10637   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10638 )
10639
10640 target_link_libraries(alts_handshaker_client_test
10641   ${_gRPC_PROTOBUF_LIBRARIES}
10642   ${_gRPC_ALLTARGETS_LIBRARIES}
10643   alts_test_util
10644   gpr
10645   grpc
10646   ${_gRPC_GFLAGS_LIBRARIES}
10647 )
10648
10649
10650 endif (gRPC_BUILD_TESTS)
10651 if (gRPC_BUILD_TESTS)
10652
10653 add_executable(alts_handshaker_service_api_test
10654   test/core/tsi/alts/handshaker/alts_handshaker_service_api_test.cc
10655   third_party/googletest/googletest/src/gtest-all.cc
10656   third_party/googletest/googlemock/src/gmock-all.cc
10657 )
10658
10659
10660 target_include_directories(alts_handshaker_service_api_test
10661   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10662   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10663   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10664   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10665   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10666   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10667   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10668   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10669   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10670   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10671   PRIVATE third_party/googletest/googletest/include
10672   PRIVATE third_party/googletest/googletest
10673   PRIVATE third_party/googletest/googlemock/include
10674   PRIVATE third_party/googletest/googlemock
10675   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10676 )
10677
10678 target_link_libraries(alts_handshaker_service_api_test
10679   ${_gRPC_PROTOBUF_LIBRARIES}
10680   ${_gRPC_ALLTARGETS_LIBRARIES}
10681   alts_test_util
10682   gpr
10683   grpc
10684   ${_gRPC_GFLAGS_LIBRARIES}
10685 )
10686
10687
10688 endif (gRPC_BUILD_TESTS)
10689 if (gRPC_BUILD_TESTS)
10690
10691 add_executable(alts_iovec_record_protocol_test
10692   test/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol_test.cc
10693   third_party/googletest/googletest/src/gtest-all.cc
10694   third_party/googletest/googlemock/src/gmock-all.cc
10695 )
10696
10697
10698 target_include_directories(alts_iovec_record_protocol_test
10699   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10700   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10701   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10702   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10703   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10704   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10705   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10706   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10707   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10708   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10709   PRIVATE third_party/googletest/googletest/include
10710   PRIVATE third_party/googletest/googletest
10711   PRIVATE third_party/googletest/googlemock/include
10712   PRIVATE third_party/googletest/googlemock
10713   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10714 )
10715
10716 target_link_libraries(alts_iovec_record_protocol_test
10717   ${_gRPC_PROTOBUF_LIBRARIES}
10718   ${_gRPC_ALLTARGETS_LIBRARIES}
10719   alts_test_util
10720   gpr
10721   grpc
10722   ${_gRPC_GFLAGS_LIBRARIES}
10723 )
10724
10725
10726 endif (gRPC_BUILD_TESTS)
10727 if (gRPC_BUILD_TESTS)
10728
10729 add_executable(alts_security_connector_test
10730   test/core/security/alts_security_connector_test.cc
10731   third_party/googletest/googletest/src/gtest-all.cc
10732   third_party/googletest/googlemock/src/gmock-all.cc
10733 )
10734
10735
10736 target_include_directories(alts_security_connector_test
10737   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10738   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10739   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10740   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10741   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10742   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10743   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10744   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10745   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10746   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10747   PRIVATE third_party/googletest/googletest/include
10748   PRIVATE third_party/googletest/googletest
10749   PRIVATE third_party/googletest/googlemock/include
10750   PRIVATE third_party/googletest/googlemock
10751   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10752 )
10753
10754 target_link_libraries(alts_security_connector_test
10755   ${_gRPC_PROTOBUF_LIBRARIES}
10756   ${_gRPC_ALLTARGETS_LIBRARIES}
10757   gpr
10758   grpc
10759   ${_gRPC_GFLAGS_LIBRARIES}
10760 )
10761
10762
10763 endif (gRPC_BUILD_TESTS)
10764 if (gRPC_BUILD_TESTS)
10765
10766 add_executable(alts_tsi_handshaker_test
10767   test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc
10768   third_party/googletest/googletest/src/gtest-all.cc
10769   third_party/googletest/googlemock/src/gmock-all.cc
10770 )
10771
10772
10773 target_include_directories(alts_tsi_handshaker_test
10774   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10775   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10776   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10777   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10778   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10779   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10780   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10781   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10782   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10783   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10784   PRIVATE third_party/googletest/googletest/include
10785   PRIVATE third_party/googletest/googletest
10786   PRIVATE third_party/googletest/googlemock/include
10787   PRIVATE third_party/googletest/googlemock
10788   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10789 )
10790
10791 target_link_libraries(alts_tsi_handshaker_test
10792   ${_gRPC_PROTOBUF_LIBRARIES}
10793   ${_gRPC_ALLTARGETS_LIBRARIES}
10794   alts_test_util
10795   gpr
10796   grpc
10797   ${_gRPC_GFLAGS_LIBRARIES}
10798 )
10799
10800
10801 endif (gRPC_BUILD_TESTS)
10802 if (gRPC_BUILD_TESTS)
10803
10804 add_executable(alts_tsi_utils_test
10805   test/core/tsi/alts/handshaker/alts_tsi_utils_test.cc
10806   third_party/googletest/googletest/src/gtest-all.cc
10807   third_party/googletest/googlemock/src/gmock-all.cc
10808 )
10809
10810
10811 target_include_directories(alts_tsi_utils_test
10812   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10813   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10814   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10815   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10816   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10817   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10818   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10819   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10820   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10821   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10822   PRIVATE third_party/googletest/googletest/include
10823   PRIVATE third_party/googletest/googletest
10824   PRIVATE third_party/googletest/googlemock/include
10825   PRIVATE third_party/googletest/googlemock
10826   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10827 )
10828
10829 target_link_libraries(alts_tsi_utils_test
10830   ${_gRPC_PROTOBUF_LIBRARIES}
10831   ${_gRPC_ALLTARGETS_LIBRARIES}
10832   alts_test_util
10833   gpr
10834   grpc
10835   ${_gRPC_GFLAGS_LIBRARIES}
10836 )
10837
10838
10839 endif (gRPC_BUILD_TESTS)
10840 if (gRPC_BUILD_TESTS)
10841
10842 add_executable(alts_zero_copy_grpc_protector_test
10843   test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc
10844   third_party/googletest/googletest/src/gtest-all.cc
10845   third_party/googletest/googlemock/src/gmock-all.cc
10846 )
10847
10848
10849 target_include_directories(alts_zero_copy_grpc_protector_test
10850   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10851   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10852   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10853   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10854   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10855   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10856   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10857   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10858   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10859   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10860   PRIVATE third_party/googletest/googletest/include
10861   PRIVATE third_party/googletest/googletest
10862   PRIVATE third_party/googletest/googlemock/include
10863   PRIVATE third_party/googletest/googlemock
10864   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10865 )
10866
10867 target_link_libraries(alts_zero_copy_grpc_protector_test
10868   ${_gRPC_PROTOBUF_LIBRARIES}
10869   ${_gRPC_ALLTARGETS_LIBRARIES}
10870   alts_test_util
10871   gpr
10872   grpc
10873   ${_gRPC_GFLAGS_LIBRARIES}
10874 )
10875
10876
10877 endif (gRPC_BUILD_TESTS)
10878 if (gRPC_BUILD_TESTS)
10879
10880 add_executable(async_end2end_test
10881   test/cpp/end2end/async_end2end_test.cc
10882   third_party/googletest/googletest/src/gtest-all.cc
10883   third_party/googletest/googlemock/src/gmock-all.cc
10884 )
10885
10886
10887 target_include_directories(async_end2end_test
10888   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10889   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10890   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10891   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10892   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10893   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10894   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10895   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10896   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10897   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10898   PRIVATE third_party/googletest/googletest/include
10899   PRIVATE third_party/googletest/googletest
10900   PRIVATE third_party/googletest/googlemock/include
10901   PRIVATE third_party/googletest/googlemock
10902   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10903 )
10904
10905 target_link_libraries(async_end2end_test
10906   ${_gRPC_PROTOBUF_LIBRARIES}
10907   ${_gRPC_ALLTARGETS_LIBRARIES}
10908   grpc++_test_util
10909   grpc_test_util
10910   grpc++
10911   grpc
10912   gpr
10913   ${_gRPC_GFLAGS_LIBRARIES}
10914 )
10915
10916
10917 endif (gRPC_BUILD_TESTS)
10918 if (gRPC_BUILD_TESTS)
10919
10920 add_executable(auth_property_iterator_test
10921   test/cpp/common/auth_property_iterator_test.cc
10922   third_party/googletest/googletest/src/gtest-all.cc
10923   third_party/googletest/googlemock/src/gmock-all.cc
10924 )
10925
10926
10927 target_include_directories(auth_property_iterator_test
10928   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10929   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10930   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10931   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10932   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10933   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10934   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10935   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10936   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10937   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10938   PRIVATE third_party/googletest/googletest/include
10939   PRIVATE third_party/googletest/googletest
10940   PRIVATE third_party/googletest/googlemock/include
10941   PRIVATE third_party/googletest/googlemock
10942   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10943 )
10944
10945 target_link_libraries(auth_property_iterator_test
10946   ${_gRPC_PROTOBUF_LIBRARIES}
10947   ${_gRPC_ALLTARGETS_LIBRARIES}
10948   grpc++_test_util
10949   grpc_test_util
10950   grpc++
10951   grpc
10952   gpr
10953   ${_gRPC_GFLAGS_LIBRARIES}
10954 )
10955
10956
10957 endif (gRPC_BUILD_TESTS)
10958 if (gRPC_BUILD_TESTS)
10959
10960 add_executable(backoff_test
10961   test/core/backoff/backoff_test.cc
10962   third_party/googletest/googletest/src/gtest-all.cc
10963   third_party/googletest/googlemock/src/gmock-all.cc
10964 )
10965
10966
10967 target_include_directories(backoff_test
10968   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
10969   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
10970   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
10971   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
10972   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
10973   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
10974   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
10975   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
10976   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10977   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
10978   PRIVATE third_party/googletest/googletest/include
10979   PRIVATE third_party/googletest/googletest
10980   PRIVATE third_party/googletest/googlemock/include
10981   PRIVATE third_party/googletest/googlemock
10982   PRIVATE ${_gRPC_PROTO_GENS_DIR}
10983 )
10984
10985 target_link_libraries(backoff_test
10986   ${_gRPC_PROTOBUF_LIBRARIES}
10987   ${_gRPC_ALLTARGETS_LIBRARIES}
10988   grpc_test_util
10989   grpc
10990   gpr
10991   ${_gRPC_GFLAGS_LIBRARIES}
10992 )
10993
10994
10995 endif (gRPC_BUILD_TESTS)
10996 if (gRPC_BUILD_TESTS)
10997
10998 add_executable(bdp_estimator_test
10999   test/core/transport/bdp_estimator_test.cc
11000   third_party/googletest/googletest/src/gtest-all.cc
11001   third_party/googletest/googlemock/src/gmock-all.cc
11002 )
11003
11004
11005 target_include_directories(bdp_estimator_test
11006   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11007   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11008   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11009   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11010   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11011   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11012   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11013   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11014   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11015   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11016   PRIVATE third_party/googletest/googletest/include
11017   PRIVATE third_party/googletest/googletest
11018   PRIVATE third_party/googletest/googlemock/include
11019   PRIVATE third_party/googletest/googlemock
11020   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11021 )
11022
11023 target_link_libraries(bdp_estimator_test
11024   ${_gRPC_PROTOBUF_LIBRARIES}
11025   ${_gRPC_ALLTARGETS_LIBRARIES}
11026   grpc++_test_util
11027   grpc++
11028   grpc_test_util
11029   grpc
11030   gpr
11031   ${_gRPC_GFLAGS_LIBRARIES}
11032 )
11033
11034
11035 endif (gRPC_BUILD_TESTS)
11036 if (gRPC_BUILD_TESTS)
11037 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11038
11039 add_executable(bm_arena
11040   test/cpp/microbenchmarks/bm_arena.cc
11041   third_party/googletest/googletest/src/gtest-all.cc
11042   third_party/googletest/googlemock/src/gmock-all.cc
11043 )
11044
11045
11046 target_include_directories(bm_arena
11047   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11048   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11049   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11050   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11051   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11052   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11053   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11054   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11055   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11056   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11057   PRIVATE third_party/googletest/googletest/include
11058   PRIVATE third_party/googletest/googletest
11059   PRIVATE third_party/googletest/googlemock/include
11060   PRIVATE third_party/googletest/googlemock
11061   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11062 )
11063
11064 target_link_libraries(bm_arena
11065   ${_gRPC_PROTOBUF_LIBRARIES}
11066   ${_gRPC_ALLTARGETS_LIBRARIES}
11067   grpc_benchmark
11068   ${_gRPC_BENCHMARK_LIBRARIES}
11069   grpc++_test_util_unsecure
11070   grpc_test_util_unsecure
11071   grpc++_unsecure
11072   grpc_unsecure
11073   gpr
11074   grpc++_test_config
11075   ${_gRPC_GFLAGS_LIBRARIES}
11076 )
11077
11078
11079 endif()
11080 endif (gRPC_BUILD_TESTS)
11081 if (gRPC_BUILD_TESTS)
11082 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11083
11084 add_executable(bm_byte_buffer
11085   test/cpp/microbenchmarks/bm_byte_buffer.cc
11086   third_party/googletest/googletest/src/gtest-all.cc
11087   third_party/googletest/googlemock/src/gmock-all.cc
11088 )
11089
11090
11091 target_include_directories(bm_byte_buffer
11092   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11093   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11094   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11095   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11096   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11097   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11098   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11099   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11100   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11101   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11102   PRIVATE third_party/googletest/googletest/include
11103   PRIVATE third_party/googletest/googletest
11104   PRIVATE third_party/googletest/googlemock/include
11105   PRIVATE third_party/googletest/googlemock
11106   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11107 )
11108
11109 target_link_libraries(bm_byte_buffer
11110   ${_gRPC_PROTOBUF_LIBRARIES}
11111   ${_gRPC_ALLTARGETS_LIBRARIES}
11112   grpc_benchmark
11113   ${_gRPC_BENCHMARK_LIBRARIES}
11114   grpc++_test_util_unsecure
11115   grpc_test_util_unsecure
11116   grpc++_unsecure
11117   grpc_unsecure
11118   gpr
11119   grpc++_test_config
11120   ${_gRPC_GFLAGS_LIBRARIES}
11121 )
11122
11123
11124 endif()
11125 endif (gRPC_BUILD_TESTS)
11126 if (gRPC_BUILD_TESTS)
11127 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11128
11129 add_executable(bm_call_create
11130   test/cpp/microbenchmarks/bm_call_create.cc
11131   third_party/googletest/googletest/src/gtest-all.cc
11132   third_party/googletest/googlemock/src/gmock-all.cc
11133 )
11134
11135
11136 target_include_directories(bm_call_create
11137   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11138   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11139   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11140   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11141   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11142   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11143   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11144   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11145   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11146   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11147   PRIVATE third_party/googletest/googletest/include
11148   PRIVATE third_party/googletest/googletest
11149   PRIVATE third_party/googletest/googlemock/include
11150   PRIVATE third_party/googletest/googlemock
11151   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11152 )
11153
11154 target_link_libraries(bm_call_create
11155   ${_gRPC_PROTOBUF_LIBRARIES}
11156   ${_gRPC_ALLTARGETS_LIBRARIES}
11157   grpc_benchmark
11158   ${_gRPC_BENCHMARK_LIBRARIES}
11159   grpc++_test_util_unsecure
11160   grpc_test_util_unsecure
11161   grpc++_unsecure
11162   grpc_unsecure
11163   gpr
11164   grpc++_test_config
11165   ${_gRPC_GFLAGS_LIBRARIES}
11166 )
11167
11168
11169 endif()
11170 endif (gRPC_BUILD_TESTS)
11171 if (gRPC_BUILD_TESTS)
11172 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11173
11174 add_executable(bm_channel
11175   test/cpp/microbenchmarks/bm_channel.cc
11176   third_party/googletest/googletest/src/gtest-all.cc
11177   third_party/googletest/googlemock/src/gmock-all.cc
11178 )
11179
11180
11181 target_include_directories(bm_channel
11182   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11183   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11184   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11185   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11186   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11187   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11188   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11189   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11190   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11191   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11192   PRIVATE third_party/googletest/googletest/include
11193   PRIVATE third_party/googletest/googletest
11194   PRIVATE third_party/googletest/googlemock/include
11195   PRIVATE third_party/googletest/googlemock
11196   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11197 )
11198
11199 target_link_libraries(bm_channel
11200   ${_gRPC_PROTOBUF_LIBRARIES}
11201   ${_gRPC_ALLTARGETS_LIBRARIES}
11202   grpc_benchmark
11203   ${_gRPC_BENCHMARK_LIBRARIES}
11204   grpc++_test_util_unsecure
11205   grpc_test_util_unsecure
11206   grpc++_unsecure
11207   grpc_unsecure
11208   gpr
11209   grpc++_test_config
11210   ${_gRPC_GFLAGS_LIBRARIES}
11211 )
11212
11213
11214 endif()
11215 endif (gRPC_BUILD_TESTS)
11216 if (gRPC_BUILD_TESTS)
11217 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11218
11219 add_executable(bm_chttp2_hpack
11220   test/cpp/microbenchmarks/bm_chttp2_hpack.cc
11221   third_party/googletest/googletest/src/gtest-all.cc
11222   third_party/googletest/googlemock/src/gmock-all.cc
11223 )
11224
11225
11226 target_include_directories(bm_chttp2_hpack
11227   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11228   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11229   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11230   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11231   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11232   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11233   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11234   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11235   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11236   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11237   PRIVATE third_party/googletest/googletest/include
11238   PRIVATE third_party/googletest/googletest
11239   PRIVATE third_party/googletest/googlemock/include
11240   PRIVATE third_party/googletest/googlemock
11241   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11242 )
11243
11244 target_link_libraries(bm_chttp2_hpack
11245   ${_gRPC_PROTOBUF_LIBRARIES}
11246   ${_gRPC_ALLTARGETS_LIBRARIES}
11247   grpc_benchmark
11248   ${_gRPC_BENCHMARK_LIBRARIES}
11249   grpc++_test_util_unsecure
11250   grpc_test_util_unsecure
11251   grpc++_unsecure
11252   grpc_unsecure
11253   gpr
11254   grpc++_test_config
11255   ${_gRPC_GFLAGS_LIBRARIES}
11256 )
11257
11258
11259 endif()
11260 endif (gRPC_BUILD_TESTS)
11261 if (gRPC_BUILD_TESTS)
11262 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11263
11264 add_executable(bm_chttp2_transport
11265   test/cpp/microbenchmarks/bm_chttp2_transport.cc
11266   third_party/googletest/googletest/src/gtest-all.cc
11267   third_party/googletest/googlemock/src/gmock-all.cc
11268 )
11269
11270
11271 target_include_directories(bm_chttp2_transport
11272   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11273   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11274   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11275   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11276   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11277   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11278   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11279   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11280   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11281   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11282   PRIVATE third_party/googletest/googletest/include
11283   PRIVATE third_party/googletest/googletest
11284   PRIVATE third_party/googletest/googlemock/include
11285   PRIVATE third_party/googletest/googlemock
11286   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11287 )
11288
11289 target_link_libraries(bm_chttp2_transport
11290   ${_gRPC_PROTOBUF_LIBRARIES}
11291   ${_gRPC_ALLTARGETS_LIBRARIES}
11292   grpc_benchmark
11293   ${_gRPC_BENCHMARK_LIBRARIES}
11294   grpc++_test_util_unsecure
11295   grpc_test_util_unsecure
11296   grpc++_unsecure
11297   grpc_unsecure
11298   gpr
11299   grpc++_test_config
11300   ${_gRPC_GFLAGS_LIBRARIES}
11301 )
11302
11303
11304 endif()
11305 endif (gRPC_BUILD_TESTS)
11306 if (gRPC_BUILD_TESTS)
11307 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11308
11309 add_executable(bm_closure
11310   test/cpp/microbenchmarks/bm_closure.cc
11311   third_party/googletest/googletest/src/gtest-all.cc
11312   third_party/googletest/googlemock/src/gmock-all.cc
11313 )
11314
11315
11316 target_include_directories(bm_closure
11317   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11318   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11319   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11320   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11321   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11322   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11323   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11324   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11325   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11326   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11327   PRIVATE third_party/googletest/googletest/include
11328   PRIVATE third_party/googletest/googletest
11329   PRIVATE third_party/googletest/googlemock/include
11330   PRIVATE third_party/googletest/googlemock
11331   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11332 )
11333
11334 target_link_libraries(bm_closure
11335   ${_gRPC_PROTOBUF_LIBRARIES}
11336   ${_gRPC_ALLTARGETS_LIBRARIES}
11337   grpc_benchmark
11338   ${_gRPC_BENCHMARK_LIBRARIES}
11339   grpc++_test_util_unsecure
11340   grpc_test_util_unsecure
11341   grpc++_unsecure
11342   grpc_unsecure
11343   gpr
11344   grpc++_test_config
11345   ${_gRPC_GFLAGS_LIBRARIES}
11346 )
11347
11348
11349 endif()
11350 endif (gRPC_BUILD_TESTS)
11351 if (gRPC_BUILD_TESTS)
11352 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11353
11354 add_executable(bm_cq
11355   test/cpp/microbenchmarks/bm_cq.cc
11356   third_party/googletest/googletest/src/gtest-all.cc
11357   third_party/googletest/googlemock/src/gmock-all.cc
11358 )
11359
11360
11361 target_include_directories(bm_cq
11362   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11363   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11364   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11365   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11366   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11367   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11368   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11369   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11370   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11371   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11372   PRIVATE third_party/googletest/googletest/include
11373   PRIVATE third_party/googletest/googletest
11374   PRIVATE third_party/googletest/googlemock/include
11375   PRIVATE third_party/googletest/googlemock
11376   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11377 )
11378
11379 target_link_libraries(bm_cq
11380   ${_gRPC_PROTOBUF_LIBRARIES}
11381   ${_gRPC_ALLTARGETS_LIBRARIES}
11382   grpc_benchmark
11383   ${_gRPC_BENCHMARK_LIBRARIES}
11384   grpc++_test_util_unsecure
11385   grpc_test_util_unsecure
11386   grpc++_unsecure
11387   grpc_unsecure
11388   gpr
11389   grpc++_test_config
11390   ${_gRPC_GFLAGS_LIBRARIES}
11391 )
11392
11393
11394 endif()
11395 endif (gRPC_BUILD_TESTS)
11396 if (gRPC_BUILD_TESTS)
11397 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11398
11399 add_executable(bm_cq_multiple_threads
11400   test/cpp/microbenchmarks/bm_cq_multiple_threads.cc
11401   third_party/googletest/googletest/src/gtest-all.cc
11402   third_party/googletest/googlemock/src/gmock-all.cc
11403 )
11404
11405
11406 target_include_directories(bm_cq_multiple_threads
11407   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11408   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11409   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11410   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11411   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11412   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11413   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11414   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11415   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11416   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11417   PRIVATE third_party/googletest/googletest/include
11418   PRIVATE third_party/googletest/googletest
11419   PRIVATE third_party/googletest/googlemock/include
11420   PRIVATE third_party/googletest/googlemock
11421   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11422 )
11423
11424 target_link_libraries(bm_cq_multiple_threads
11425   ${_gRPC_PROTOBUF_LIBRARIES}
11426   ${_gRPC_ALLTARGETS_LIBRARIES}
11427   grpc_benchmark
11428   ${_gRPC_BENCHMARK_LIBRARIES}
11429   grpc++_test_util_unsecure
11430   grpc_test_util_unsecure
11431   grpc++_unsecure
11432   grpc_unsecure
11433   gpr
11434   grpc++_test_config
11435   ${_gRPC_GFLAGS_LIBRARIES}
11436 )
11437
11438
11439 endif()
11440 endif (gRPC_BUILD_TESTS)
11441 if (gRPC_BUILD_TESTS)
11442 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11443
11444 add_executable(bm_error
11445   test/cpp/microbenchmarks/bm_error.cc
11446   third_party/googletest/googletest/src/gtest-all.cc
11447   third_party/googletest/googlemock/src/gmock-all.cc
11448 )
11449
11450
11451 target_include_directories(bm_error
11452   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11453   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11454   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11455   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11456   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11457   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11458   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11459   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11460   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11461   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11462   PRIVATE third_party/googletest/googletest/include
11463   PRIVATE third_party/googletest/googletest
11464   PRIVATE third_party/googletest/googlemock/include
11465   PRIVATE third_party/googletest/googlemock
11466   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11467 )
11468
11469 target_link_libraries(bm_error
11470   ${_gRPC_PROTOBUF_LIBRARIES}
11471   ${_gRPC_ALLTARGETS_LIBRARIES}
11472   grpc_benchmark
11473   ${_gRPC_BENCHMARK_LIBRARIES}
11474   grpc++_test_util_unsecure
11475   grpc_test_util_unsecure
11476   grpc++_unsecure
11477   grpc_unsecure
11478   gpr
11479   grpc++_test_config
11480   ${_gRPC_GFLAGS_LIBRARIES}
11481 )
11482
11483
11484 endif()
11485 endif (gRPC_BUILD_TESTS)
11486 if (gRPC_BUILD_TESTS)
11487 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11488
11489 add_executable(bm_fullstack_streaming_ping_pong
11490   test/cpp/microbenchmarks/bm_fullstack_streaming_ping_pong.cc
11491   third_party/googletest/googletest/src/gtest-all.cc
11492   third_party/googletest/googlemock/src/gmock-all.cc
11493 )
11494
11495
11496 target_include_directories(bm_fullstack_streaming_ping_pong
11497   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11498   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11499   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11500   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11501   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11502   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11503   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11504   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11505   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11506   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11507   PRIVATE third_party/googletest/googletest/include
11508   PRIVATE third_party/googletest/googletest
11509   PRIVATE third_party/googletest/googlemock/include
11510   PRIVATE third_party/googletest/googlemock
11511   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11512 )
11513
11514 target_link_libraries(bm_fullstack_streaming_ping_pong
11515   ${_gRPC_PROTOBUF_LIBRARIES}
11516   ${_gRPC_ALLTARGETS_LIBRARIES}
11517   grpc_benchmark
11518   ${_gRPC_BENCHMARK_LIBRARIES}
11519   grpc++_test_util_unsecure
11520   grpc_test_util_unsecure
11521   grpc++_unsecure
11522   grpc_unsecure
11523   gpr
11524   grpc++_test_config
11525   ${_gRPC_GFLAGS_LIBRARIES}
11526 )
11527
11528
11529 endif()
11530 endif (gRPC_BUILD_TESTS)
11531 if (gRPC_BUILD_TESTS)
11532 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11533
11534 add_executable(bm_fullstack_streaming_pump
11535   test/cpp/microbenchmarks/bm_fullstack_streaming_pump.cc
11536   third_party/googletest/googletest/src/gtest-all.cc
11537   third_party/googletest/googlemock/src/gmock-all.cc
11538 )
11539
11540
11541 target_include_directories(bm_fullstack_streaming_pump
11542   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11543   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11544   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11545   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11546   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11547   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11548   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11549   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11550   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11551   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11552   PRIVATE third_party/googletest/googletest/include
11553   PRIVATE third_party/googletest/googletest
11554   PRIVATE third_party/googletest/googlemock/include
11555   PRIVATE third_party/googletest/googlemock
11556   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11557 )
11558
11559 target_link_libraries(bm_fullstack_streaming_pump
11560   ${_gRPC_PROTOBUF_LIBRARIES}
11561   ${_gRPC_ALLTARGETS_LIBRARIES}
11562   grpc_benchmark
11563   ${_gRPC_BENCHMARK_LIBRARIES}
11564   grpc++_test_util_unsecure
11565   grpc_test_util_unsecure
11566   grpc++_unsecure
11567   grpc_unsecure
11568   gpr
11569   grpc++_test_config
11570   ${_gRPC_GFLAGS_LIBRARIES}
11571 )
11572
11573
11574 endif()
11575 endif (gRPC_BUILD_TESTS)
11576 if (gRPC_BUILD_TESTS)
11577 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11578
11579 add_executable(bm_fullstack_trickle
11580   test/cpp/microbenchmarks/bm_fullstack_trickle.cc
11581   third_party/googletest/googletest/src/gtest-all.cc
11582   third_party/googletest/googlemock/src/gmock-all.cc
11583 )
11584
11585
11586 target_include_directories(bm_fullstack_trickle
11587   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11588   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11589   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11590   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11591   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11592   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11593   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11594   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11595   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11596   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11597   PRIVATE third_party/googletest/googletest/include
11598   PRIVATE third_party/googletest/googletest
11599   PRIVATE third_party/googletest/googlemock/include
11600   PRIVATE third_party/googletest/googlemock
11601   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11602 )
11603
11604 target_link_libraries(bm_fullstack_trickle
11605   ${_gRPC_PROTOBUF_LIBRARIES}
11606   ${_gRPC_ALLTARGETS_LIBRARIES}
11607   grpc_benchmark
11608   ${_gRPC_BENCHMARK_LIBRARIES}
11609   grpc++_test_util_unsecure
11610   grpc_test_util_unsecure
11611   grpc++_unsecure
11612   grpc_unsecure
11613   gpr
11614   grpc++_test_config
11615   ${_gRPC_GFLAGS_LIBRARIES}
11616 )
11617
11618
11619 endif()
11620 endif (gRPC_BUILD_TESTS)
11621 if (gRPC_BUILD_TESTS)
11622 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11623
11624 add_executable(bm_fullstack_unary_ping_pong
11625   test/cpp/microbenchmarks/bm_fullstack_unary_ping_pong.cc
11626   third_party/googletest/googletest/src/gtest-all.cc
11627   third_party/googletest/googlemock/src/gmock-all.cc
11628 )
11629
11630
11631 target_include_directories(bm_fullstack_unary_ping_pong
11632   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11633   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11634   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11635   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11636   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11637   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11638   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11639   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11640   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11641   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11642   PRIVATE third_party/googletest/googletest/include
11643   PRIVATE third_party/googletest/googletest
11644   PRIVATE third_party/googletest/googlemock/include
11645   PRIVATE third_party/googletest/googlemock
11646   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11647 )
11648
11649 target_link_libraries(bm_fullstack_unary_ping_pong
11650   ${_gRPC_PROTOBUF_LIBRARIES}
11651   ${_gRPC_ALLTARGETS_LIBRARIES}
11652   grpc_benchmark
11653   ${_gRPC_BENCHMARK_LIBRARIES}
11654   grpc++_test_util_unsecure
11655   grpc_test_util_unsecure
11656   grpc++_unsecure
11657   grpc_unsecure
11658   gpr
11659   grpc++_test_config
11660   ${_gRPC_GFLAGS_LIBRARIES}
11661 )
11662
11663
11664 endif()
11665 endif (gRPC_BUILD_TESTS)
11666 if (gRPC_BUILD_TESTS)
11667 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11668
11669 add_executable(bm_metadata
11670   test/cpp/microbenchmarks/bm_metadata.cc
11671   third_party/googletest/googletest/src/gtest-all.cc
11672   third_party/googletest/googlemock/src/gmock-all.cc
11673 )
11674
11675
11676 target_include_directories(bm_metadata
11677   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11678   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11679   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11680   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11681   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11682   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11683   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11684   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11685   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11686   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11687   PRIVATE third_party/googletest/googletest/include
11688   PRIVATE third_party/googletest/googletest
11689   PRIVATE third_party/googletest/googlemock/include
11690   PRIVATE third_party/googletest/googlemock
11691   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11692 )
11693
11694 target_link_libraries(bm_metadata
11695   ${_gRPC_PROTOBUF_LIBRARIES}
11696   ${_gRPC_ALLTARGETS_LIBRARIES}
11697   grpc_benchmark
11698   ${_gRPC_BENCHMARK_LIBRARIES}
11699   grpc++_test_util_unsecure
11700   grpc_test_util_unsecure
11701   grpc++_unsecure
11702   grpc_unsecure
11703   gpr
11704   grpc++_test_config
11705   ${_gRPC_GFLAGS_LIBRARIES}
11706 )
11707
11708
11709 endif()
11710 endif (gRPC_BUILD_TESTS)
11711 if (gRPC_BUILD_TESTS)
11712 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11713
11714 add_executable(bm_pollset
11715   test/cpp/microbenchmarks/bm_pollset.cc
11716   third_party/googletest/googletest/src/gtest-all.cc
11717   third_party/googletest/googlemock/src/gmock-all.cc
11718 )
11719
11720
11721 target_include_directories(bm_pollset
11722   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11723   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11724   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11725   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11726   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11727   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11728   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11729   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11730   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11731   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11732   PRIVATE third_party/googletest/googletest/include
11733   PRIVATE third_party/googletest/googletest
11734   PRIVATE third_party/googletest/googlemock/include
11735   PRIVATE third_party/googletest/googlemock
11736   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11737 )
11738
11739 target_link_libraries(bm_pollset
11740   ${_gRPC_PROTOBUF_LIBRARIES}
11741   ${_gRPC_ALLTARGETS_LIBRARIES}
11742   grpc_benchmark
11743   ${_gRPC_BENCHMARK_LIBRARIES}
11744   grpc++_test_util_unsecure
11745   grpc_test_util_unsecure
11746   grpc++_unsecure
11747   grpc_unsecure
11748   gpr
11749   grpc++_test_config
11750   ${_gRPC_GFLAGS_LIBRARIES}
11751 )
11752
11753
11754 endif()
11755 endif (gRPC_BUILD_TESTS)
11756 if (gRPC_BUILD_TESTS)
11757 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
11758
11759 add_executable(bm_timer
11760   test/cpp/microbenchmarks/bm_timer.cc
11761   third_party/googletest/googletest/src/gtest-all.cc
11762   third_party/googletest/googlemock/src/gmock-all.cc
11763 )
11764
11765
11766 target_include_directories(bm_timer
11767   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11768   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11769   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11770   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11771   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11772   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11773   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11774   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11775   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11776   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11777   PRIVATE third_party/googletest/googletest/include
11778   PRIVATE third_party/googletest/googletest
11779   PRIVATE third_party/googletest/googlemock/include
11780   PRIVATE third_party/googletest/googlemock
11781   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11782 )
11783
11784 target_link_libraries(bm_timer
11785   ${_gRPC_PROTOBUF_LIBRARIES}
11786   ${_gRPC_ALLTARGETS_LIBRARIES}
11787   grpc_benchmark
11788   ${_gRPC_BENCHMARK_LIBRARIES}
11789   grpc++_test_util_unsecure
11790   grpc_test_util_unsecure
11791   grpc++_unsecure
11792   grpc_unsecure
11793   gpr
11794   grpc++_test_config
11795   ${_gRPC_GFLAGS_LIBRARIES}
11796 )
11797
11798
11799 endif()
11800 endif (gRPC_BUILD_TESTS)
11801 if (gRPC_BUILD_TESTS)
11802
11803 add_executable(byte_stream_test
11804   test/core/transport/byte_stream_test.cc
11805   third_party/googletest/googletest/src/gtest-all.cc
11806   third_party/googletest/googlemock/src/gmock-all.cc
11807 )
11808
11809
11810 target_include_directories(byte_stream_test
11811   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11812   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11813   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11814   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11815   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11816   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11817   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11818   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11819   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11820   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11821   PRIVATE third_party/googletest/googletest/include
11822   PRIVATE third_party/googletest/googletest
11823   PRIVATE third_party/googletest/googlemock/include
11824   PRIVATE third_party/googletest/googlemock
11825   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11826 )
11827
11828 target_link_libraries(byte_stream_test
11829   ${_gRPC_PROTOBUF_LIBRARIES}
11830   ${_gRPC_ALLTARGETS_LIBRARIES}
11831   grpc_test_util
11832   grpc
11833   gpr
11834   ${_gRPC_GFLAGS_LIBRARIES}
11835 )
11836
11837
11838 endif (gRPC_BUILD_TESTS)
11839 if (gRPC_BUILD_TESTS)
11840
11841 add_executable(channel_arguments_test
11842   test/cpp/common/channel_arguments_test.cc
11843   third_party/googletest/googletest/src/gtest-all.cc
11844   third_party/googletest/googlemock/src/gmock-all.cc
11845 )
11846
11847
11848 target_include_directories(channel_arguments_test
11849   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11850   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11851   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11852   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11853   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11854   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11855   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11856   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11857   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11858   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11859   PRIVATE third_party/googletest/googletest/include
11860   PRIVATE third_party/googletest/googletest
11861   PRIVATE third_party/googletest/googlemock/include
11862   PRIVATE third_party/googletest/googlemock
11863   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11864 )
11865
11866 target_link_libraries(channel_arguments_test
11867   ${_gRPC_PROTOBUF_LIBRARIES}
11868   ${_gRPC_ALLTARGETS_LIBRARIES}
11869   grpc++
11870   grpc
11871   gpr
11872   ${_gRPC_GFLAGS_LIBRARIES}
11873 )
11874
11875
11876 endif (gRPC_BUILD_TESTS)
11877 if (gRPC_BUILD_TESTS)
11878
11879 add_executable(channel_filter_test
11880   test/cpp/common/channel_filter_test.cc
11881   third_party/googletest/googletest/src/gtest-all.cc
11882   third_party/googletest/googlemock/src/gmock-all.cc
11883 )
11884
11885
11886 target_include_directories(channel_filter_test
11887   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11888   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11889   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11890   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11891   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11892   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11893   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11894   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11895   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11896   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11897   PRIVATE third_party/googletest/googletest/include
11898   PRIVATE third_party/googletest/googletest
11899   PRIVATE third_party/googletest/googlemock/include
11900   PRIVATE third_party/googletest/googlemock
11901   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11902 )
11903
11904 target_link_libraries(channel_filter_test
11905   ${_gRPC_PROTOBUF_LIBRARIES}
11906   ${_gRPC_ALLTARGETS_LIBRARIES}
11907   grpc++
11908   grpc
11909   gpr
11910   ${_gRPC_GFLAGS_LIBRARIES}
11911 )
11912
11913
11914 endif (gRPC_BUILD_TESTS)
11915 if (gRPC_BUILD_TESTS)
11916
11917 add_executable(channel_trace_test
11918   test/core/channel/channel_trace_test.cc
11919   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
11920   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
11921   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
11922   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
11923   third_party/googletest/googletest/src/gtest-all.cc
11924   third_party/googletest/googlemock/src/gmock-all.cc
11925 )
11926
11927 protobuf_generate_grpc_cpp(
11928   src/proto/grpc/channelz/channelz.proto
11929 )
11930
11931 target_include_directories(channel_trace_test
11932   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11933   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11934   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11935   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11936   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11937   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11938   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11939   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11940   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11941   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11942   PRIVATE third_party/googletest/googletest/include
11943   PRIVATE third_party/googletest/googletest
11944   PRIVATE third_party/googletest/googlemock/include
11945   PRIVATE third_party/googletest/googlemock
11946   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11947 )
11948
11949 target_link_libraries(channel_trace_test
11950   ${_gRPC_PROTOBUF_LIBRARIES}
11951   ${_gRPC_ALLTARGETS_LIBRARIES}
11952   grpc_test_util
11953   grpc++_test_util
11954   grpc++
11955   grpc
11956   gpr
11957   ${_gRPC_GFLAGS_LIBRARIES}
11958 )
11959
11960
11961 endif (gRPC_BUILD_TESTS)
11962 if (gRPC_BUILD_TESTS)
11963
11964 add_executable(channelz_registry_test
11965   test/core/channel/channelz_registry_test.cc
11966   third_party/googletest/googletest/src/gtest-all.cc
11967   third_party/googletest/googlemock/src/gmock-all.cc
11968 )
11969
11970
11971 target_include_directories(channelz_registry_test
11972   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
11973   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
11974   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
11975   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
11976   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
11977   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
11978   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
11979   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
11980   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
11981   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
11982   PRIVATE third_party/googletest/googletest/include
11983   PRIVATE third_party/googletest/googletest
11984   PRIVATE third_party/googletest/googlemock/include
11985   PRIVATE third_party/googletest/googlemock
11986   PRIVATE ${_gRPC_PROTO_GENS_DIR}
11987 )
11988
11989 target_link_libraries(channelz_registry_test
11990   ${_gRPC_PROTOBUF_LIBRARIES}
11991   ${_gRPC_ALLTARGETS_LIBRARIES}
11992   grpc_test_util
11993   grpc++_test_util
11994   grpc++
11995   grpc
11996   gpr
11997   ${_gRPC_GFLAGS_LIBRARIES}
11998 )
11999
12000
12001 endif (gRPC_BUILD_TESTS)
12002 if (gRPC_BUILD_TESTS)
12003
12004 add_executable(channelz_service_test
12005   test/cpp/end2end/channelz_service_test.cc
12006   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
12007   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
12008   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
12009   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
12010   third_party/googletest/googletest/src/gtest-all.cc
12011   third_party/googletest/googlemock/src/gmock-all.cc
12012 )
12013
12014 protobuf_generate_grpc_cpp(
12015   src/proto/grpc/channelz/channelz.proto
12016 )
12017
12018 target_include_directories(channelz_service_test
12019   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12020   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12021   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12022   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12023   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12024   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12025   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12026   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12027   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12028   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12029   PRIVATE third_party/googletest/googletest/include
12030   PRIVATE third_party/googletest/googletest
12031   PRIVATE third_party/googletest/googlemock/include
12032   PRIVATE third_party/googletest/googlemock
12033   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12034 )
12035
12036 target_link_libraries(channelz_service_test
12037   ${_gRPC_PROTOBUF_LIBRARIES}
12038   ${_gRPC_ALLTARGETS_LIBRARIES}
12039   grpcpp_channelz
12040   grpc++_test_util
12041   grpc_test_util
12042   grpc++
12043   grpc
12044   gpr
12045   ${_gRPC_GFLAGS_LIBRARIES}
12046 )
12047
12048
12049 endif (gRPC_BUILD_TESTS)
12050 if (gRPC_BUILD_TESTS)
12051
12052 add_executable(channelz_test
12053   test/core/channel/channelz_test.cc
12054   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc
12055   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc
12056   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h
12057   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h
12058   third_party/googletest/googletest/src/gtest-all.cc
12059   third_party/googletest/googlemock/src/gmock-all.cc
12060 )
12061
12062 protobuf_generate_grpc_cpp(
12063   src/proto/grpc/channelz/channelz.proto
12064 )
12065
12066 target_include_directories(channelz_test
12067   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12068   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12069   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12070   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12071   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12072   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12073   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12074   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12075   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12076   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12077   PRIVATE third_party/googletest/googletest/include
12078   PRIVATE third_party/googletest/googletest
12079   PRIVATE third_party/googletest/googlemock/include
12080   PRIVATE third_party/googletest/googlemock
12081   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12082 )
12083
12084 target_link_libraries(channelz_test
12085   ${_gRPC_PROTOBUF_LIBRARIES}
12086   ${_gRPC_ALLTARGETS_LIBRARIES}
12087   grpc_test_util
12088   grpc++_test_util
12089   grpc++
12090   grpc
12091   gpr
12092   ${_gRPC_GFLAGS_LIBRARIES}
12093 )
12094
12095
12096 endif (gRPC_BUILD_TESTS)
12097 if (gRPC_BUILD_TESTS)
12098
12099 add_executable(check_gcp_environment_linux_test
12100   test/core/security/check_gcp_environment_linux_test.cc
12101   third_party/googletest/googletest/src/gtest-all.cc
12102   third_party/googletest/googlemock/src/gmock-all.cc
12103 )
12104
12105
12106 target_include_directories(check_gcp_environment_linux_test
12107   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12108   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12109   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12110   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12111   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12112   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12113   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12114   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12115   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12116   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12117   PRIVATE third_party/googletest/googletest/include
12118   PRIVATE third_party/googletest/googletest
12119   PRIVATE third_party/googletest/googlemock/include
12120   PRIVATE third_party/googletest/googlemock
12121   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12122 )
12123
12124 target_link_libraries(check_gcp_environment_linux_test
12125   ${_gRPC_PROTOBUF_LIBRARIES}
12126   ${_gRPC_ALLTARGETS_LIBRARIES}
12127   grpc
12128   gpr
12129   ${_gRPC_GFLAGS_LIBRARIES}
12130 )
12131
12132
12133 endif (gRPC_BUILD_TESTS)
12134 if (gRPC_BUILD_TESTS)
12135
12136 add_executable(check_gcp_environment_windows_test
12137   test/core/security/check_gcp_environment_windows_test.cc
12138   third_party/googletest/googletest/src/gtest-all.cc
12139   third_party/googletest/googlemock/src/gmock-all.cc
12140 )
12141
12142
12143 target_include_directories(check_gcp_environment_windows_test
12144   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12145   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12146   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12147   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12148   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12149   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12150   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12151   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12152   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12153   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12154   PRIVATE third_party/googletest/googletest/include
12155   PRIVATE third_party/googletest/googletest
12156   PRIVATE third_party/googletest/googlemock/include
12157   PRIVATE third_party/googletest/googlemock
12158   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12159 )
12160
12161 target_link_libraries(check_gcp_environment_windows_test
12162   ${_gRPC_PROTOBUF_LIBRARIES}
12163   ${_gRPC_ALLTARGETS_LIBRARIES}
12164   grpc
12165   gpr
12166   ${_gRPC_GFLAGS_LIBRARIES}
12167 )
12168
12169
12170 endif (gRPC_BUILD_TESTS)
12171 if (gRPC_BUILD_TESTS)
12172
12173 add_executable(chttp2_settings_timeout_test
12174   test/core/transport/chttp2/settings_timeout_test.cc
12175   third_party/googletest/googletest/src/gtest-all.cc
12176   third_party/googletest/googlemock/src/gmock-all.cc
12177 )
12178
12179
12180 target_include_directories(chttp2_settings_timeout_test
12181   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12182   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12183   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12184   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12185   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12186   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12187   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12188   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12189   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12190   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12191   PRIVATE third_party/googletest/googletest/include
12192   PRIVATE third_party/googletest/googletest
12193   PRIVATE third_party/googletest/googlemock/include
12194   PRIVATE third_party/googletest/googlemock
12195   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12196 )
12197
12198 target_link_libraries(chttp2_settings_timeout_test
12199   ${_gRPC_PROTOBUF_LIBRARIES}
12200   ${_gRPC_ALLTARGETS_LIBRARIES}
12201   grpc_test_util
12202   grpc
12203   gpr
12204   ${_gRPC_GFLAGS_LIBRARIES}
12205 )
12206
12207
12208 endif (gRPC_BUILD_TESTS)
12209 if (gRPC_BUILD_TESTS)
12210
12211 add_executable(cli_call_test
12212   test/cpp/util/cli_call_test.cc
12213   third_party/googletest/googletest/src/gtest-all.cc
12214   third_party/googletest/googlemock/src/gmock-all.cc
12215 )
12216
12217
12218 target_include_directories(cli_call_test
12219   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12220   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12221   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12222   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12223   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12224   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12225   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12226   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12227   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12228   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12229   PRIVATE third_party/googletest/googletest/include
12230   PRIVATE third_party/googletest/googletest
12231   PRIVATE third_party/googletest/googlemock/include
12232   PRIVATE third_party/googletest/googlemock
12233   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12234 )
12235
12236 target_link_libraries(cli_call_test
12237   ${_gRPC_PROTOBUF_LIBRARIES}
12238   ${_gRPC_ALLTARGETS_LIBRARIES}
12239   grpc_cli_libs
12240   grpc++_test_util
12241   grpc_test_util
12242   grpc++
12243   grpc
12244   gpr
12245   ${_gRPC_GFLAGS_LIBRARIES}
12246 )
12247
12248
12249 endif (gRPC_BUILD_TESTS)
12250 if (gRPC_BUILD_TESTS)
12251
12252 add_executable(client_callback_end2end_test
12253   test/cpp/end2end/client_callback_end2end_test.cc
12254   third_party/googletest/googletest/src/gtest-all.cc
12255   third_party/googletest/googlemock/src/gmock-all.cc
12256 )
12257
12258
12259 target_include_directories(client_callback_end2end_test
12260   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12261   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12262   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12263   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12264   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12265   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12266   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12267   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12268   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12269   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12270   PRIVATE third_party/googletest/googletest/include
12271   PRIVATE third_party/googletest/googletest
12272   PRIVATE third_party/googletest/googlemock/include
12273   PRIVATE third_party/googletest/googlemock
12274   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12275 )
12276
12277 target_link_libraries(client_callback_end2end_test
12278   ${_gRPC_PROTOBUF_LIBRARIES}
12279   ${_gRPC_ALLTARGETS_LIBRARIES}
12280   grpc++_test_util
12281   grpc_test_util
12282   grpc++
12283   grpc
12284   gpr
12285   ${_gRPC_GFLAGS_LIBRARIES}
12286 )
12287
12288
12289 endif (gRPC_BUILD_TESTS)
12290 if (gRPC_BUILD_TESTS)
12291
12292 add_executable(client_channel_stress_test
12293   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc
12294   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc
12295   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h
12296   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h
12297   test/cpp/client/client_channel_stress_test.cc
12298   third_party/googletest/googletest/src/gtest-all.cc
12299   third_party/googletest/googlemock/src/gmock-all.cc
12300 )
12301
12302 protobuf_generate_grpc_cpp(
12303   src/proto/grpc/lb/v1/load_balancer.proto
12304 )
12305
12306 target_include_directories(client_channel_stress_test
12307   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12308   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12309   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12310   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12311   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12312   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12313   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12314   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12315   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12316   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12317   PRIVATE third_party/googletest/googletest/include
12318   PRIVATE third_party/googletest/googletest
12319   PRIVATE third_party/googletest/googlemock/include
12320   PRIVATE third_party/googletest/googlemock
12321   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12322 )
12323
12324 target_link_libraries(client_channel_stress_test
12325   ${_gRPC_PROTOBUF_LIBRARIES}
12326   ${_gRPC_ALLTARGETS_LIBRARIES}
12327   grpc++_test_util
12328   grpc_test_util
12329   grpc++
12330   grpc
12331   gpr
12332   ${_gRPC_GFLAGS_LIBRARIES}
12333 )
12334
12335
12336 endif (gRPC_BUILD_TESTS)
12337 if (gRPC_BUILD_TESTS)
12338 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
12339
12340 add_executable(client_crash_test
12341   test/cpp/end2end/client_crash_test.cc
12342   third_party/googletest/googletest/src/gtest-all.cc
12343   third_party/googletest/googlemock/src/gmock-all.cc
12344 )
12345
12346
12347 target_include_directories(client_crash_test
12348   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12349   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12350   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12351   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12352   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12353   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12354   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12355   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12356   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12357   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12358   PRIVATE third_party/googletest/googletest/include
12359   PRIVATE third_party/googletest/googletest
12360   PRIVATE third_party/googletest/googlemock/include
12361   PRIVATE third_party/googletest/googlemock
12362   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12363 )
12364
12365 target_link_libraries(client_crash_test
12366   ${_gRPC_PROTOBUF_LIBRARIES}
12367   ${_gRPC_ALLTARGETS_LIBRARIES}
12368   grpc++_test_util
12369   grpc_test_util
12370   grpc++
12371   grpc
12372   gpr
12373   ${_gRPC_GFLAGS_LIBRARIES}
12374 )
12375
12376
12377 endif()
12378 endif (gRPC_BUILD_TESTS)
12379 if (gRPC_BUILD_TESTS)
12380
12381 add_executable(client_crash_test_server
12382   test/cpp/end2end/client_crash_test_server.cc
12383   third_party/googletest/googletest/src/gtest-all.cc
12384   third_party/googletest/googlemock/src/gmock-all.cc
12385 )
12386
12387
12388 target_include_directories(client_crash_test_server
12389   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12390   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12391   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12392   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12393   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12394   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12395   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12396   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12397   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12398   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12399   PRIVATE third_party/googletest/googletest/include
12400   PRIVATE third_party/googletest/googletest
12401   PRIVATE third_party/googletest/googlemock/include
12402   PRIVATE third_party/googletest/googlemock
12403   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12404 )
12405
12406 target_link_libraries(client_crash_test_server
12407   ${_gRPC_PROTOBUF_LIBRARIES}
12408   ${_gRPC_ALLTARGETS_LIBRARIES}
12409   grpc++_test_util
12410   grpc_test_util
12411   grpc++
12412   grpc
12413   gpr
12414   ${_gRPC_GFLAGS_LIBRARIES}
12415 )
12416
12417
12418 endif (gRPC_BUILD_TESTS)
12419 if (gRPC_BUILD_TESTS)
12420
12421 add_executable(client_interceptors_end2end_test
12422   test/cpp/end2end/client_interceptors_end2end_test.cc
12423   test/cpp/end2end/interceptors_util.cc
12424   third_party/googletest/googletest/src/gtest-all.cc
12425   third_party/googletest/googlemock/src/gmock-all.cc
12426 )
12427
12428
12429 target_include_directories(client_interceptors_end2end_test
12430   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12431   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12432   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12433   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12434   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12435   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12436   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12437   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12438   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12439   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12440   PRIVATE third_party/googletest/googletest/include
12441   PRIVATE third_party/googletest/googletest
12442   PRIVATE third_party/googletest/googlemock/include
12443   PRIVATE third_party/googletest/googlemock
12444   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12445 )
12446
12447 target_link_libraries(client_interceptors_end2end_test
12448   ${_gRPC_PROTOBUF_LIBRARIES}
12449   ${_gRPC_ALLTARGETS_LIBRARIES}
12450   grpc++_test_util
12451   grpc_test_util
12452   grpc++
12453   grpc
12454   gpr
12455   ${_gRPC_GFLAGS_LIBRARIES}
12456 )
12457
12458
12459 endif (gRPC_BUILD_TESTS)
12460 if (gRPC_BUILD_TESTS)
12461
12462 add_executable(client_lb_end2end_test
12463   test/cpp/end2end/client_lb_end2end_test.cc
12464   third_party/googletest/googletest/src/gtest-all.cc
12465   third_party/googletest/googlemock/src/gmock-all.cc
12466 )
12467
12468
12469 target_include_directories(client_lb_end2end_test
12470   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12471   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12472   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12473   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12474   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12475   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12476   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12477   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12478   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12479   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12480   PRIVATE third_party/googletest/googletest/include
12481   PRIVATE third_party/googletest/googletest
12482   PRIVATE third_party/googletest/googlemock/include
12483   PRIVATE third_party/googletest/googlemock
12484   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12485 )
12486
12487 target_link_libraries(client_lb_end2end_test
12488   ${_gRPC_PROTOBUF_LIBRARIES}
12489   ${_gRPC_ALLTARGETS_LIBRARIES}
12490   grpc++_test_util
12491   grpc_test_util
12492   grpc++
12493   grpc
12494   gpr
12495   ${_gRPC_GFLAGS_LIBRARIES}
12496 )
12497
12498
12499 endif (gRPC_BUILD_TESTS)
12500 if (gRPC_BUILD_TESTS)
12501
12502 add_executable(codegen_test_full
12503   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.cc
12504   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.cc
12505   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.h
12506   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.h
12507   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
12508   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
12509   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
12510   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
12511   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.cc
12512   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.cc
12513   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.h
12514   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.h
12515   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.cc
12516   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.cc
12517   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.h
12518   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.h
12519   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.cc
12520   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.cc
12521   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.h
12522   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.h
12523   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.cc
12524   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.cc
12525   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.h
12526   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.h
12527   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.cc
12528   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.cc
12529   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.h
12530   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.h
12531   test/cpp/codegen/codegen_test_full.cc
12532   third_party/googletest/googletest/src/gtest-all.cc
12533   third_party/googletest/googlemock/src/gmock-all.cc
12534 )
12535
12536 protobuf_generate_grpc_cpp(
12537   src/proto/grpc/testing/control.proto
12538 )
12539 protobuf_generate_grpc_cpp(
12540   src/proto/grpc/testing/messages.proto
12541 )
12542 protobuf_generate_grpc_cpp(
12543   src/proto/grpc/testing/payloads.proto
12544 )
12545 protobuf_generate_grpc_cpp(
12546   src/proto/grpc/testing/benchmark_service.proto
12547 )
12548 protobuf_generate_grpc_cpp(
12549   src/proto/grpc/testing/report_qps_scenario_service.proto
12550 )
12551 protobuf_generate_grpc_cpp(
12552   src/proto/grpc/testing/worker_service.proto
12553 )
12554 protobuf_generate_grpc_cpp(
12555   src/proto/grpc/testing/stats.proto
12556 )
12557
12558 target_include_directories(codegen_test_full
12559   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12560   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12561   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12562   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12563   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12564   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12565   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12566   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12567   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12568   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12569   PRIVATE third_party/googletest/googletest/include
12570   PRIVATE third_party/googletest/googletest
12571   PRIVATE third_party/googletest/googlemock/include
12572   PRIVATE third_party/googletest/googlemock
12573   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12574 )
12575
12576 target_link_libraries(codegen_test_full
12577   ${_gRPC_PROTOBUF_LIBRARIES}
12578   ${_gRPC_ALLTARGETS_LIBRARIES}
12579   grpc++_core_stats
12580   grpc++
12581   grpc
12582   gpr
12583   ${_gRPC_GFLAGS_LIBRARIES}
12584 )
12585
12586
12587 endif (gRPC_BUILD_TESTS)
12588 if (gRPC_BUILD_TESTS)
12589
12590 add_executable(codegen_test_minimal
12591   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.cc
12592   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.cc
12593   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.h
12594   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.h
12595   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
12596   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
12597   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
12598   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
12599   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.cc
12600   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.cc
12601   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.h
12602   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.h
12603   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.cc
12604   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.cc
12605   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.h
12606   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.h
12607   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.cc
12608   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.cc
12609   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.h
12610   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.h
12611   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.cc
12612   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.cc
12613   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.h
12614   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.h
12615   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.cc
12616   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.cc
12617   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.h
12618   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.h
12619   test/cpp/codegen/codegen_test_minimal.cc
12620   src/cpp/codegen/codegen_init.cc
12621   third_party/googletest/googletest/src/gtest-all.cc
12622   third_party/googletest/googlemock/src/gmock-all.cc
12623 )
12624
12625 protobuf_generate_grpc_cpp(
12626   src/proto/grpc/testing/control.proto
12627 )
12628 protobuf_generate_grpc_cpp(
12629   src/proto/grpc/testing/messages.proto
12630 )
12631 protobuf_generate_grpc_cpp(
12632   src/proto/grpc/testing/payloads.proto
12633 )
12634 protobuf_generate_grpc_cpp(
12635   src/proto/grpc/testing/benchmark_service.proto
12636 )
12637 protobuf_generate_grpc_cpp(
12638   src/proto/grpc/testing/report_qps_scenario_service.proto
12639 )
12640 protobuf_generate_grpc_cpp(
12641   src/proto/grpc/testing/worker_service.proto
12642 )
12643 protobuf_generate_grpc_cpp(
12644   src/proto/grpc/testing/stats.proto
12645 )
12646
12647 target_include_directories(codegen_test_minimal
12648   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12649   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12650   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12651   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12652   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12653   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12654   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12655   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12656   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12657   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12658   PRIVATE third_party/googletest/googletest/include
12659   PRIVATE third_party/googletest/googletest
12660   PRIVATE third_party/googletest/googlemock/include
12661   PRIVATE third_party/googletest/googlemock
12662   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12663 )
12664
12665 target_link_libraries(codegen_test_minimal
12666   ${_gRPC_PROTOBUF_LIBRARIES}
12667   ${_gRPC_ALLTARGETS_LIBRARIES}
12668   grpc++_core_stats
12669   grpc
12670   gpr
12671   ${_gRPC_GFLAGS_LIBRARIES}
12672 )
12673
12674
12675 endif (gRPC_BUILD_TESTS)
12676 if (gRPC_BUILD_TESTS)
12677
12678 add_executable(context_list_test
12679   test/core/transport/chttp2/context_list_test.cc
12680   third_party/googletest/googletest/src/gtest-all.cc
12681   third_party/googletest/googlemock/src/gmock-all.cc
12682 )
12683
12684
12685 target_include_directories(context_list_test
12686   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12687   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12688   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12689   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12690   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12691   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12692   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12693   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12694   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12695   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12696   PRIVATE third_party/googletest/googletest/include
12697   PRIVATE third_party/googletest/googletest
12698   PRIVATE third_party/googletest/googlemock/include
12699   PRIVATE third_party/googletest/googlemock
12700   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12701 )
12702
12703 target_link_libraries(context_list_test
12704   ${_gRPC_PROTOBUF_LIBRARIES}
12705   ${_gRPC_ALLTARGETS_LIBRARIES}
12706   grpc_test_util
12707   grpc
12708   gpr
12709   ${_gRPC_GFLAGS_LIBRARIES}
12710 )
12711
12712
12713 endif (gRPC_BUILD_TESTS)
12714 if (gRPC_BUILD_TESTS)
12715
12716 add_executable(credentials_test
12717   test/cpp/client/credentials_test.cc
12718   third_party/googletest/googletest/src/gtest-all.cc
12719   third_party/googletest/googlemock/src/gmock-all.cc
12720 )
12721
12722
12723 target_include_directories(credentials_test
12724   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12725   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12726   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12727   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12728   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12729   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12730   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12731   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12732   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12733   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12734   PRIVATE third_party/googletest/googletest/include
12735   PRIVATE third_party/googletest/googletest
12736   PRIVATE third_party/googletest/googlemock/include
12737   PRIVATE third_party/googletest/googlemock
12738   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12739 )
12740
12741 target_link_libraries(credentials_test
12742   ${_gRPC_PROTOBUF_LIBRARIES}
12743   ${_gRPC_ALLTARGETS_LIBRARIES}
12744   grpc++
12745   grpc
12746   gpr
12747   ${_gRPC_GFLAGS_LIBRARIES}
12748 )
12749
12750
12751 endif (gRPC_BUILD_TESTS)
12752 if (gRPC_BUILD_TESTS)
12753
12754 add_executable(cxx_byte_buffer_test
12755   test/cpp/util/byte_buffer_test.cc
12756   third_party/googletest/googletest/src/gtest-all.cc
12757   third_party/googletest/googlemock/src/gmock-all.cc
12758 )
12759
12760
12761 target_include_directories(cxx_byte_buffer_test
12762   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12763   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12764   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12765   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12766   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12767   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12768   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12769   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12770   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12771   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12772   PRIVATE third_party/googletest/googletest/include
12773   PRIVATE third_party/googletest/googletest
12774   PRIVATE third_party/googletest/googlemock/include
12775   PRIVATE third_party/googletest/googlemock
12776   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12777 )
12778
12779 target_link_libraries(cxx_byte_buffer_test
12780   ${_gRPC_PROTOBUF_LIBRARIES}
12781   ${_gRPC_ALLTARGETS_LIBRARIES}
12782   grpc_test_util
12783   grpc++
12784   grpc
12785   gpr
12786   ${_gRPC_GFLAGS_LIBRARIES}
12787 )
12788
12789
12790 endif (gRPC_BUILD_TESTS)
12791 if (gRPC_BUILD_TESTS)
12792
12793 add_executable(cxx_slice_test
12794   test/cpp/util/slice_test.cc
12795   third_party/googletest/googletest/src/gtest-all.cc
12796   third_party/googletest/googlemock/src/gmock-all.cc
12797 )
12798
12799
12800 target_include_directories(cxx_slice_test
12801   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12802   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12803   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12804   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12805   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12806   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12807   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12808   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12809   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12810   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12811   PRIVATE third_party/googletest/googletest/include
12812   PRIVATE third_party/googletest/googletest
12813   PRIVATE third_party/googletest/googlemock/include
12814   PRIVATE third_party/googletest/googlemock
12815   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12816 )
12817
12818 target_link_libraries(cxx_slice_test
12819   ${_gRPC_PROTOBUF_LIBRARIES}
12820   ${_gRPC_ALLTARGETS_LIBRARIES}
12821   grpc_test_util
12822   grpc++
12823   grpc
12824   gpr
12825   ${_gRPC_GFLAGS_LIBRARIES}
12826 )
12827
12828
12829 endif (gRPC_BUILD_TESTS)
12830 if (gRPC_BUILD_TESTS)
12831
12832 add_executable(cxx_string_ref_test
12833   test/cpp/util/string_ref_test.cc
12834   third_party/googletest/googletest/src/gtest-all.cc
12835   third_party/googletest/googlemock/src/gmock-all.cc
12836 )
12837
12838
12839 target_include_directories(cxx_string_ref_test
12840   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12841   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12842   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12843   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12844   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12845   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12846   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12847   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12848   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12849   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12850   PRIVATE third_party/googletest/googletest/include
12851   PRIVATE third_party/googletest/googletest
12852   PRIVATE third_party/googletest/googlemock/include
12853   PRIVATE third_party/googletest/googlemock
12854   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12855 )
12856
12857 target_link_libraries(cxx_string_ref_test
12858   ${_gRPC_PROTOBUF_LIBRARIES}
12859   ${_gRPC_ALLTARGETS_LIBRARIES}
12860   grpc++
12861   grpc
12862   ${_gRPC_GFLAGS_LIBRARIES}
12863 )
12864
12865
12866 endif (gRPC_BUILD_TESTS)
12867 if (gRPC_BUILD_TESTS)
12868
12869 add_executable(cxx_time_test
12870   test/cpp/util/time_test.cc
12871   third_party/googletest/googletest/src/gtest-all.cc
12872   third_party/googletest/googlemock/src/gmock-all.cc
12873 )
12874
12875
12876 target_include_directories(cxx_time_test
12877   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12878   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12879   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12880   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12881   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12882   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12883   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12884   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12885   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12886   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12887   PRIVATE third_party/googletest/googletest/include
12888   PRIVATE third_party/googletest/googletest
12889   PRIVATE third_party/googletest/googlemock/include
12890   PRIVATE third_party/googletest/googlemock
12891   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12892 )
12893
12894 target_link_libraries(cxx_time_test
12895   ${_gRPC_PROTOBUF_LIBRARIES}
12896   ${_gRPC_ALLTARGETS_LIBRARIES}
12897   grpc_test_util
12898   grpc++
12899   grpc
12900   gpr
12901   ${_gRPC_GFLAGS_LIBRARIES}
12902 )
12903
12904
12905 endif (gRPC_BUILD_TESTS)
12906 if (gRPC_BUILD_TESTS)
12907
12908 add_executable(end2end_test
12909   test/cpp/end2end/end2end_test.cc
12910   test/cpp/end2end/interceptors_util.cc
12911   third_party/googletest/googletest/src/gtest-all.cc
12912   third_party/googletest/googlemock/src/gmock-all.cc
12913 )
12914
12915
12916 target_include_directories(end2end_test
12917   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12918   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12919   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12920   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12921   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12922   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12923   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12924   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12925   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12926   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12927   PRIVATE third_party/googletest/googletest/include
12928   PRIVATE third_party/googletest/googletest
12929   PRIVATE third_party/googletest/googlemock/include
12930   PRIVATE third_party/googletest/googlemock
12931   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12932 )
12933
12934 target_link_libraries(end2end_test
12935   ${_gRPC_PROTOBUF_LIBRARIES}
12936   ${_gRPC_ALLTARGETS_LIBRARIES}
12937   grpc++_test_util
12938   grpc_test_util
12939   grpc++
12940   grpc
12941   gpr
12942   ${_gRPC_GFLAGS_LIBRARIES}
12943 )
12944
12945
12946 endif (gRPC_BUILD_TESTS)
12947 if (gRPC_BUILD_TESTS)
12948
12949 add_executable(error_details_test
12950   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
12951   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
12952   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
12953   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
12954   test/cpp/util/error_details_test.cc
12955   third_party/googletest/googletest/src/gtest-all.cc
12956   third_party/googletest/googlemock/src/gmock-all.cc
12957 )
12958
12959 protobuf_generate_grpc_cpp(
12960   src/proto/grpc/testing/echo_messages.proto
12961 )
12962
12963 target_include_directories(error_details_test
12964   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
12965   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
12966   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
12967   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
12968   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
12969   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
12970   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
12971   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
12972   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
12973   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
12974   PRIVATE third_party/googletest/googletest/include
12975   PRIVATE third_party/googletest/googletest
12976   PRIVATE third_party/googletest/googlemock/include
12977   PRIVATE third_party/googletest/googlemock
12978   PRIVATE ${_gRPC_PROTO_GENS_DIR}
12979 )
12980
12981 target_link_libraries(error_details_test
12982   ${_gRPC_PROTOBUF_LIBRARIES}
12983   ${_gRPC_ALLTARGETS_LIBRARIES}
12984   grpc++_error_details
12985   grpc++
12986   ${_gRPC_GFLAGS_LIBRARIES}
12987 )
12988
12989
12990 endif (gRPC_BUILD_TESTS)
12991 if (gRPC_BUILD_TESTS)
12992
12993 add_executable(exception_test
12994   test/cpp/end2end/exception_test.cc
12995   third_party/googletest/googletest/src/gtest-all.cc
12996   third_party/googletest/googlemock/src/gmock-all.cc
12997 )
12998
12999
13000 target_include_directories(exception_test
13001   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13002   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13003   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13004   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13005   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13006   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13007   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13008   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13009   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13010   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13011   PRIVATE third_party/googletest/googletest/include
13012   PRIVATE third_party/googletest/googletest
13013   PRIVATE third_party/googletest/googlemock/include
13014   PRIVATE third_party/googletest/googlemock
13015   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13016 )
13017
13018 target_link_libraries(exception_test
13019   ${_gRPC_PROTOBUF_LIBRARIES}
13020   ${_gRPC_ALLTARGETS_LIBRARIES}
13021   grpc++_test_util
13022   grpc_test_util
13023   grpc++
13024   grpc
13025   gpr
13026   ${_gRPC_GFLAGS_LIBRARIES}
13027 )
13028
13029
13030 endif (gRPC_BUILD_TESTS)
13031 if (gRPC_BUILD_TESTS)
13032
13033 add_executable(filter_end2end_test
13034   test/cpp/end2end/filter_end2end_test.cc
13035   third_party/googletest/googletest/src/gtest-all.cc
13036   third_party/googletest/googlemock/src/gmock-all.cc
13037 )
13038
13039
13040 target_include_directories(filter_end2end_test
13041   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13042   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13043   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13044   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13045   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13046   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13047   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13048   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13049   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13050   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13051   PRIVATE third_party/googletest/googletest/include
13052   PRIVATE third_party/googletest/googletest
13053   PRIVATE third_party/googletest/googlemock/include
13054   PRIVATE third_party/googletest/googlemock
13055   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13056 )
13057
13058 target_link_libraries(filter_end2end_test
13059   ${_gRPC_PROTOBUF_LIBRARIES}
13060   ${_gRPC_ALLTARGETS_LIBRARIES}
13061   grpc++_test_util
13062   grpc_test_util
13063   grpc++
13064   grpc
13065   gpr
13066   ${_gRPC_GFLAGS_LIBRARIES}
13067 )
13068
13069
13070 endif (gRPC_BUILD_TESTS)
13071 if (gRPC_BUILD_TESTS)
13072
13073 add_executable(generic_end2end_test
13074   test/cpp/end2end/generic_end2end_test.cc
13075   third_party/googletest/googletest/src/gtest-all.cc
13076   third_party/googletest/googlemock/src/gmock-all.cc
13077 )
13078
13079
13080 target_include_directories(generic_end2end_test
13081   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13082   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13083   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13084   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13085   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13086   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13087   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13088   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13089   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13090   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13091   PRIVATE third_party/googletest/googletest/include
13092   PRIVATE third_party/googletest/googletest
13093   PRIVATE third_party/googletest/googlemock/include
13094   PRIVATE third_party/googletest/googlemock
13095   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13096 )
13097
13098 target_link_libraries(generic_end2end_test
13099   ${_gRPC_PROTOBUF_LIBRARIES}
13100   ${_gRPC_ALLTARGETS_LIBRARIES}
13101   grpc++_test_util
13102   grpc_test_util
13103   grpc++
13104   grpc
13105   gpr
13106   ${_gRPC_GFLAGS_LIBRARIES}
13107 )
13108
13109
13110 endif (gRPC_BUILD_TESTS)
13111 if (gRPC_BUILD_TESTS)
13112
13113 add_executable(golden_file_test
13114   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/compiler_test.pb.cc
13115   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/compiler_test.grpc.pb.cc
13116   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/compiler_test.pb.h
13117   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/compiler_test.grpc.pb.h
13118   test/cpp/codegen/golden_file_test.cc
13119   third_party/googletest/googletest/src/gtest-all.cc
13120   third_party/googletest/googlemock/src/gmock-all.cc
13121 )
13122
13123 protobuf_generate_grpc_cpp(
13124   src/proto/grpc/testing/compiler_test.proto
13125 )
13126
13127 target_include_directories(golden_file_test
13128   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13129   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13130   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13131   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13132   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13133   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13134   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13135   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13136   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13137   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13138   PRIVATE third_party/googletest/googletest/include
13139   PRIVATE third_party/googletest/googletest
13140   PRIVATE third_party/googletest/googlemock/include
13141   PRIVATE third_party/googletest/googlemock
13142   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13143 )
13144
13145 target_link_libraries(golden_file_test
13146   ${_gRPC_PROTOBUF_LIBRARIES}
13147   ${_gRPC_ALLTARGETS_LIBRARIES}
13148   grpc++
13149   grpc
13150   gpr
13151   ${_gRPC_GFLAGS_LIBRARIES}
13152 )
13153
13154
13155 endif (gRPC_BUILD_TESTS)
13156 if (gRPC_BUILD_TESTS)
13157
13158 add_executable(grpc_alts_credentials_options_test
13159   test/core/security/grpc_alts_credentials_options_test.cc
13160   third_party/googletest/googletest/src/gtest-all.cc
13161   third_party/googletest/googlemock/src/gmock-all.cc
13162 )
13163
13164
13165 target_include_directories(grpc_alts_credentials_options_test
13166   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13167   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13168   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13169   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13170   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13171   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13172   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13173   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13174   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13175   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13176   PRIVATE third_party/googletest/googletest/include
13177   PRIVATE third_party/googletest/googletest
13178   PRIVATE third_party/googletest/googlemock/include
13179   PRIVATE third_party/googletest/googlemock
13180   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13181 )
13182
13183 target_link_libraries(grpc_alts_credentials_options_test
13184   ${_gRPC_PROTOBUF_LIBRARIES}
13185   ${_gRPC_ALLTARGETS_LIBRARIES}
13186   grpc
13187   gpr
13188   ${_gRPC_GFLAGS_LIBRARIES}
13189 )
13190
13191
13192 endif (gRPC_BUILD_TESTS)
13193 if (gRPC_BUILD_TESTS)
13194
13195 add_executable(grpc_cli
13196   test/cpp/util/grpc_cli.cc
13197   third_party/googletest/googletest/src/gtest-all.cc
13198   third_party/googletest/googlemock/src/gmock-all.cc
13199 )
13200
13201
13202 target_include_directories(grpc_cli
13203   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13204   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13205   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13206   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13207   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13208   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13209   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13210   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13211   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13212   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13213   PRIVATE third_party/googletest/googletest/include
13214   PRIVATE third_party/googletest/googletest
13215   PRIVATE third_party/googletest/googlemock/include
13216   PRIVATE third_party/googletest/googlemock
13217   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13218 )
13219
13220 target_link_libraries(grpc_cli
13221   ${_gRPC_PROTOBUF_LIBRARIES}
13222   ${_gRPC_ALLTARGETS_LIBRARIES}
13223   grpc_cli_libs
13224   grpc++_proto_reflection_desc_db
13225   grpc++
13226   grpc
13227   gpr
13228   grpc++_test_config
13229   ${_gRPC_GFLAGS_LIBRARIES}
13230 )
13231
13232
13233 endif (gRPC_BUILD_TESTS)
13234 if (gRPC_BUILD_CODEGEN)
13235
13236 add_executable(grpc_cpp_plugin
13237   src/compiler/cpp_plugin.cc
13238 )
13239
13240
13241 target_include_directories(grpc_cpp_plugin
13242   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13243   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13244   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13245   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13246   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13247   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13248   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13249   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13250   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13251   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13252   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13253 )
13254
13255 target_link_libraries(grpc_cpp_plugin
13256   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13257   ${_gRPC_PROTOBUF_LIBRARIES}
13258   ${_gRPC_ALLTARGETS_LIBRARIES}
13259   grpc_plugin_support
13260 )
13261
13262
13263
13264 if (gRPC_INSTALL)
13265   install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets
13266     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13267     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13268     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13269   )
13270 endif()
13271
13272 endif (gRPC_BUILD_CODEGEN)
13273 if (gRPC_BUILD_CODEGEN)
13274
13275 add_executable(grpc_csharp_plugin
13276   src/compiler/csharp_plugin.cc
13277 )
13278
13279
13280 target_include_directories(grpc_csharp_plugin
13281   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13282   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13283   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13284   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13285   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13286   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13287   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13288   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13289   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13290   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13291   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13292 )
13293
13294 target_link_libraries(grpc_csharp_plugin
13295   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13296   ${_gRPC_PROTOBUF_LIBRARIES}
13297   ${_gRPC_ALLTARGETS_LIBRARIES}
13298   grpc_plugin_support
13299 )
13300
13301
13302
13303 if (gRPC_INSTALL)
13304   install(TARGETS grpc_csharp_plugin EXPORT gRPCTargets
13305     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13306     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13307     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13308   )
13309 endif()
13310
13311 endif (gRPC_BUILD_CODEGEN)
13312 if (gRPC_BUILD_TESTS)
13313
13314 add_executable(grpc_linux_system_roots_test
13315   test/core/security/linux_system_roots_test.cc
13316   third_party/googletest/googletest/src/gtest-all.cc
13317   third_party/googletest/googlemock/src/gmock-all.cc
13318 )
13319
13320
13321 target_include_directories(grpc_linux_system_roots_test
13322   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13323   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13324   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13325   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13326   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13327   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13328   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13329   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13330   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13331   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13332   PRIVATE third_party/googletest/googletest/include
13333   PRIVATE third_party/googletest/googletest
13334   PRIVATE third_party/googletest/googlemock/include
13335   PRIVATE third_party/googletest/googlemock
13336   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13337 )
13338
13339 target_link_libraries(grpc_linux_system_roots_test
13340   ${_gRPC_PROTOBUF_LIBRARIES}
13341   ${_gRPC_ALLTARGETS_LIBRARIES}
13342   grpc_test_util
13343   grpc
13344   gpr
13345   ${_gRPC_GFLAGS_LIBRARIES}
13346 )
13347
13348
13349 endif (gRPC_BUILD_TESTS)
13350 if (gRPC_BUILD_CODEGEN)
13351
13352 add_executable(grpc_node_plugin
13353   src/compiler/node_plugin.cc
13354 )
13355
13356
13357 target_include_directories(grpc_node_plugin
13358   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13359   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13360   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13361   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13362   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13363   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13364   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13365   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13366   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13367   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13368   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13369 )
13370
13371 target_link_libraries(grpc_node_plugin
13372   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13373   ${_gRPC_PROTOBUF_LIBRARIES}
13374   ${_gRPC_ALLTARGETS_LIBRARIES}
13375   grpc_plugin_support
13376 )
13377
13378
13379
13380 if (gRPC_INSTALL)
13381   install(TARGETS grpc_node_plugin EXPORT gRPCTargets
13382     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13383     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13384     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13385   )
13386 endif()
13387
13388 endif (gRPC_BUILD_CODEGEN)
13389 if (gRPC_BUILD_CODEGEN)
13390
13391 add_executable(grpc_objective_c_plugin
13392   src/compiler/objective_c_plugin.cc
13393 )
13394
13395
13396 target_include_directories(grpc_objective_c_plugin
13397   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13398   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13399   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13400   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13401   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13402   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13403   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13404   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13405   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13406   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13407   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13408 )
13409
13410 target_link_libraries(grpc_objective_c_plugin
13411   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13412   ${_gRPC_PROTOBUF_LIBRARIES}
13413   ${_gRPC_ALLTARGETS_LIBRARIES}
13414   grpc_plugin_support
13415 )
13416
13417
13418
13419 if (gRPC_INSTALL)
13420   install(TARGETS grpc_objective_c_plugin EXPORT gRPCTargets
13421     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13422     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13423     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13424   )
13425 endif()
13426
13427 endif (gRPC_BUILD_CODEGEN)
13428 if (gRPC_BUILD_CODEGEN)
13429
13430 add_executable(grpc_php_plugin
13431   src/compiler/php_plugin.cc
13432 )
13433
13434
13435 target_include_directories(grpc_php_plugin
13436   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13437   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13438   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13439   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13440   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13441   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13442   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13443   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13444   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13445   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13446   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13447 )
13448
13449 target_link_libraries(grpc_php_plugin
13450   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13451   ${_gRPC_PROTOBUF_LIBRARIES}
13452   ${_gRPC_ALLTARGETS_LIBRARIES}
13453   grpc_plugin_support
13454 )
13455
13456
13457
13458 if (gRPC_INSTALL)
13459   install(TARGETS grpc_php_plugin EXPORT gRPCTargets
13460     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13461     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13462     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13463   )
13464 endif()
13465
13466 endif (gRPC_BUILD_CODEGEN)
13467 if (gRPC_BUILD_CODEGEN)
13468
13469 add_executable(grpc_python_plugin
13470   src/compiler/python_plugin.cc
13471 )
13472
13473
13474 target_include_directories(grpc_python_plugin
13475   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13476   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13477   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13478   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13479   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13480   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13481   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13482   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13483   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13484   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13485   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13486 )
13487
13488 target_link_libraries(grpc_python_plugin
13489   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13490   ${_gRPC_PROTOBUF_LIBRARIES}
13491   ${_gRPC_ALLTARGETS_LIBRARIES}
13492   grpc_plugin_support
13493 )
13494
13495
13496
13497 if (gRPC_INSTALL)
13498   install(TARGETS grpc_python_plugin EXPORT gRPCTargets
13499     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13500     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13501     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13502   )
13503 endif()
13504
13505 endif (gRPC_BUILD_CODEGEN)
13506 if (gRPC_BUILD_CODEGEN)
13507
13508 add_executable(grpc_ruby_plugin
13509   src/compiler/ruby_plugin.cc
13510 )
13511
13512
13513 target_include_directories(grpc_ruby_plugin
13514   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13515   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13516   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13517   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13518   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13519   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13520   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13521   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13522   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13523   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13524   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13525 )
13526
13527 target_link_libraries(grpc_ruby_plugin
13528   ${_gRPC_PROTOBUF_PROTOC_LIBRARIES}
13529   ${_gRPC_PROTOBUF_LIBRARIES}
13530   ${_gRPC_ALLTARGETS_LIBRARIES}
13531   grpc_plugin_support
13532 )
13533
13534
13535
13536 if (gRPC_INSTALL)
13537   install(TARGETS grpc_ruby_plugin EXPORT gRPCTargets
13538     RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
13539     LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
13540     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
13541   )
13542 endif()
13543
13544 endif (gRPC_BUILD_CODEGEN)
13545 if (gRPC_BUILD_TESTS)
13546
13547 add_executable(grpc_tool_test
13548   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
13549   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
13550   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
13551   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
13552   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
13553   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
13554   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
13555   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
13556   test/cpp/util/grpc_tool_test.cc
13557   third_party/googletest/googletest/src/gtest-all.cc
13558   third_party/googletest/googlemock/src/gmock-all.cc
13559 )
13560
13561 protobuf_generate_grpc_cpp(
13562   src/proto/grpc/testing/echo.proto
13563 )
13564 protobuf_generate_grpc_cpp(
13565   src/proto/grpc/testing/echo_messages.proto
13566 )
13567
13568 target_include_directories(grpc_tool_test
13569   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13570   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13571   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13572   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13573   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13574   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13575   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13576   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13577   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13578   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13579   PRIVATE third_party/googletest/googletest/include
13580   PRIVATE third_party/googletest/googletest
13581   PRIVATE third_party/googletest/googlemock/include
13582   PRIVATE third_party/googletest/googlemock
13583   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13584 )
13585
13586 target_link_libraries(grpc_tool_test
13587   ${_gRPC_PROTOBUF_LIBRARIES}
13588   ${_gRPC_ALLTARGETS_LIBRARIES}
13589   grpc_cli_libs
13590   grpc++_proto_reflection_desc_db
13591   grpc++_reflection
13592   grpc++_test_util
13593   grpc_test_util
13594   grpc++
13595   grpc
13596   gpr
13597   ${_gRPC_GFLAGS_LIBRARIES}
13598 )
13599
13600
13601 endif (gRPC_BUILD_TESTS)
13602 if (gRPC_BUILD_TESTS)
13603
13604 add_executable(grpclb_api_test
13605   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc
13606   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc
13607   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h
13608   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h
13609   test/cpp/grpclb/grpclb_api_test.cc
13610   third_party/googletest/googletest/src/gtest-all.cc
13611   third_party/googletest/googlemock/src/gmock-all.cc
13612 )
13613
13614 protobuf_generate_grpc_cpp(
13615   src/proto/grpc/lb/v1/load_balancer.proto
13616 )
13617
13618 target_include_directories(grpclb_api_test
13619   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13620   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13621   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13622   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13623   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13624   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13625   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13626   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13627   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13628   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13629   PRIVATE third_party/googletest/googletest/include
13630   PRIVATE third_party/googletest/googletest
13631   PRIVATE third_party/googletest/googlemock/include
13632   PRIVATE third_party/googletest/googlemock
13633   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13634 )
13635
13636 target_link_libraries(grpclb_api_test
13637   ${_gRPC_PROTOBUF_LIBRARIES}
13638   ${_gRPC_ALLTARGETS_LIBRARIES}
13639   grpc++_test_util
13640   grpc_test_util
13641   grpc++
13642   grpc
13643   ${_gRPC_GFLAGS_LIBRARIES}
13644 )
13645
13646
13647 endif (gRPC_BUILD_TESTS)
13648 if (gRPC_BUILD_TESTS)
13649
13650 add_executable(grpclb_end2end_test
13651   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc
13652   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc
13653   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h
13654   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h
13655   test/cpp/end2end/grpclb_end2end_test.cc
13656   third_party/googletest/googletest/src/gtest-all.cc
13657   third_party/googletest/googlemock/src/gmock-all.cc
13658 )
13659
13660 protobuf_generate_grpc_cpp(
13661   src/proto/grpc/lb/v1/load_balancer.proto
13662 )
13663
13664 target_include_directories(grpclb_end2end_test
13665   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13666   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13667   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13668   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13669   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13670   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13671   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13672   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13673   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13674   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13675   PRIVATE third_party/googletest/googletest/include
13676   PRIVATE third_party/googletest/googletest
13677   PRIVATE third_party/googletest/googlemock/include
13678   PRIVATE third_party/googletest/googlemock
13679   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13680 )
13681
13682 target_link_libraries(grpclb_end2end_test
13683   ${_gRPC_PROTOBUF_LIBRARIES}
13684   ${_gRPC_ALLTARGETS_LIBRARIES}
13685   grpc++_test_util
13686   grpc_test_util
13687   grpc++
13688   grpc
13689   gpr
13690   ${_gRPC_GFLAGS_LIBRARIES}
13691 )
13692
13693
13694 endif (gRPC_BUILD_TESTS)
13695 if (gRPC_BUILD_TESTS)
13696
13697 add_executable(h2_ssl_cert_test
13698   test/core/end2end/h2_ssl_cert_test.cc
13699   third_party/googletest/googletest/src/gtest-all.cc
13700   third_party/googletest/googlemock/src/gmock-all.cc
13701 )
13702
13703
13704 target_include_directories(h2_ssl_cert_test
13705   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13706   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13707   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13708   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13709   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13710   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13711   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13712   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13713   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13714   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13715   PRIVATE third_party/googletest/googletest/include
13716   PRIVATE third_party/googletest/googletest
13717   PRIVATE third_party/googletest/googlemock/include
13718   PRIVATE third_party/googletest/googlemock
13719   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13720 )
13721
13722 target_link_libraries(h2_ssl_cert_test
13723   ${_gRPC_PROTOBUF_LIBRARIES}
13724   ${_gRPC_ALLTARGETS_LIBRARIES}
13725   grpc_test_util
13726   grpc++
13727   grpc
13728   gpr
13729   ${_gRPC_GFLAGS_LIBRARIES}
13730 )
13731
13732
13733 endif (gRPC_BUILD_TESTS)
13734 if (gRPC_BUILD_TESTS)
13735
13736 add_executable(h2_ssl_session_reuse_test
13737   test/core/end2end/h2_ssl_session_reuse_test.cc
13738   third_party/googletest/googletest/src/gtest-all.cc
13739   third_party/googletest/googlemock/src/gmock-all.cc
13740 )
13741
13742
13743 target_include_directories(h2_ssl_session_reuse_test
13744   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13745   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13746   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13747   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13748   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13749   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13750   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13751   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13752   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13753   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13754   PRIVATE third_party/googletest/googletest/include
13755   PRIVATE third_party/googletest/googletest
13756   PRIVATE third_party/googletest/googlemock/include
13757   PRIVATE third_party/googletest/googlemock
13758   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13759 )
13760
13761 target_link_libraries(h2_ssl_session_reuse_test
13762   ${_gRPC_PROTOBUF_LIBRARIES}
13763   ${_gRPC_ALLTARGETS_LIBRARIES}
13764   grpc_test_util
13765   grpc++
13766   grpc
13767   gpr
13768   ${_gRPC_GFLAGS_LIBRARIES}
13769 )
13770
13771
13772 endif (gRPC_BUILD_TESTS)
13773 if (gRPC_BUILD_TESTS)
13774
13775 add_executable(health_service_end2end_test
13776   test/cpp/end2end/health_service_end2end_test.cc
13777   third_party/googletest/googletest/src/gtest-all.cc
13778   third_party/googletest/googlemock/src/gmock-all.cc
13779 )
13780
13781
13782 target_include_directories(health_service_end2end_test
13783   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13784   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13785   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13786   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13787   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13788   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13789   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13790   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13791   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13792   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13793   PRIVATE third_party/googletest/googletest/include
13794   PRIVATE third_party/googletest/googletest
13795   PRIVATE third_party/googletest/googlemock/include
13796   PRIVATE third_party/googletest/googlemock
13797   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13798 )
13799
13800 target_link_libraries(health_service_end2end_test
13801   ${_gRPC_PROTOBUF_LIBRARIES}
13802   ${_gRPC_ALLTARGETS_LIBRARIES}
13803   grpc++_test_util
13804   grpc_test_util
13805   grpc++
13806   grpc
13807   gpr
13808   ${_gRPC_GFLAGS_LIBRARIES}
13809 )
13810
13811
13812 endif (gRPC_BUILD_TESTS)
13813 if (gRPC_BUILD_TESTS)
13814 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
13815
13816 add_executable(http2_client
13817   third_party/googletest/googletest/src/gtest-all.cc
13818   third_party/googletest/googlemock/src/gmock-all.cc
13819 )
13820
13821
13822 target_include_directories(http2_client
13823   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13824   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13825   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13826   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13827   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13828   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13829   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13830   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13831   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13832   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13833   PRIVATE third_party/googletest/googletest/include
13834   PRIVATE third_party/googletest/googletest
13835   PRIVATE third_party/googletest/googlemock/include
13836   PRIVATE third_party/googletest/googlemock
13837   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13838 )
13839
13840 target_link_libraries(http2_client
13841   ${_gRPC_PROTOBUF_LIBRARIES}
13842   ${_gRPC_ALLTARGETS_LIBRARIES}
13843   http2_client_main
13844   grpc++_test_util
13845   grpc_test_util
13846   grpc++
13847   grpc
13848   grpc++_test_config
13849   ${_gRPC_GFLAGS_LIBRARIES}
13850 )
13851
13852
13853 endif()
13854 endif (gRPC_BUILD_TESTS)
13855 if (gRPC_BUILD_TESTS)
13856
13857 add_executable(hybrid_end2end_test
13858   test/cpp/end2end/hybrid_end2end_test.cc
13859   third_party/googletest/googletest/src/gtest-all.cc
13860   third_party/googletest/googlemock/src/gmock-all.cc
13861 )
13862
13863
13864 target_include_directories(hybrid_end2end_test
13865   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13866   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13867   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13868   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13869   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13870   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13871   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13872   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13873   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13874   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13875   PRIVATE third_party/googletest/googletest/include
13876   PRIVATE third_party/googletest/googletest
13877   PRIVATE third_party/googletest/googlemock/include
13878   PRIVATE third_party/googletest/googlemock
13879   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13880 )
13881
13882 target_link_libraries(hybrid_end2end_test
13883   ${_gRPC_PROTOBUF_LIBRARIES}
13884   ${_gRPC_ALLTARGETS_LIBRARIES}
13885   grpc++_test_util
13886   grpc_test_util
13887   grpc++
13888   grpc
13889   gpr
13890   ${_gRPC_GFLAGS_LIBRARIES}
13891 )
13892
13893
13894 endif (gRPC_BUILD_TESTS)
13895 if (gRPC_BUILD_TESTS)
13896
13897 add_executable(inlined_vector_test
13898   test/core/gprpp/inlined_vector_test.cc
13899   third_party/googletest/googletest/src/gtest-all.cc
13900   third_party/googletest/googlemock/src/gmock-all.cc
13901 )
13902
13903
13904 target_include_directories(inlined_vector_test
13905   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13906   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13907   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13908   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13909   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13910   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13911   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13912   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13913   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13914   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13915   PRIVATE third_party/googletest/googletest/include
13916   PRIVATE third_party/googletest/googletest
13917   PRIVATE third_party/googletest/googlemock/include
13918   PRIVATE third_party/googletest/googlemock
13919   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13920 )
13921
13922 target_link_libraries(inlined_vector_test
13923   ${_gRPC_PROTOBUF_LIBRARIES}
13924   ${_gRPC_ALLTARGETS_LIBRARIES}
13925   grpc_test_util
13926   grpc++
13927   grpc
13928   gpr
13929   ${_gRPC_GFLAGS_LIBRARIES}
13930 )
13931
13932
13933 endif (gRPC_BUILD_TESTS)
13934 if (gRPC_BUILD_TESTS)
13935 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
13936
13937 add_executable(inproc_sync_unary_ping_pong_test
13938   test/cpp/qps/inproc_sync_unary_ping_pong_test.cc
13939   third_party/googletest/googletest/src/gtest-all.cc
13940   third_party/googletest/googlemock/src/gmock-all.cc
13941 )
13942
13943
13944 target_include_directories(inproc_sync_unary_ping_pong_test
13945   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13946   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13947   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13948   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13949   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13950   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13951   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13952   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13953   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13954   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13955   PRIVATE third_party/googletest/googletest/include
13956   PRIVATE third_party/googletest/googletest
13957   PRIVATE third_party/googletest/googlemock/include
13958   PRIVATE third_party/googletest/googlemock
13959   PRIVATE ${_gRPC_PROTO_GENS_DIR}
13960 )
13961
13962 target_link_libraries(inproc_sync_unary_ping_pong_test
13963   ${_gRPC_PROTOBUF_LIBRARIES}
13964   ${_gRPC_ALLTARGETS_LIBRARIES}
13965   qps
13966   grpc++_core_stats
13967   grpc++_test_util
13968   grpc_test_util
13969   grpc++
13970   grpc
13971   gpr
13972   grpc++_test_config
13973   ${_gRPC_GFLAGS_LIBRARIES}
13974 )
13975
13976
13977 endif()
13978 endif (gRPC_BUILD_TESTS)
13979 if (gRPC_BUILD_TESTS)
13980 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
13981
13982 add_executable(interop_client
13983   third_party/googletest/googletest/src/gtest-all.cc
13984   third_party/googletest/googlemock/src/gmock-all.cc
13985 )
13986
13987
13988 target_include_directories(interop_client
13989   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
13990   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
13991   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
13992   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
13993   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
13994   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
13995   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
13996   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
13997   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
13998   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
13999   PRIVATE third_party/googletest/googletest/include
14000   PRIVATE third_party/googletest/googletest
14001   PRIVATE third_party/googletest/googlemock/include
14002   PRIVATE third_party/googletest/googlemock
14003   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14004 )
14005
14006 target_link_libraries(interop_client
14007   ${_gRPC_PROTOBUF_LIBRARIES}
14008   ${_gRPC_ALLTARGETS_LIBRARIES}
14009   interop_client_main
14010   interop_client_helper
14011   grpc++_test_util
14012   grpc_test_util
14013   grpc++
14014   grpc
14015   gpr
14016   grpc++_test_config
14017   ${_gRPC_GFLAGS_LIBRARIES}
14018 )
14019
14020
14021 endif()
14022 endif (gRPC_BUILD_TESTS)
14023 if (gRPC_BUILD_TESTS)
14024 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14025
14026 add_executable(interop_server
14027   third_party/googletest/googletest/src/gtest-all.cc
14028   third_party/googletest/googlemock/src/gmock-all.cc
14029 )
14030
14031
14032 target_include_directories(interop_server
14033   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14034   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14035   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14036   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14037   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14038   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14039   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14040   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14041   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14042   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14043   PRIVATE third_party/googletest/googletest/include
14044   PRIVATE third_party/googletest/googletest
14045   PRIVATE third_party/googletest/googlemock/include
14046   PRIVATE third_party/googletest/googlemock
14047   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14048 )
14049
14050 target_link_libraries(interop_server
14051   ${_gRPC_PROTOBUF_LIBRARIES}
14052   ${_gRPC_ALLTARGETS_LIBRARIES}
14053   interop_server_main
14054   interop_server_helper
14055   interop_server_lib
14056   grpc++_test_util
14057   grpc_test_util
14058   grpc++
14059   grpc
14060   gpr
14061   grpc++_test_config
14062   ${_gRPC_GFLAGS_LIBRARIES}
14063 )
14064
14065
14066 endif()
14067 endif (gRPC_BUILD_TESTS)
14068 if (gRPC_BUILD_TESTS)
14069 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14070
14071 add_executable(interop_test
14072   test/cpp/interop/interop_test.cc
14073   third_party/googletest/googletest/src/gtest-all.cc
14074   third_party/googletest/googlemock/src/gmock-all.cc
14075 )
14076
14077
14078 target_include_directories(interop_test
14079   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14080   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14081   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14082   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14083   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14084   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14085   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14086   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14087   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14088   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14089   PRIVATE third_party/googletest/googletest/include
14090   PRIVATE third_party/googletest/googletest
14091   PRIVATE third_party/googletest/googlemock/include
14092   PRIVATE third_party/googletest/googlemock
14093   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14094 )
14095
14096 target_link_libraries(interop_test
14097   ${_gRPC_PROTOBUF_LIBRARIES}
14098   ${_gRPC_ALLTARGETS_LIBRARIES}
14099   grpc_test_util
14100   grpc
14101   gpr
14102   grpc++_test_config
14103   ${_gRPC_GFLAGS_LIBRARIES}
14104 )
14105
14106
14107 endif()
14108 endif (gRPC_BUILD_TESTS)
14109 if (gRPC_BUILD_TESTS)
14110 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14111
14112 add_executable(json_run_localhost
14113   test/cpp/qps/json_run_localhost.cc
14114   third_party/googletest/googletest/src/gtest-all.cc
14115   third_party/googletest/googlemock/src/gmock-all.cc
14116 )
14117
14118
14119 target_include_directories(json_run_localhost
14120   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14121   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14122   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14123   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14124   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14125   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14126   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14127   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14128   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14129   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14130   PRIVATE third_party/googletest/googletest/include
14131   PRIVATE third_party/googletest/googletest
14132   PRIVATE third_party/googletest/googlemock/include
14133   PRIVATE third_party/googletest/googlemock
14134   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14135 )
14136
14137 target_link_libraries(json_run_localhost
14138   ${_gRPC_PROTOBUF_LIBRARIES}
14139   ${_gRPC_ALLTARGETS_LIBRARIES}
14140   grpc++_test_util
14141   grpc_test_util
14142   grpc++
14143   grpc
14144   gpr
14145   grpc++_test_config
14146   ${_gRPC_GFLAGS_LIBRARIES}
14147 )
14148
14149
14150 endif()
14151 endif (gRPC_BUILD_TESTS)
14152 if (gRPC_BUILD_TESTS)
14153
14154 add_executable(memory_test
14155   test/core/gprpp/memory_test.cc
14156   third_party/googletest/googletest/src/gtest-all.cc
14157   third_party/googletest/googlemock/src/gmock-all.cc
14158 )
14159
14160
14161 target_include_directories(memory_test
14162   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14163   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14164   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14165   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14166   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14167   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14168   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14169   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14170   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14171   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14172   PRIVATE third_party/googletest/googletest/include
14173   PRIVATE third_party/googletest/googletest
14174   PRIVATE third_party/googletest/googlemock/include
14175   PRIVATE third_party/googletest/googlemock
14176   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14177 )
14178
14179 target_link_libraries(memory_test
14180   ${_gRPC_PROTOBUF_LIBRARIES}
14181   ${_gRPC_ALLTARGETS_LIBRARIES}
14182   grpc_test_util
14183   grpc++
14184   grpc
14185   gpr
14186   ${_gRPC_GFLAGS_LIBRARIES}
14187 )
14188
14189
14190 endif (gRPC_BUILD_TESTS)
14191 if (gRPC_BUILD_TESTS)
14192
14193 add_executable(metrics_client
14194   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.pb.cc
14195   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.grpc.pb.cc
14196   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.pb.h
14197   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.grpc.pb.h
14198   test/cpp/interop/metrics_client.cc
14199   third_party/googletest/googletest/src/gtest-all.cc
14200   third_party/googletest/googlemock/src/gmock-all.cc
14201 )
14202
14203 protobuf_generate_grpc_cpp(
14204   src/proto/grpc/testing/metrics.proto
14205 )
14206
14207 target_include_directories(metrics_client
14208   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14209   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14210   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14211   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14212   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14213   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14214   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14215   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14216   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14217   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14218   PRIVATE third_party/googletest/googletest/include
14219   PRIVATE third_party/googletest/googletest
14220   PRIVATE third_party/googletest/googlemock/include
14221   PRIVATE third_party/googletest/googlemock
14222   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14223 )
14224
14225 target_link_libraries(metrics_client
14226   ${_gRPC_PROTOBUF_LIBRARIES}
14227   ${_gRPC_ALLTARGETS_LIBRARIES}
14228   grpc++
14229   grpc
14230   gpr
14231   grpc++_test_config
14232   ${_gRPC_GFLAGS_LIBRARIES}
14233 )
14234
14235
14236 endif (gRPC_BUILD_TESTS)
14237 if (gRPC_BUILD_TESTS)
14238
14239 add_executable(mock_test
14240   test/cpp/end2end/mock_test.cc
14241   third_party/googletest/googletest/src/gtest-all.cc
14242   third_party/googletest/googlemock/src/gmock-all.cc
14243 )
14244
14245
14246 target_include_directories(mock_test
14247   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14248   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14249   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14250   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14251   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14252   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14253   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14254   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14255   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14256   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14257   PRIVATE third_party/googletest/googletest/include
14258   PRIVATE third_party/googletest/googletest
14259   PRIVATE third_party/googletest/googlemock/include
14260   PRIVATE third_party/googletest/googlemock
14261   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14262 )
14263
14264 target_link_libraries(mock_test
14265   ${_gRPC_PROTOBUF_LIBRARIES}
14266   ${_gRPC_ALLTARGETS_LIBRARIES}
14267   grpc++_test_util
14268   grpc_test_util
14269   grpc++
14270   grpc
14271   gpr
14272   ${_gRPC_GFLAGS_LIBRARIES}
14273 )
14274
14275
14276 endif (gRPC_BUILD_TESTS)
14277 if (gRPC_BUILD_TESTS)
14278
14279 add_executable(nonblocking_test
14280   test/cpp/end2end/nonblocking_test.cc
14281   third_party/googletest/googletest/src/gtest-all.cc
14282   third_party/googletest/googlemock/src/gmock-all.cc
14283 )
14284
14285
14286 target_include_directories(nonblocking_test
14287   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14288   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14289   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14290   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14291   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14292   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14293   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14294   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14295   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14296   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14297   PRIVATE third_party/googletest/googletest/include
14298   PRIVATE third_party/googletest/googletest
14299   PRIVATE third_party/googletest/googlemock/include
14300   PRIVATE third_party/googletest/googlemock
14301   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14302 )
14303
14304 target_link_libraries(nonblocking_test
14305   ${_gRPC_PROTOBUF_LIBRARIES}
14306   ${_gRPC_ALLTARGETS_LIBRARIES}
14307   grpc++_test_util
14308   grpc_test_util
14309   grpc++
14310   grpc
14311   gpr
14312   ${_gRPC_GFLAGS_LIBRARIES}
14313 )
14314
14315
14316 endif (gRPC_BUILD_TESTS)
14317 if (gRPC_BUILD_TESTS)
14318
14319 add_executable(noop-benchmark
14320   test/cpp/microbenchmarks/noop-benchmark.cc
14321   third_party/googletest/googletest/src/gtest-all.cc
14322   third_party/googletest/googlemock/src/gmock-all.cc
14323 )
14324
14325
14326 target_include_directories(noop-benchmark
14327   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14328   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14329   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14330   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14331   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14332   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14333   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14334   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14335   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14336   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14337   PRIVATE third_party/googletest/googletest/include
14338   PRIVATE third_party/googletest/googletest
14339   PRIVATE third_party/googletest/googlemock/include
14340   PRIVATE third_party/googletest/googlemock
14341   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14342 )
14343
14344 target_link_libraries(noop-benchmark
14345   ${_gRPC_PROTOBUF_LIBRARIES}
14346   ${_gRPC_ALLTARGETS_LIBRARIES}
14347   ${_gRPC_BENCHMARK_LIBRARIES}
14348   ${_gRPC_GFLAGS_LIBRARIES}
14349 )
14350
14351
14352 endif (gRPC_BUILD_TESTS)
14353 if (gRPC_BUILD_TESTS)
14354
14355 add_executable(orphanable_test
14356   test/core/gprpp/orphanable_test.cc
14357   third_party/googletest/googletest/src/gtest-all.cc
14358   third_party/googletest/googlemock/src/gmock-all.cc
14359 )
14360
14361
14362 target_include_directories(orphanable_test
14363   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14364   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14365   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14366   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14367   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14368   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14369   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14370   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14371   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14372   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14373   PRIVATE third_party/googletest/googletest/include
14374   PRIVATE third_party/googletest/googletest
14375   PRIVATE third_party/googletest/googlemock/include
14376   PRIVATE third_party/googletest/googlemock
14377   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14378 )
14379
14380 target_link_libraries(orphanable_test
14381   ${_gRPC_PROTOBUF_LIBRARIES}
14382   ${_gRPC_ALLTARGETS_LIBRARIES}
14383   grpc_test_util
14384   grpc++
14385   grpc
14386   gpr
14387   ${_gRPC_GFLAGS_LIBRARIES}
14388 )
14389
14390
14391 endif (gRPC_BUILD_TESTS)
14392 if (gRPC_BUILD_TESTS)
14393
14394 add_executable(proto_server_reflection_test
14395   test/cpp/end2end/proto_server_reflection_test.cc
14396   third_party/googletest/googletest/src/gtest-all.cc
14397   third_party/googletest/googlemock/src/gmock-all.cc
14398 )
14399
14400
14401 target_include_directories(proto_server_reflection_test
14402   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14403   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14404   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14405   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14406   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14407   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14408   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14409   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14410   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14411   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14412   PRIVATE third_party/googletest/googletest/include
14413   PRIVATE third_party/googletest/googletest
14414   PRIVATE third_party/googletest/googlemock/include
14415   PRIVATE third_party/googletest/googlemock
14416   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14417 )
14418
14419 target_link_libraries(proto_server_reflection_test
14420   ${_gRPC_PROTOBUF_LIBRARIES}
14421   ${_gRPC_ALLTARGETS_LIBRARIES}
14422   grpc++_proto_reflection_desc_db
14423   grpc++_reflection
14424   grpc++_test_util
14425   grpc_test_util
14426   grpc++
14427   grpc
14428   gpr
14429   ${_gRPC_GFLAGS_LIBRARIES}
14430 )
14431
14432
14433 endif (gRPC_BUILD_TESTS)
14434 if (gRPC_BUILD_TESTS)
14435
14436 add_executable(proto_utils_test
14437   test/cpp/codegen/proto_utils_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(proto_utils_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(proto_utils_test
14462   ${_gRPC_PROTOBUF_LIBRARIES}
14463   ${_gRPC_ALLTARGETS_LIBRARIES}
14464   grpc++
14465   grpc
14466   ${_gRPC_GFLAGS_LIBRARIES}
14467 )
14468
14469
14470 endif (gRPC_BUILD_TESTS)
14471 if (gRPC_BUILD_TESTS)
14472 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14473
14474 add_executable(qps_interarrival_test
14475   test/cpp/qps/qps_interarrival_test.cc
14476   third_party/googletest/googletest/src/gtest-all.cc
14477   third_party/googletest/googlemock/src/gmock-all.cc
14478 )
14479
14480
14481 target_include_directories(qps_interarrival_test
14482   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14483   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14484   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14485   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14486   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14487   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14488   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14489   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14490   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14491   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14492   PRIVATE third_party/googletest/googletest/include
14493   PRIVATE third_party/googletest/googletest
14494   PRIVATE third_party/googletest/googlemock/include
14495   PRIVATE third_party/googletest/googlemock
14496   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14497 )
14498
14499 target_link_libraries(qps_interarrival_test
14500   ${_gRPC_PROTOBUF_LIBRARIES}
14501   ${_gRPC_ALLTARGETS_LIBRARIES}
14502   qps
14503   grpc++_test_util
14504   grpc_test_util
14505   grpc++
14506   grpc
14507   gpr
14508   grpc++_test_config
14509   ${_gRPC_GFLAGS_LIBRARIES}
14510 )
14511
14512
14513 endif()
14514 endif (gRPC_BUILD_TESTS)
14515 if (gRPC_BUILD_TESTS)
14516
14517 add_executable(qps_json_driver
14518   test/cpp/qps/qps_json_driver.cc
14519   third_party/googletest/googletest/src/gtest-all.cc
14520   third_party/googletest/googlemock/src/gmock-all.cc
14521 )
14522
14523
14524 target_include_directories(qps_json_driver
14525   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14526   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14527   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14528   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14529   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14530   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14531   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14532   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14533   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14534   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14535   PRIVATE third_party/googletest/googletest/include
14536   PRIVATE third_party/googletest/googletest
14537   PRIVATE third_party/googletest/googlemock/include
14538   PRIVATE third_party/googletest/googlemock
14539   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14540 )
14541
14542 target_link_libraries(qps_json_driver
14543   ${_gRPC_PROTOBUF_LIBRARIES}
14544   ${_gRPC_ALLTARGETS_LIBRARIES}
14545   qps
14546   grpc++_core_stats
14547   grpc++_test_util
14548   grpc_test_util
14549   grpc++
14550   grpc
14551   gpr
14552   grpc++_test_config
14553   ${_gRPC_GFLAGS_LIBRARIES}
14554 )
14555
14556
14557 endif (gRPC_BUILD_TESTS)
14558 if (gRPC_BUILD_TESTS)
14559 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14560
14561 add_executable(qps_openloop_test
14562   test/cpp/qps/qps_openloop_test.cc
14563   third_party/googletest/googletest/src/gtest-all.cc
14564   third_party/googletest/googlemock/src/gmock-all.cc
14565 )
14566
14567
14568 target_include_directories(qps_openloop_test
14569   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14570   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14571   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14572   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14573   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14574   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14575   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14576   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14577   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14578   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14579   PRIVATE third_party/googletest/googletest/include
14580   PRIVATE third_party/googletest/googletest
14581   PRIVATE third_party/googletest/googlemock/include
14582   PRIVATE third_party/googletest/googlemock
14583   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14584 )
14585
14586 target_link_libraries(qps_openloop_test
14587   ${_gRPC_PROTOBUF_LIBRARIES}
14588   ${_gRPC_ALLTARGETS_LIBRARIES}
14589   qps
14590   grpc++_core_stats
14591   grpc++_test_util
14592   grpc_test_util
14593   grpc++
14594   grpc
14595   gpr
14596   grpc++_test_config
14597   ${_gRPC_GFLAGS_LIBRARIES}
14598 )
14599
14600
14601 endif()
14602 endif (gRPC_BUILD_TESTS)
14603 if (gRPC_BUILD_TESTS)
14604
14605 add_executable(qps_worker
14606   test/cpp/qps/worker.cc
14607   third_party/googletest/googletest/src/gtest-all.cc
14608   third_party/googletest/googlemock/src/gmock-all.cc
14609 )
14610
14611
14612 target_include_directories(qps_worker
14613   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14614   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14615   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14616   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14617   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14618   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14619   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14620   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14621   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14622   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14623   PRIVATE third_party/googletest/googletest/include
14624   PRIVATE third_party/googletest/googletest
14625   PRIVATE third_party/googletest/googlemock/include
14626   PRIVATE third_party/googletest/googlemock
14627   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14628 )
14629
14630 target_link_libraries(qps_worker
14631   ${_gRPC_PROTOBUF_LIBRARIES}
14632   ${_gRPC_ALLTARGETS_LIBRARIES}
14633   qps
14634   grpc++_core_stats
14635   grpc++_test_util
14636   grpc_test_util
14637   grpc++
14638   grpc
14639   gpr
14640   grpc++_test_config
14641   ${_gRPC_GFLAGS_LIBRARIES}
14642 )
14643
14644
14645 endif (gRPC_BUILD_TESTS)
14646 if (gRPC_BUILD_TESTS)
14647
14648 add_executable(raw_end2end_test
14649   test/cpp/end2end/raw_end2end_test.cc
14650   third_party/googletest/googletest/src/gtest-all.cc
14651   third_party/googletest/googlemock/src/gmock-all.cc
14652 )
14653
14654
14655 target_include_directories(raw_end2end_test
14656   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14657   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14658   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14659   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14660   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14661   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14662   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14663   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14664   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14665   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14666   PRIVATE third_party/googletest/googletest/include
14667   PRIVATE third_party/googletest/googletest
14668   PRIVATE third_party/googletest/googlemock/include
14669   PRIVATE third_party/googletest/googlemock
14670   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14671 )
14672
14673 target_link_libraries(raw_end2end_test
14674   ${_gRPC_PROTOBUF_LIBRARIES}
14675   ${_gRPC_ALLTARGETS_LIBRARIES}
14676   grpc++_test_util
14677   grpc_test_util
14678   grpc++
14679   grpc
14680   gpr
14681   ${_gRPC_GFLAGS_LIBRARIES}
14682 )
14683
14684
14685 endif (gRPC_BUILD_TESTS)
14686 if (gRPC_BUILD_TESTS)
14687
14688 add_executable(reconnect_interop_client
14689   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
14690   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
14691   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
14692   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
14693   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
14694   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
14695   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
14696   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
14697   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
14698   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
14699   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
14700   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
14701   test/cpp/interop/reconnect_interop_client.cc
14702   third_party/googletest/googletest/src/gtest-all.cc
14703   third_party/googletest/googlemock/src/gmock-all.cc
14704 )
14705
14706 protobuf_generate_grpc_cpp(
14707   src/proto/grpc/testing/empty.proto
14708 )
14709 protobuf_generate_grpc_cpp(
14710   src/proto/grpc/testing/messages.proto
14711 )
14712 protobuf_generate_grpc_cpp(
14713   src/proto/grpc/testing/test.proto
14714 )
14715
14716 target_include_directories(reconnect_interop_client
14717   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14718   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14719   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14720   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14721   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14722   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14723   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14724   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14725   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14726   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14727   PRIVATE third_party/googletest/googletest/include
14728   PRIVATE third_party/googletest/googletest
14729   PRIVATE third_party/googletest/googlemock/include
14730   PRIVATE third_party/googletest/googlemock
14731   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14732 )
14733
14734 target_link_libraries(reconnect_interop_client
14735   ${_gRPC_PROTOBUF_LIBRARIES}
14736   ${_gRPC_ALLTARGETS_LIBRARIES}
14737   grpc++_test_util
14738   grpc_test_util
14739   grpc++
14740   grpc
14741   gpr
14742   grpc++_test_config
14743   ${_gRPC_GFLAGS_LIBRARIES}
14744 )
14745
14746
14747 endif (gRPC_BUILD_TESTS)
14748 if (gRPC_BUILD_TESTS)
14749
14750 add_executable(reconnect_interop_server
14751   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
14752   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
14753   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
14754   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
14755   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
14756   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
14757   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
14758   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
14759   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
14760   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
14761   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
14762   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
14763   test/cpp/interop/reconnect_interop_server.cc
14764   third_party/googletest/googletest/src/gtest-all.cc
14765   third_party/googletest/googlemock/src/gmock-all.cc
14766 )
14767
14768 protobuf_generate_grpc_cpp(
14769   src/proto/grpc/testing/empty.proto
14770 )
14771 protobuf_generate_grpc_cpp(
14772   src/proto/grpc/testing/messages.proto
14773 )
14774 protobuf_generate_grpc_cpp(
14775   src/proto/grpc/testing/test.proto
14776 )
14777
14778 target_include_directories(reconnect_interop_server
14779   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14780   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14781   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14782   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14783   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14784   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14785   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14786   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14787   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14788   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14789   PRIVATE third_party/googletest/googletest/include
14790   PRIVATE third_party/googletest/googletest
14791   PRIVATE third_party/googletest/googlemock/include
14792   PRIVATE third_party/googletest/googlemock
14793   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14794 )
14795
14796 target_link_libraries(reconnect_interop_server
14797   ${_gRPC_PROTOBUF_LIBRARIES}
14798   ${_gRPC_ALLTARGETS_LIBRARIES}
14799   reconnect_server
14800   test_tcp_server
14801   grpc++_test_util
14802   grpc_test_util
14803   grpc++
14804   grpc
14805   gpr
14806   grpc++_test_config
14807   ${_gRPC_GFLAGS_LIBRARIES}
14808 )
14809
14810
14811 endif (gRPC_BUILD_TESTS)
14812 if (gRPC_BUILD_TESTS)
14813
14814 add_executable(ref_counted_ptr_test
14815   test/core/gprpp/ref_counted_ptr_test.cc
14816   third_party/googletest/googletest/src/gtest-all.cc
14817   third_party/googletest/googlemock/src/gmock-all.cc
14818 )
14819
14820
14821 target_include_directories(ref_counted_ptr_test
14822   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14823   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14824   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14825   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14826   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14827   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14828   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14829   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14830   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14831   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14832   PRIVATE third_party/googletest/googletest/include
14833   PRIVATE third_party/googletest/googletest
14834   PRIVATE third_party/googletest/googlemock/include
14835   PRIVATE third_party/googletest/googlemock
14836   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14837 )
14838
14839 target_link_libraries(ref_counted_ptr_test
14840   ${_gRPC_PROTOBUF_LIBRARIES}
14841   ${_gRPC_ALLTARGETS_LIBRARIES}
14842   grpc_test_util
14843   grpc++
14844   grpc
14845   gpr
14846   ${_gRPC_GFLAGS_LIBRARIES}
14847 )
14848
14849
14850 endif (gRPC_BUILD_TESTS)
14851 if (gRPC_BUILD_TESTS)
14852
14853 add_executable(ref_counted_test
14854   test/core/gprpp/ref_counted_test.cc
14855   third_party/googletest/googletest/src/gtest-all.cc
14856   third_party/googletest/googlemock/src/gmock-all.cc
14857 )
14858
14859
14860 target_include_directories(ref_counted_test
14861   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14862   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14863   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14864   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14865   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14866   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14867   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14868   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14869   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14870   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14871   PRIVATE third_party/googletest/googletest/include
14872   PRIVATE third_party/googletest/googletest
14873   PRIVATE third_party/googletest/googlemock/include
14874   PRIVATE third_party/googletest/googlemock
14875   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14876 )
14877
14878 target_link_libraries(ref_counted_test
14879   ${_gRPC_PROTOBUF_LIBRARIES}
14880   ${_gRPC_ALLTARGETS_LIBRARIES}
14881   grpc_test_util
14882   grpc++
14883   grpc
14884   gpr
14885   ${_gRPC_GFLAGS_LIBRARIES}
14886 )
14887
14888
14889 endif (gRPC_BUILD_TESTS)
14890 if (gRPC_BUILD_TESTS)
14891
14892 add_executable(retry_throttle_test
14893   test/core/client_channel/retry_throttle_test.cc
14894   third_party/googletest/googletest/src/gtest-all.cc
14895   third_party/googletest/googlemock/src/gmock-all.cc
14896 )
14897
14898
14899 target_include_directories(retry_throttle_test
14900   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14901   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14902   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14903   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14904   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14905   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14906   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14907   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14908   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14909   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14910   PRIVATE third_party/googletest/googletest/include
14911   PRIVATE third_party/googletest/googletest
14912   PRIVATE third_party/googletest/googlemock/include
14913   PRIVATE third_party/googletest/googlemock
14914   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14915 )
14916
14917 target_link_libraries(retry_throttle_test
14918   ${_gRPC_PROTOBUF_LIBRARIES}
14919   ${_gRPC_ALLTARGETS_LIBRARIES}
14920   grpc_test_util
14921   grpc
14922   gpr
14923   ${_gRPC_GFLAGS_LIBRARIES}
14924 )
14925
14926
14927 endif (gRPC_BUILD_TESTS)
14928 if (gRPC_BUILD_TESTS)
14929
14930 add_executable(secure_auth_context_test
14931   test/cpp/common/secure_auth_context_test.cc
14932   third_party/googletest/googletest/src/gtest-all.cc
14933   third_party/googletest/googlemock/src/gmock-all.cc
14934 )
14935
14936
14937 target_include_directories(secure_auth_context_test
14938   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14939   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14940   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14941   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14942   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14943   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14944   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14945   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14946   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14947   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14948   PRIVATE third_party/googletest/googletest/include
14949   PRIVATE third_party/googletest/googletest
14950   PRIVATE third_party/googletest/googlemock/include
14951   PRIVATE third_party/googletest/googlemock
14952   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14953 )
14954
14955 target_link_libraries(secure_auth_context_test
14956   ${_gRPC_PROTOBUF_LIBRARIES}
14957   ${_gRPC_ALLTARGETS_LIBRARIES}
14958   grpc++_test_util
14959   grpc_test_util
14960   grpc++
14961   grpc
14962   gpr
14963   ${_gRPC_GFLAGS_LIBRARIES}
14964 )
14965
14966
14967 endif (gRPC_BUILD_TESTS)
14968 if (gRPC_BUILD_TESTS)
14969 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
14970
14971 add_executable(secure_sync_unary_ping_pong_test
14972   test/cpp/qps/secure_sync_unary_ping_pong_test.cc
14973   third_party/googletest/googletest/src/gtest-all.cc
14974   third_party/googletest/googlemock/src/gmock-all.cc
14975 )
14976
14977
14978 target_include_directories(secure_sync_unary_ping_pong_test
14979   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
14980   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
14981   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
14982   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
14983   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
14984   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
14985   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
14986   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
14987   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
14988   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
14989   PRIVATE third_party/googletest/googletest/include
14990   PRIVATE third_party/googletest/googletest
14991   PRIVATE third_party/googletest/googlemock/include
14992   PRIVATE third_party/googletest/googlemock
14993   PRIVATE ${_gRPC_PROTO_GENS_DIR}
14994 )
14995
14996 target_link_libraries(secure_sync_unary_ping_pong_test
14997   ${_gRPC_PROTOBUF_LIBRARIES}
14998   ${_gRPC_ALLTARGETS_LIBRARIES}
14999   qps
15000   grpc++_core_stats
15001   grpc++_test_util
15002   grpc_test_util
15003   grpc++
15004   grpc
15005   gpr
15006   grpc++_test_config
15007   ${_gRPC_GFLAGS_LIBRARIES}
15008 )
15009
15010
15011 endif()
15012 endif (gRPC_BUILD_TESTS)
15013 if (gRPC_BUILD_TESTS)
15014
15015 add_executable(server_builder_plugin_test
15016   test/cpp/end2end/server_builder_plugin_test.cc
15017   third_party/googletest/googletest/src/gtest-all.cc
15018   third_party/googletest/googlemock/src/gmock-all.cc
15019 )
15020
15021
15022 target_include_directories(server_builder_plugin_test
15023   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15024   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15025   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15026   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15027   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15028   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15029   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15030   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15031   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15032   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15033   PRIVATE third_party/googletest/googletest/include
15034   PRIVATE third_party/googletest/googletest
15035   PRIVATE third_party/googletest/googlemock/include
15036   PRIVATE third_party/googletest/googlemock
15037   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15038 )
15039
15040 target_link_libraries(server_builder_plugin_test
15041   ${_gRPC_PROTOBUF_LIBRARIES}
15042   ${_gRPC_ALLTARGETS_LIBRARIES}
15043   grpc++_test_util
15044   grpc_test_util
15045   grpc++
15046   grpc
15047   gpr
15048   ${_gRPC_GFLAGS_LIBRARIES}
15049 )
15050
15051
15052 endif (gRPC_BUILD_TESTS)
15053 if (gRPC_BUILD_TESTS)
15054
15055 add_executable(server_builder_test
15056   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
15057   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
15058   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
15059   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
15060   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
15061   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
15062   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
15063   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
15064   test/cpp/server/server_builder_test.cc
15065   third_party/googletest/googletest/src/gtest-all.cc
15066   third_party/googletest/googlemock/src/gmock-all.cc
15067 )
15068
15069 protobuf_generate_grpc_cpp(
15070   src/proto/grpc/testing/echo_messages.proto
15071 )
15072 protobuf_generate_grpc_cpp(
15073   src/proto/grpc/testing/echo.proto
15074 )
15075
15076 target_include_directories(server_builder_test
15077   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15078   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15079   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15080   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15081   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15082   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15083   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15084   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15085   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15086   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15087   PRIVATE third_party/googletest/googletest/include
15088   PRIVATE third_party/googletest/googletest
15089   PRIVATE third_party/googletest/googlemock/include
15090   PRIVATE third_party/googletest/googlemock
15091   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15092 )
15093
15094 target_link_libraries(server_builder_test
15095   ${_gRPC_PROTOBUF_LIBRARIES}
15096   ${_gRPC_ALLTARGETS_LIBRARIES}
15097   grpc++_test_util_unsecure
15098   grpc_test_util_unsecure
15099   grpc++_unsecure
15100   grpc_unsecure
15101   gpr
15102   ${_gRPC_GFLAGS_LIBRARIES}
15103 )
15104
15105
15106 endif (gRPC_BUILD_TESTS)
15107 if (gRPC_BUILD_TESTS)
15108 if(_gRPC_PLATFORM_POSIX)
15109
15110 add_executable(server_builder_with_socket_mutator_test
15111   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
15112   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
15113   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
15114   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
15115   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
15116   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
15117   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
15118   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
15119   test/cpp/server/server_builder_with_socket_mutator_test.cc
15120   third_party/googletest/googletest/src/gtest-all.cc
15121   third_party/googletest/googlemock/src/gmock-all.cc
15122 )
15123
15124 protobuf_generate_grpc_cpp(
15125   src/proto/grpc/testing/echo_messages.proto
15126 )
15127 protobuf_generate_grpc_cpp(
15128   src/proto/grpc/testing/echo.proto
15129 )
15130
15131 target_include_directories(server_builder_with_socket_mutator_test
15132   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15133   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15134   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15135   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15136   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15137   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15138   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15139   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15140   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15141   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15142   PRIVATE third_party/googletest/googletest/include
15143   PRIVATE third_party/googletest/googletest
15144   PRIVATE third_party/googletest/googlemock/include
15145   PRIVATE third_party/googletest/googlemock
15146   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15147 )
15148
15149 target_link_libraries(server_builder_with_socket_mutator_test
15150   ${_gRPC_PROTOBUF_LIBRARIES}
15151   ${_gRPC_ALLTARGETS_LIBRARIES}
15152   grpc++_test_util_unsecure
15153   grpc_test_util_unsecure
15154   grpc++_unsecure
15155   grpc_unsecure
15156   gpr
15157   ${_gRPC_GFLAGS_LIBRARIES}
15158 )
15159
15160
15161 endif()
15162 endif (gRPC_BUILD_TESTS)
15163 if (gRPC_BUILD_TESTS)
15164
15165 add_executable(server_context_test_spouse_test
15166   test/cpp/test/server_context_test_spouse_test.cc
15167   third_party/googletest/googletest/src/gtest-all.cc
15168   third_party/googletest/googlemock/src/gmock-all.cc
15169 )
15170
15171
15172 target_include_directories(server_context_test_spouse_test
15173   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15174   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15175   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15176   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15177   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15178   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15179   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15180   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15181   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15182   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15183   PRIVATE third_party/googletest/googletest/include
15184   PRIVATE third_party/googletest/googletest
15185   PRIVATE third_party/googletest/googlemock/include
15186   PRIVATE third_party/googletest/googlemock
15187   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15188 )
15189
15190 target_link_libraries(server_context_test_spouse_test
15191   ${_gRPC_PROTOBUF_LIBRARIES}
15192   ${_gRPC_ALLTARGETS_LIBRARIES}
15193   grpc_test_util
15194   grpc++
15195   grpc
15196   gpr
15197   ${_gRPC_GFLAGS_LIBRARIES}
15198 )
15199
15200
15201 endif (gRPC_BUILD_TESTS)
15202 if (gRPC_BUILD_TESTS)
15203 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
15204
15205 add_executable(server_crash_test
15206   test/cpp/end2end/server_crash_test.cc
15207   third_party/googletest/googletest/src/gtest-all.cc
15208   third_party/googletest/googlemock/src/gmock-all.cc
15209 )
15210
15211
15212 target_include_directories(server_crash_test
15213   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15214   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15215   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15216   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15217   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15218   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15219   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15220   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15221   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15222   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15223   PRIVATE third_party/googletest/googletest/include
15224   PRIVATE third_party/googletest/googletest
15225   PRIVATE third_party/googletest/googlemock/include
15226   PRIVATE third_party/googletest/googlemock
15227   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15228 )
15229
15230 target_link_libraries(server_crash_test
15231   ${_gRPC_PROTOBUF_LIBRARIES}
15232   ${_gRPC_ALLTARGETS_LIBRARIES}
15233   grpc++_test_util
15234   grpc_test_util
15235   grpc++
15236   grpc
15237   gpr
15238   ${_gRPC_GFLAGS_LIBRARIES}
15239 )
15240
15241
15242 endif()
15243 endif (gRPC_BUILD_TESTS)
15244 if (gRPC_BUILD_TESTS)
15245
15246 add_executable(server_crash_test_client
15247   test/cpp/end2end/server_crash_test_client.cc
15248   third_party/googletest/googletest/src/gtest-all.cc
15249   third_party/googletest/googlemock/src/gmock-all.cc
15250 )
15251
15252
15253 target_include_directories(server_crash_test_client
15254   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15255   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15256   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15257   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15258   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15259   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15260   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15261   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15262   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15263   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15264   PRIVATE third_party/googletest/googletest/include
15265   PRIVATE third_party/googletest/googletest
15266   PRIVATE third_party/googletest/googlemock/include
15267   PRIVATE third_party/googletest/googlemock
15268   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15269 )
15270
15271 target_link_libraries(server_crash_test_client
15272   ${_gRPC_PROTOBUF_LIBRARIES}
15273   ${_gRPC_ALLTARGETS_LIBRARIES}
15274   grpc++_test_util
15275   grpc_test_util
15276   grpc++
15277   grpc
15278   gpr
15279   ${_gRPC_GFLAGS_LIBRARIES}
15280 )
15281
15282
15283 endif (gRPC_BUILD_TESTS)
15284 if (gRPC_BUILD_TESTS)
15285
15286 add_executable(server_early_return_test
15287   test/cpp/end2end/server_early_return_test.cc
15288   third_party/googletest/googletest/src/gtest-all.cc
15289   third_party/googletest/googlemock/src/gmock-all.cc
15290 )
15291
15292
15293 target_include_directories(server_early_return_test
15294   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15295   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15296   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15297   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15298   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15299   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15300   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15301   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15302   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15303   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15304   PRIVATE third_party/googletest/googletest/include
15305   PRIVATE third_party/googletest/googletest
15306   PRIVATE third_party/googletest/googlemock/include
15307   PRIVATE third_party/googletest/googlemock
15308   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15309 )
15310
15311 target_link_libraries(server_early_return_test
15312   ${_gRPC_PROTOBUF_LIBRARIES}
15313   ${_gRPC_ALLTARGETS_LIBRARIES}
15314   grpc++_test_util
15315   grpc_test_util
15316   grpc++
15317   grpc
15318   gpr
15319   ${_gRPC_GFLAGS_LIBRARIES}
15320 )
15321
15322
15323 endif (gRPC_BUILD_TESTS)
15324 if (gRPC_BUILD_TESTS)
15325
15326 add_executable(server_interceptors_end2end_test
15327   test/cpp/end2end/interceptors_util.cc
15328   test/cpp/end2end/server_interceptors_end2end_test.cc
15329   third_party/googletest/googletest/src/gtest-all.cc
15330   third_party/googletest/googlemock/src/gmock-all.cc
15331 )
15332
15333
15334 target_include_directories(server_interceptors_end2end_test
15335   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15336   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15337   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15338   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15339   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15340   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15341   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15342   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15343   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15344   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15345   PRIVATE third_party/googletest/googletest/include
15346   PRIVATE third_party/googletest/googletest
15347   PRIVATE third_party/googletest/googlemock/include
15348   PRIVATE third_party/googletest/googlemock
15349   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15350 )
15351
15352 target_link_libraries(server_interceptors_end2end_test
15353   ${_gRPC_PROTOBUF_LIBRARIES}
15354   ${_gRPC_ALLTARGETS_LIBRARIES}
15355   grpc++_test_util
15356   grpc_test_util
15357   grpc++
15358   grpc
15359   gpr
15360   ${_gRPC_GFLAGS_LIBRARIES}
15361 )
15362
15363
15364 endif (gRPC_BUILD_TESTS)
15365 if (gRPC_BUILD_TESTS)
15366
15367 add_executable(server_request_call_test
15368   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc
15369   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc
15370   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h
15371   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h
15372   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
15373   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc
15374   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h
15375   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h
15376   test/cpp/server/server_request_call_test.cc
15377   third_party/googletest/googletest/src/gtest-all.cc
15378   third_party/googletest/googlemock/src/gmock-all.cc
15379 )
15380
15381 protobuf_generate_grpc_cpp(
15382   src/proto/grpc/testing/echo_messages.proto
15383 )
15384 protobuf_generate_grpc_cpp(
15385   src/proto/grpc/testing/echo.proto
15386 )
15387
15388 target_include_directories(server_request_call_test
15389   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15390   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15391   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15392   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15393   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15394   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15395   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15396   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15397   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15398   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15399   PRIVATE third_party/googletest/googletest/include
15400   PRIVATE third_party/googletest/googletest
15401   PRIVATE third_party/googletest/googlemock/include
15402   PRIVATE third_party/googletest/googlemock
15403   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15404 )
15405
15406 target_link_libraries(server_request_call_test
15407   ${_gRPC_PROTOBUF_LIBRARIES}
15408   ${_gRPC_ALLTARGETS_LIBRARIES}
15409   grpc++_test_util_unsecure
15410   grpc_test_util_unsecure
15411   grpc++_unsecure
15412   grpc_unsecure
15413   gpr
15414   ${_gRPC_GFLAGS_LIBRARIES}
15415 )
15416
15417
15418 endif (gRPC_BUILD_TESTS)
15419 if (gRPC_BUILD_TESTS)
15420
15421 add_executable(shutdown_test
15422   test/cpp/end2end/shutdown_test.cc
15423   third_party/googletest/googletest/src/gtest-all.cc
15424   third_party/googletest/googlemock/src/gmock-all.cc
15425 )
15426
15427
15428 target_include_directories(shutdown_test
15429   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15430   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15431   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15432   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15433   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15434   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15435   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15436   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15437   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15438   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15439   PRIVATE third_party/googletest/googletest/include
15440   PRIVATE third_party/googletest/googletest
15441   PRIVATE third_party/googletest/googlemock/include
15442   PRIVATE third_party/googletest/googlemock
15443   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15444 )
15445
15446 target_link_libraries(shutdown_test
15447   ${_gRPC_PROTOBUF_LIBRARIES}
15448   ${_gRPC_ALLTARGETS_LIBRARIES}
15449   grpc++_test_util
15450   grpc_test_util
15451   grpc++
15452   grpc
15453   gpr
15454   ${_gRPC_GFLAGS_LIBRARIES}
15455 )
15456
15457
15458 endif (gRPC_BUILD_TESTS)
15459 if (gRPC_BUILD_TESTS)
15460
15461 add_executable(slice_hash_table_test
15462   test/core/slice/slice_hash_table_test.cc
15463   third_party/googletest/googletest/src/gtest-all.cc
15464   third_party/googletest/googlemock/src/gmock-all.cc
15465 )
15466
15467
15468 target_include_directories(slice_hash_table_test
15469   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15470   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15471   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15472   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15473   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15474   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15475   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15476   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15477   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15478   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15479   PRIVATE third_party/googletest/googletest/include
15480   PRIVATE third_party/googletest/googletest
15481   PRIVATE third_party/googletest/googlemock/include
15482   PRIVATE third_party/googletest/googlemock
15483   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15484 )
15485
15486 target_link_libraries(slice_hash_table_test
15487   ${_gRPC_PROTOBUF_LIBRARIES}
15488   ${_gRPC_ALLTARGETS_LIBRARIES}
15489   grpc_test_util
15490   grpc
15491   gpr
15492   ${_gRPC_GFLAGS_LIBRARIES}
15493 )
15494
15495
15496 endif (gRPC_BUILD_TESTS)
15497 if (gRPC_BUILD_TESTS)
15498
15499 add_executable(slice_weak_hash_table_test
15500   test/core/slice/slice_weak_hash_table_test.cc
15501   third_party/googletest/googletest/src/gtest-all.cc
15502   third_party/googletest/googlemock/src/gmock-all.cc
15503 )
15504
15505
15506 target_include_directories(slice_weak_hash_table_test
15507   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15508   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15509   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15510   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15511   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15512   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15513   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15514   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15515   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15516   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15517   PRIVATE third_party/googletest/googletest/include
15518   PRIVATE third_party/googletest/googletest
15519   PRIVATE third_party/googletest/googlemock/include
15520   PRIVATE third_party/googletest/googlemock
15521   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15522 )
15523
15524 target_link_libraries(slice_weak_hash_table_test
15525   ${_gRPC_PROTOBUF_LIBRARIES}
15526   ${_gRPC_ALLTARGETS_LIBRARIES}
15527   grpc_test_util
15528   grpc
15529   gpr
15530   ${_gRPC_GFLAGS_LIBRARIES}
15531 )
15532
15533
15534 endif (gRPC_BUILD_TESTS)
15535 if (gRPC_BUILD_TESTS)
15536
15537 add_executable(stats_test
15538   test/core/debug/stats_test.cc
15539   third_party/googletest/googletest/src/gtest-all.cc
15540   third_party/googletest/googlemock/src/gmock-all.cc
15541 )
15542
15543
15544 target_include_directories(stats_test
15545   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15546   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15547   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15548   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15549   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15550   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15551   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15552   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15553   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15554   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15555   PRIVATE third_party/googletest/googletest/include
15556   PRIVATE third_party/googletest/googletest
15557   PRIVATE third_party/googletest/googlemock/include
15558   PRIVATE third_party/googletest/googlemock
15559   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15560 )
15561
15562 target_link_libraries(stats_test
15563   ${_gRPC_PROTOBUF_LIBRARIES}
15564   ${_gRPC_ALLTARGETS_LIBRARIES}
15565   grpc++_test_util
15566   grpc_test_util
15567   grpc
15568   gpr
15569   ${_gRPC_GFLAGS_LIBRARIES}
15570 )
15571
15572
15573 endif (gRPC_BUILD_TESTS)
15574 if (gRPC_BUILD_TESTS)
15575
15576 add_executable(status_metadata_test
15577   test/core/transport/status_metadata_test.cc
15578   third_party/googletest/googletest/src/gtest-all.cc
15579   third_party/googletest/googlemock/src/gmock-all.cc
15580 )
15581
15582
15583 target_include_directories(status_metadata_test
15584   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15585   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15586   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15587   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15588   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15589   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15590   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15591   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15592   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15593   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15594   PRIVATE third_party/googletest/googletest/include
15595   PRIVATE third_party/googletest/googletest
15596   PRIVATE third_party/googletest/googlemock/include
15597   PRIVATE third_party/googletest/googlemock
15598   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15599 )
15600
15601 target_link_libraries(status_metadata_test
15602   ${_gRPC_PROTOBUF_LIBRARIES}
15603   ${_gRPC_ALLTARGETS_LIBRARIES}
15604   grpc
15605   ${_gRPC_GFLAGS_LIBRARIES}
15606 )
15607
15608
15609 endif (gRPC_BUILD_TESTS)
15610 if (gRPC_BUILD_TESTS)
15611
15612 add_executable(status_util_test
15613   test/core/channel/status_util_test.cc
15614   third_party/googletest/googletest/src/gtest-all.cc
15615   third_party/googletest/googlemock/src/gmock-all.cc
15616 )
15617
15618
15619 target_include_directories(status_util_test
15620   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15621   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15622   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15623   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15624   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15625   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15626   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15627   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15628   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15629   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15630   PRIVATE third_party/googletest/googletest/include
15631   PRIVATE third_party/googletest/googletest
15632   PRIVATE third_party/googletest/googlemock/include
15633   PRIVATE third_party/googletest/googlemock
15634   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15635 )
15636
15637 target_link_libraries(status_util_test
15638   ${_gRPC_PROTOBUF_LIBRARIES}
15639   ${_gRPC_ALLTARGETS_LIBRARIES}
15640   grpc
15641   ${_gRPC_GFLAGS_LIBRARIES}
15642 )
15643
15644
15645 endif (gRPC_BUILD_TESTS)
15646 if (gRPC_BUILD_TESTS)
15647 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
15648
15649 add_executable(streaming_throughput_test
15650   test/cpp/end2end/streaming_throughput_test.cc
15651   third_party/googletest/googletest/src/gtest-all.cc
15652   third_party/googletest/googlemock/src/gmock-all.cc
15653 )
15654
15655
15656 target_include_directories(streaming_throughput_test
15657   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15658   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15659   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15660   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15661   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15662   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15663   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15664   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15665   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15666   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15667   PRIVATE third_party/googletest/googletest/include
15668   PRIVATE third_party/googletest/googletest
15669   PRIVATE third_party/googletest/googlemock/include
15670   PRIVATE third_party/googletest/googlemock
15671   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15672 )
15673
15674 target_link_libraries(streaming_throughput_test
15675   ${_gRPC_PROTOBUF_LIBRARIES}
15676   ${_gRPC_ALLTARGETS_LIBRARIES}
15677   grpc++_test_util
15678   grpc_test_util
15679   grpc++
15680   grpc
15681   gpr
15682   ${_gRPC_GFLAGS_LIBRARIES}
15683 )
15684
15685
15686 endif()
15687 endif (gRPC_BUILD_TESTS)
15688 if (gRPC_BUILD_TESTS)
15689
15690 add_executable(stress_test
15691   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc
15692   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc
15693   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h
15694   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h
15695   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc
15696   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc
15697   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h
15698   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h
15699   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.pb.cc
15700   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.grpc.pb.cc
15701   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.pb.h
15702   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/metrics.grpc.pb.h
15703   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc
15704   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc
15705   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h
15706   ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h
15707   test/cpp/interop/interop_client.cc
15708   test/cpp/interop/stress_interop_client.cc
15709   test/cpp/interop/stress_test.cc
15710   test/cpp/util/metrics_server.cc
15711   third_party/googletest/googletest/src/gtest-all.cc
15712   third_party/googletest/googlemock/src/gmock-all.cc
15713 )
15714
15715 protobuf_generate_grpc_cpp(
15716   src/proto/grpc/testing/empty.proto
15717 )
15718 protobuf_generate_grpc_cpp(
15719   src/proto/grpc/testing/messages.proto
15720 )
15721 protobuf_generate_grpc_cpp(
15722   src/proto/grpc/testing/metrics.proto
15723 )
15724 protobuf_generate_grpc_cpp(
15725   src/proto/grpc/testing/test.proto
15726 )
15727
15728 target_include_directories(stress_test
15729   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15730   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15731   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15732   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15733   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15734   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15735   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15736   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15737   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15738   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15739   PRIVATE third_party/googletest/googletest/include
15740   PRIVATE third_party/googletest/googletest
15741   PRIVATE third_party/googletest/googlemock/include
15742   PRIVATE third_party/googletest/googlemock
15743   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15744 )
15745
15746 target_link_libraries(stress_test
15747   ${_gRPC_PROTOBUF_LIBRARIES}
15748   ${_gRPC_ALLTARGETS_LIBRARIES}
15749   grpc++_test_util
15750   grpc_test_util
15751   grpc++
15752   grpc
15753   gpr
15754   grpc++_test_config
15755   ${_gRPC_GFLAGS_LIBRARIES}
15756 )
15757
15758
15759 endif (gRPC_BUILD_TESTS)
15760 if (gRPC_BUILD_TESTS)
15761
15762 add_executable(thread_manager_test
15763   test/cpp/thread_manager/thread_manager_test.cc
15764   third_party/googletest/googletest/src/gtest-all.cc
15765   third_party/googletest/googlemock/src/gmock-all.cc
15766 )
15767
15768
15769 target_include_directories(thread_manager_test
15770   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15771   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15772   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15773   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15774   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15775   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15776   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15777   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15778   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15779   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15780   PRIVATE third_party/googletest/googletest/include
15781   PRIVATE third_party/googletest/googletest
15782   PRIVATE third_party/googletest/googlemock/include
15783   PRIVATE third_party/googletest/googlemock
15784   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15785 )
15786
15787 target_link_libraries(thread_manager_test
15788   ${_gRPC_PROTOBUF_LIBRARIES}
15789   ${_gRPC_ALLTARGETS_LIBRARIES}
15790   grpc++_unsecure
15791   grpc_unsecure
15792   gpr
15793   grpc++_test_config
15794   ${_gRPC_GFLAGS_LIBRARIES}
15795 )
15796
15797
15798 endif (gRPC_BUILD_TESTS)
15799 if (gRPC_BUILD_TESTS)
15800
15801 add_executable(thread_stress_test
15802   test/cpp/end2end/thread_stress_test.cc
15803   third_party/googletest/googletest/src/gtest-all.cc
15804   third_party/googletest/googlemock/src/gmock-all.cc
15805 )
15806
15807
15808 target_include_directories(thread_stress_test
15809   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15810   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15811   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15812   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15813   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15814   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15815   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15816   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15817   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15818   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15819   PRIVATE third_party/googletest/googletest/include
15820   PRIVATE third_party/googletest/googletest
15821   PRIVATE third_party/googletest/googlemock/include
15822   PRIVATE third_party/googletest/googlemock
15823   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15824 )
15825
15826 target_link_libraries(thread_stress_test
15827   ${_gRPC_PROTOBUF_LIBRARIES}
15828   ${_gRPC_ALLTARGETS_LIBRARIES}
15829   grpc++_test_util_unsecure
15830   grpc_test_util_unsecure
15831   grpc++_unsecure
15832   grpc_unsecure
15833   gpr
15834   ${_gRPC_GFLAGS_LIBRARIES}
15835 )
15836
15837
15838 endif (gRPC_BUILD_TESTS)
15839 if (gRPC_BUILD_TESTS)
15840
15841 add_executable(transport_pid_controller_test
15842   test/core/transport/pid_controller_test.cc
15843   third_party/googletest/googletest/src/gtest-all.cc
15844   third_party/googletest/googlemock/src/gmock-all.cc
15845 )
15846
15847
15848 target_include_directories(transport_pid_controller_test
15849   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15850   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15851   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15852   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15853   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15854   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15855   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15856   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15857   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15858   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15859   PRIVATE third_party/googletest/googletest/include
15860   PRIVATE third_party/googletest/googletest
15861   PRIVATE third_party/googletest/googlemock/include
15862   PRIVATE third_party/googletest/googlemock
15863   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15864 )
15865
15866 target_link_libraries(transport_pid_controller_test
15867   ${_gRPC_PROTOBUF_LIBRARIES}
15868   ${_gRPC_ALLTARGETS_LIBRARIES}
15869   grpc++_test_util
15870   grpc++
15871   grpc_test_util
15872   grpc
15873   gpr
15874   ${_gRPC_GFLAGS_LIBRARIES}
15875 )
15876
15877
15878 endif (gRPC_BUILD_TESTS)
15879 if (gRPC_BUILD_TESTS)
15880
15881 add_executable(transport_security_common_api_test
15882   test/core/tsi/alts/handshaker/transport_security_common_api_test.cc
15883   third_party/googletest/googletest/src/gtest-all.cc
15884   third_party/googletest/googlemock/src/gmock-all.cc
15885 )
15886
15887
15888 target_include_directories(transport_security_common_api_test
15889   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15890   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15891   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15892   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15893   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15894   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15895   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15896   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15897   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15898   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15899   PRIVATE third_party/googletest/googletest/include
15900   PRIVATE third_party/googletest/googletest
15901   PRIVATE third_party/googletest/googlemock/include
15902   PRIVATE third_party/googletest/googlemock
15903   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15904 )
15905
15906 target_link_libraries(transport_security_common_api_test
15907   ${_gRPC_PROTOBUF_LIBRARIES}
15908   ${_gRPC_ALLTARGETS_LIBRARIES}
15909   alts_test_util
15910   gpr
15911   grpc
15912   ${_gRPC_GFLAGS_LIBRARIES}
15913 )
15914
15915
15916 endif (gRPC_BUILD_TESTS)
15917 if (gRPC_BUILD_TESTS)
15918 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
15919
15920 add_executable(writes_per_rpc_test
15921   test/cpp/performance/writes_per_rpc_test.cc
15922   third_party/googletest/googletest/src/gtest-all.cc
15923   third_party/googletest/googlemock/src/gmock-all.cc
15924 )
15925
15926
15927 target_include_directories(writes_per_rpc_test
15928   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15929   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15930   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15931   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15932   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15933   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15934   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15935   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15936   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15937   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15938   PRIVATE third_party/googletest/googletest/include
15939   PRIVATE third_party/googletest/googletest
15940   PRIVATE third_party/googletest/googlemock/include
15941   PRIVATE third_party/googletest/googlemock
15942   PRIVATE ${_gRPC_PROTO_GENS_DIR}
15943 )
15944
15945 target_link_libraries(writes_per_rpc_test
15946   ${_gRPC_PROTOBUF_LIBRARIES}
15947   ${_gRPC_ALLTARGETS_LIBRARIES}
15948   grpc++_test_util
15949   grpc_test_util
15950   grpc++
15951   grpc
15952   gpr
15953   ${_gRPC_GFLAGS_LIBRARIES}
15954 )
15955
15956
15957 endif()
15958 endif (gRPC_BUILD_TESTS)
15959 if (gRPC_BUILD_TESTS)
15960
15961 add_executable(public_headers_must_be_c89
15962   test/core/surface/public_headers_must_be_c89.c
15963 )
15964
15965
15966 target_include_directories(public_headers_must_be_c89
15967   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15968   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15969   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15970   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15971   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15972   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
15973   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
15974   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
15975   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
15976   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
15977 )
15978
15979 target_link_libraries(public_headers_must_be_c89
15980   ${_gRPC_ALLTARGETS_LIBRARIES}
15981   grpc
15982   gpr
15983 )
15984
15985
15986 endif (gRPC_BUILD_TESTS)
15987
15988 add_executable(gen_hpack_tables
15989   tools/codegen/core/gen_hpack_tables.cc
15990 )
15991
15992
15993 target_include_directories(gen_hpack_tables
15994   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
15995   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
15996   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
15997   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
15998   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
15999   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16000   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16001   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16002   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16003   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16004 )
16005
16006 target_link_libraries(gen_hpack_tables
16007   ${_gRPC_ALLTARGETS_LIBRARIES}
16008   gpr
16009   grpc
16010 )
16011
16012
16013
16014 add_executable(gen_legal_metadata_characters
16015   tools/codegen/core/gen_legal_metadata_characters.cc
16016 )
16017
16018
16019 target_include_directories(gen_legal_metadata_characters
16020   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16021   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16022   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16023   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16024   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16025   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16026   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16027   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16028   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16029   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16030 )
16031
16032 target_link_libraries(gen_legal_metadata_characters
16033   ${_gRPC_ALLTARGETS_LIBRARIES}
16034 )
16035
16036
16037
16038 add_executable(gen_percent_encoding_tables
16039   tools/codegen/core/gen_percent_encoding_tables.cc
16040 )
16041
16042
16043 target_include_directories(gen_percent_encoding_tables
16044   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16045   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16046   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16047   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16048   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16049   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16050   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16051   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16052   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16053   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16054 )
16055
16056 target_link_libraries(gen_percent_encoding_tables
16057   ${_gRPC_ALLTARGETS_LIBRARIES}
16058 )
16059
16060
16061 if (gRPC_BUILD_TESTS)
16062
16063 add_executable(badreq_bad_client_test
16064   test/core/bad_client/tests/badreq.cc
16065 )
16066
16067
16068 target_include_directories(badreq_bad_client_test
16069   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16070   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16071   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16072   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16073   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16074   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16075   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16076   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16077   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16078   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16079 )
16080
16081 target_link_libraries(badreq_bad_client_test
16082   ${_gRPC_SSL_LIBRARIES}
16083   ${_gRPC_ALLTARGETS_LIBRARIES}
16084   bad_client_test
16085   grpc_test_util_unsecure
16086   grpc_unsecure
16087   gpr
16088 )
16089
16090   # avoid dependency on libstdc++
16091   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16092     set_target_properties(badreq_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16093     target_compile_options(badreq_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16094   endif()
16095
16096 endif (gRPC_BUILD_TESTS)
16097 if (gRPC_BUILD_TESTS)
16098
16099 add_executable(connection_prefix_bad_client_test
16100   test/core/bad_client/tests/connection_prefix.cc
16101 )
16102
16103
16104 target_include_directories(connection_prefix_bad_client_test
16105   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16106   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16107   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16108   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16109   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16110   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16111   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16112   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16113   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16114   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16115 )
16116
16117 target_link_libraries(connection_prefix_bad_client_test
16118   ${_gRPC_SSL_LIBRARIES}
16119   ${_gRPC_ALLTARGETS_LIBRARIES}
16120   bad_client_test
16121   grpc_test_util_unsecure
16122   grpc_unsecure
16123   gpr
16124 )
16125
16126   # avoid dependency on libstdc++
16127   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16128     set_target_properties(connection_prefix_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16129     target_compile_options(connection_prefix_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16130   endif()
16131
16132 endif (gRPC_BUILD_TESTS)
16133 if (gRPC_BUILD_TESTS)
16134
16135 add_executable(duplicate_header_bad_client_test
16136   test/core/bad_client/tests/duplicate_header.cc
16137 )
16138
16139
16140 target_include_directories(duplicate_header_bad_client_test
16141   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16142   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16143   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16144   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16145   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16146   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16147   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16148   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16149   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16150   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16151 )
16152
16153 target_link_libraries(duplicate_header_bad_client_test
16154   ${_gRPC_SSL_LIBRARIES}
16155   ${_gRPC_ALLTARGETS_LIBRARIES}
16156   bad_client_test
16157   grpc_test_util_unsecure
16158   grpc_unsecure
16159   gpr
16160 )
16161
16162   # avoid dependency on libstdc++
16163   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16164     set_target_properties(duplicate_header_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16165     target_compile_options(duplicate_header_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16166   endif()
16167
16168 endif (gRPC_BUILD_TESTS)
16169 if (gRPC_BUILD_TESTS)
16170
16171 add_executable(head_of_line_blocking_bad_client_test
16172   test/core/bad_client/tests/head_of_line_blocking.cc
16173 )
16174
16175
16176 target_include_directories(head_of_line_blocking_bad_client_test
16177   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16178   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16179   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16180   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16181   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16182   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16183   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16184   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16185   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16186   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16187 )
16188
16189 target_link_libraries(head_of_line_blocking_bad_client_test
16190   ${_gRPC_SSL_LIBRARIES}
16191   ${_gRPC_ALLTARGETS_LIBRARIES}
16192   bad_client_test
16193   grpc_test_util_unsecure
16194   grpc_unsecure
16195   gpr
16196 )
16197
16198   # avoid dependency on libstdc++
16199   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16200     set_target_properties(head_of_line_blocking_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16201     target_compile_options(head_of_line_blocking_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16202   endif()
16203
16204 endif (gRPC_BUILD_TESTS)
16205 if (gRPC_BUILD_TESTS)
16206
16207 add_executable(headers_bad_client_test
16208   test/core/bad_client/tests/headers.cc
16209 )
16210
16211
16212 target_include_directories(headers_bad_client_test
16213   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16214   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16215   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16216   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16217   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16218   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16219   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16220   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16221   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16222   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16223 )
16224
16225 target_link_libraries(headers_bad_client_test
16226   ${_gRPC_SSL_LIBRARIES}
16227   ${_gRPC_ALLTARGETS_LIBRARIES}
16228   bad_client_test
16229   grpc_test_util_unsecure
16230   grpc_unsecure
16231   gpr
16232 )
16233
16234   # avoid dependency on libstdc++
16235   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16236     set_target_properties(headers_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16237     target_compile_options(headers_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16238   endif()
16239
16240 endif (gRPC_BUILD_TESTS)
16241 if (gRPC_BUILD_TESTS)
16242
16243 add_executable(initial_settings_frame_bad_client_test
16244   test/core/bad_client/tests/initial_settings_frame.cc
16245 )
16246
16247
16248 target_include_directories(initial_settings_frame_bad_client_test
16249   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16250   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16251   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16252   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16253   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16254   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16255   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16256   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16257   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16258   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16259 )
16260
16261 target_link_libraries(initial_settings_frame_bad_client_test
16262   ${_gRPC_SSL_LIBRARIES}
16263   ${_gRPC_ALLTARGETS_LIBRARIES}
16264   bad_client_test
16265   grpc_test_util_unsecure
16266   grpc_unsecure
16267   gpr
16268 )
16269
16270   # avoid dependency on libstdc++
16271   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16272     set_target_properties(initial_settings_frame_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16273     target_compile_options(initial_settings_frame_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16274   endif()
16275
16276 endif (gRPC_BUILD_TESTS)
16277 if (gRPC_BUILD_TESTS)
16278
16279 add_executable(large_metadata_bad_client_test
16280   test/core/bad_client/tests/large_metadata.cc
16281 )
16282
16283
16284 target_include_directories(large_metadata_bad_client_test
16285   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16286   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16287   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16288   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16289   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16290   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16291   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16292   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16293   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16294   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16295 )
16296
16297 target_link_libraries(large_metadata_bad_client_test
16298   ${_gRPC_SSL_LIBRARIES}
16299   ${_gRPC_ALLTARGETS_LIBRARIES}
16300   bad_client_test
16301   grpc_test_util_unsecure
16302   grpc_unsecure
16303   gpr
16304 )
16305
16306   # avoid dependency on libstdc++
16307   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16308     set_target_properties(large_metadata_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16309     target_compile_options(large_metadata_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16310   endif()
16311
16312 endif (gRPC_BUILD_TESTS)
16313 if (gRPC_BUILD_TESTS)
16314
16315 add_executable(server_registered_method_bad_client_test
16316   test/core/bad_client/tests/server_registered_method.cc
16317 )
16318
16319
16320 target_include_directories(server_registered_method_bad_client_test
16321   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16322   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16323   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16324   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16325   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16326   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16327   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16328   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16329   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16330   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16331 )
16332
16333 target_link_libraries(server_registered_method_bad_client_test
16334   ${_gRPC_SSL_LIBRARIES}
16335   ${_gRPC_ALLTARGETS_LIBRARIES}
16336   bad_client_test
16337   grpc_test_util_unsecure
16338   grpc_unsecure
16339   gpr
16340 )
16341
16342   # avoid dependency on libstdc++
16343   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16344     set_target_properties(server_registered_method_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16345     target_compile_options(server_registered_method_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16346   endif()
16347
16348 endif (gRPC_BUILD_TESTS)
16349 if (gRPC_BUILD_TESTS)
16350
16351 add_executable(simple_request_bad_client_test
16352   test/core/bad_client/tests/simple_request.cc
16353 )
16354
16355
16356 target_include_directories(simple_request_bad_client_test
16357   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16358   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16359   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16360   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16361   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16362   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16363   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16364   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16365   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16366   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16367 )
16368
16369 target_link_libraries(simple_request_bad_client_test
16370   ${_gRPC_SSL_LIBRARIES}
16371   ${_gRPC_ALLTARGETS_LIBRARIES}
16372   bad_client_test
16373   grpc_test_util_unsecure
16374   grpc_unsecure
16375   gpr
16376 )
16377
16378   # avoid dependency on libstdc++
16379   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16380     set_target_properties(simple_request_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16381     target_compile_options(simple_request_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16382   endif()
16383
16384 endif (gRPC_BUILD_TESTS)
16385 if (gRPC_BUILD_TESTS)
16386
16387 add_executable(unknown_frame_bad_client_test
16388   test/core/bad_client/tests/unknown_frame.cc
16389 )
16390
16391
16392 target_include_directories(unknown_frame_bad_client_test
16393   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16394   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16395   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16396   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16397   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16398   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16399   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16400   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16401   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16402   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16403 )
16404
16405 target_link_libraries(unknown_frame_bad_client_test
16406   ${_gRPC_SSL_LIBRARIES}
16407   ${_gRPC_ALLTARGETS_LIBRARIES}
16408   bad_client_test
16409   grpc_test_util_unsecure
16410   grpc_unsecure
16411   gpr
16412 )
16413
16414   # avoid dependency on libstdc++
16415   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16416     set_target_properties(unknown_frame_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16417     target_compile_options(unknown_frame_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16418   endif()
16419
16420 endif (gRPC_BUILD_TESTS)
16421 if (gRPC_BUILD_TESTS)
16422
16423 add_executable(window_overflow_bad_client_test
16424   test/core/bad_client/tests/window_overflow.cc
16425 )
16426
16427
16428 target_include_directories(window_overflow_bad_client_test
16429   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16430   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16431   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16432   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16433   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16434   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16435   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16436   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16437   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16438   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16439 )
16440
16441 target_link_libraries(window_overflow_bad_client_test
16442   ${_gRPC_SSL_LIBRARIES}
16443   ${_gRPC_ALLTARGETS_LIBRARIES}
16444   bad_client_test
16445   grpc_test_util_unsecure
16446   grpc_unsecure
16447   gpr
16448 )
16449
16450   # avoid dependency on libstdc++
16451   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16452     set_target_properties(window_overflow_bad_client_test PROPERTIES LINKER_LANGUAGE C)
16453     target_compile_options(window_overflow_bad_client_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16454   endif()
16455
16456 endif (gRPC_BUILD_TESTS)
16457 if (gRPC_BUILD_TESTS)
16458 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16459
16460 add_executable(bad_ssl_cert_server
16461   test/core/bad_ssl/servers/cert.cc
16462 )
16463
16464
16465 target_include_directories(bad_ssl_cert_server
16466   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16467   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16468   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16469   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16470   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16471   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16472   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16473   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16474   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16475   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16476 )
16477
16478 target_link_libraries(bad_ssl_cert_server
16479   ${_gRPC_ALLTARGETS_LIBRARIES}
16480   bad_ssl_test_server
16481   grpc_test_util
16482   grpc
16483   gpr
16484 )
16485
16486   # avoid dependency on libstdc++
16487   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16488     set_target_properties(bad_ssl_cert_server PROPERTIES LINKER_LANGUAGE C)
16489     target_compile_options(bad_ssl_cert_server PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16490   endif()
16491
16492 endif()
16493 endif (gRPC_BUILD_TESTS)
16494 if (gRPC_BUILD_TESTS)
16495 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16496
16497 add_executable(bad_ssl_cert_test
16498   test/core/bad_ssl/bad_ssl_test.cc
16499 )
16500
16501
16502 target_include_directories(bad_ssl_cert_test
16503   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16504   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16505   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16506   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16507   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16508   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16509   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16510   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16511   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16512   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16513 )
16514
16515 target_link_libraries(bad_ssl_cert_test
16516   ${_gRPC_ALLTARGETS_LIBRARIES}
16517   grpc_test_util
16518   grpc
16519   gpr
16520 )
16521
16522   # avoid dependency on libstdc++
16523   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16524     set_target_properties(bad_ssl_cert_test PROPERTIES LINKER_LANGUAGE C)
16525     target_compile_options(bad_ssl_cert_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16526   endif()
16527
16528 endif()
16529 endif (gRPC_BUILD_TESTS)
16530 if (gRPC_BUILD_TESTS)
16531
16532 add_executable(h2_census_test
16533   test/core/end2end/fixtures/h2_census.cc
16534 )
16535
16536
16537 target_include_directories(h2_census_test
16538   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16539   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16540   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16541   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16542   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16543   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16544   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16545   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16546   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16547   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16548 )
16549
16550 target_link_libraries(h2_census_test
16551   ${_gRPC_ALLTARGETS_LIBRARIES}
16552   end2end_tests
16553   grpc_test_util
16554   grpc
16555   gpr
16556 )
16557
16558   # avoid dependency on libstdc++
16559   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16560     set_target_properties(h2_census_test PROPERTIES LINKER_LANGUAGE C)
16561     target_compile_options(h2_census_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16562   endif()
16563
16564 endif (gRPC_BUILD_TESTS)
16565 if (gRPC_BUILD_TESTS)
16566
16567 add_executable(h2_compress_test
16568   test/core/end2end/fixtures/h2_compress.cc
16569 )
16570
16571
16572 target_include_directories(h2_compress_test
16573   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16574   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16575   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16576   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16577   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16578   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16579   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16580   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16581   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16582   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16583 )
16584
16585 target_link_libraries(h2_compress_test
16586   ${_gRPC_ALLTARGETS_LIBRARIES}
16587   end2end_tests
16588   grpc_test_util
16589   grpc
16590   gpr
16591 )
16592
16593   # avoid dependency on libstdc++
16594   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16595     set_target_properties(h2_compress_test PROPERTIES LINKER_LANGUAGE C)
16596     target_compile_options(h2_compress_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16597   endif()
16598
16599 endif (gRPC_BUILD_TESTS)
16600 if (gRPC_BUILD_TESTS)
16601
16602 add_executable(h2_fakesec_test
16603   test/core/end2end/fixtures/h2_fakesec.cc
16604 )
16605
16606
16607 target_include_directories(h2_fakesec_test
16608   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16609   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16610   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16611   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16612   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16613   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16614   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16615   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16616   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16617   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16618 )
16619
16620 target_link_libraries(h2_fakesec_test
16621   ${_gRPC_ALLTARGETS_LIBRARIES}
16622   end2end_tests
16623   grpc_test_util
16624   grpc
16625   gpr
16626 )
16627
16628   # avoid dependency on libstdc++
16629   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16630     set_target_properties(h2_fakesec_test PROPERTIES LINKER_LANGUAGE C)
16631     target_compile_options(h2_fakesec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16632   endif()
16633
16634 endif (gRPC_BUILD_TESTS)
16635 if (gRPC_BUILD_TESTS)
16636 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16637
16638 add_executable(h2_fd_test
16639   test/core/end2end/fixtures/h2_fd.cc
16640 )
16641
16642
16643 target_include_directories(h2_fd_test
16644   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16645   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16646   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16647   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16648   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16649   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16650   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16651   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16652   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16653   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16654 )
16655
16656 target_link_libraries(h2_fd_test
16657   ${_gRPC_ALLTARGETS_LIBRARIES}
16658   end2end_tests
16659   grpc_test_util
16660   grpc
16661   gpr
16662 )
16663
16664   # avoid dependency on libstdc++
16665   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16666     set_target_properties(h2_fd_test PROPERTIES LINKER_LANGUAGE C)
16667     target_compile_options(h2_fd_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16668   endif()
16669
16670 endif()
16671 endif (gRPC_BUILD_TESTS)
16672 if (gRPC_BUILD_TESTS)
16673
16674 add_executable(h2_full_test
16675   test/core/end2end/fixtures/h2_full.cc
16676 )
16677
16678
16679 target_include_directories(h2_full_test
16680   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16681   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16682   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16683   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16684   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16685   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16686   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16687   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16688   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16689   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16690 )
16691
16692 target_link_libraries(h2_full_test
16693   ${_gRPC_ALLTARGETS_LIBRARIES}
16694   end2end_tests
16695   grpc_test_util
16696   grpc
16697   gpr
16698 )
16699
16700   # avoid dependency on libstdc++
16701   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16702     set_target_properties(h2_full_test PROPERTIES LINKER_LANGUAGE C)
16703     target_compile_options(h2_full_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16704   endif()
16705
16706 endif (gRPC_BUILD_TESTS)
16707 if (gRPC_BUILD_TESTS)
16708 if(_gRPC_PLATFORM_LINUX)
16709
16710 add_executable(h2_full+pipe_test
16711   test/core/end2end/fixtures/h2_full+pipe.cc
16712 )
16713
16714
16715 target_include_directories(h2_full+pipe_test
16716   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16717   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16718   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16719   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16720   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16721   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16722   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16723   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16724   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16725   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16726 )
16727
16728 target_link_libraries(h2_full+pipe_test
16729   ${_gRPC_ALLTARGETS_LIBRARIES}
16730   end2end_tests
16731   grpc_test_util
16732   grpc
16733   gpr
16734 )
16735
16736   # avoid dependency on libstdc++
16737   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16738     set_target_properties(h2_full+pipe_test PROPERTIES LINKER_LANGUAGE C)
16739     target_compile_options(h2_full+pipe_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16740   endif()
16741
16742 endif()
16743 endif (gRPC_BUILD_TESTS)
16744 if (gRPC_BUILD_TESTS)
16745
16746 add_executable(h2_full+trace_test
16747   test/core/end2end/fixtures/h2_full+trace.cc
16748 )
16749
16750
16751 target_include_directories(h2_full+trace_test
16752   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16753   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16754   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16755   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16756   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16757   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16758   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16759   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16760   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16761   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16762 )
16763
16764 target_link_libraries(h2_full+trace_test
16765   ${_gRPC_ALLTARGETS_LIBRARIES}
16766   end2end_tests
16767   grpc_test_util
16768   grpc
16769   gpr
16770 )
16771
16772   # avoid dependency on libstdc++
16773   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16774     set_target_properties(h2_full+trace_test PROPERTIES LINKER_LANGUAGE C)
16775     target_compile_options(h2_full+trace_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16776   endif()
16777
16778 endif (gRPC_BUILD_TESTS)
16779 if (gRPC_BUILD_TESTS)
16780
16781 add_executable(h2_full+workarounds_test
16782   test/core/end2end/fixtures/h2_full+workarounds.cc
16783 )
16784
16785
16786 target_include_directories(h2_full+workarounds_test
16787   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16788   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16789   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16790   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16791   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16792   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16793   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16794   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16795   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16796   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16797 )
16798
16799 target_link_libraries(h2_full+workarounds_test
16800   ${_gRPC_ALLTARGETS_LIBRARIES}
16801   end2end_tests
16802   grpc_test_util
16803   grpc
16804   gpr
16805 )
16806
16807   # avoid dependency on libstdc++
16808   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16809     set_target_properties(h2_full+workarounds_test PROPERTIES LINKER_LANGUAGE C)
16810     target_compile_options(h2_full+workarounds_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16811   endif()
16812
16813 endif (gRPC_BUILD_TESTS)
16814 if (gRPC_BUILD_TESTS)
16815
16816 add_executable(h2_http_proxy_test
16817   test/core/end2end/fixtures/h2_http_proxy.cc
16818 )
16819
16820
16821 target_include_directories(h2_http_proxy_test
16822   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16823   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16824   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16825   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16826   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16827   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16828   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16829   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16830   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16831   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16832 )
16833
16834 target_link_libraries(h2_http_proxy_test
16835   ${_gRPC_ALLTARGETS_LIBRARIES}
16836   end2end_tests
16837   grpc_test_util
16838   grpc
16839   gpr
16840 )
16841
16842   # avoid dependency on libstdc++
16843   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16844     set_target_properties(h2_http_proxy_test PROPERTIES LINKER_LANGUAGE C)
16845     target_compile_options(h2_http_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16846   endif()
16847
16848 endif (gRPC_BUILD_TESTS)
16849 if (gRPC_BUILD_TESTS)
16850 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16851
16852 add_executable(h2_local_ipv4_test
16853   test/core/end2end/fixtures/h2_local_ipv4.cc
16854 )
16855
16856
16857 target_include_directories(h2_local_ipv4_test
16858   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16859   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16860   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16861   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16862   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16863   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16864   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16865   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16866   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16867   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16868 )
16869
16870 target_link_libraries(h2_local_ipv4_test
16871   ${_gRPC_ALLTARGETS_LIBRARIES}
16872   end2end_tests
16873   grpc_test_util
16874   grpc
16875   gpr
16876 )
16877
16878   # avoid dependency on libstdc++
16879   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16880     set_target_properties(h2_local_ipv4_test PROPERTIES LINKER_LANGUAGE C)
16881     target_compile_options(h2_local_ipv4_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16882   endif()
16883
16884 endif()
16885 endif (gRPC_BUILD_TESTS)
16886 if (gRPC_BUILD_TESTS)
16887 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16888
16889 add_executable(h2_local_ipv6_test
16890   test/core/end2end/fixtures/h2_local_ipv6.cc
16891 )
16892
16893
16894 target_include_directories(h2_local_ipv6_test
16895   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16896   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16897   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16898   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16899   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16900   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16901   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16902   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16903   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16904   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16905 )
16906
16907 target_link_libraries(h2_local_ipv6_test
16908   ${_gRPC_ALLTARGETS_LIBRARIES}
16909   end2end_tests
16910   grpc_test_util
16911   grpc
16912   gpr
16913 )
16914
16915   # avoid dependency on libstdc++
16916   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16917     set_target_properties(h2_local_ipv6_test PROPERTIES LINKER_LANGUAGE C)
16918     target_compile_options(h2_local_ipv6_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16919   endif()
16920
16921 endif()
16922 endif (gRPC_BUILD_TESTS)
16923 if (gRPC_BUILD_TESTS)
16924 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
16925
16926 add_executable(h2_local_uds_test
16927   test/core/end2end/fixtures/h2_local_uds.cc
16928 )
16929
16930
16931 target_include_directories(h2_local_uds_test
16932   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16933   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16934   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16935   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16936   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16937   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16938   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16939   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16940   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16941   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16942 )
16943
16944 target_link_libraries(h2_local_uds_test
16945   ${_gRPC_ALLTARGETS_LIBRARIES}
16946   end2end_tests
16947   grpc_test_util
16948   grpc
16949   gpr
16950 )
16951
16952   # avoid dependency on libstdc++
16953   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16954     set_target_properties(h2_local_uds_test PROPERTIES LINKER_LANGUAGE C)
16955     target_compile_options(h2_local_uds_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16956   endif()
16957
16958 endif()
16959 endif (gRPC_BUILD_TESTS)
16960 if (gRPC_BUILD_TESTS)
16961
16962 add_executable(h2_oauth2_test
16963   test/core/end2end/fixtures/h2_oauth2.cc
16964 )
16965
16966
16967 target_include_directories(h2_oauth2_test
16968   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
16969   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
16970   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
16971   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
16972   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
16973   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
16974   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
16975   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
16976   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
16977   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
16978 )
16979
16980 target_link_libraries(h2_oauth2_test
16981   ${_gRPC_ALLTARGETS_LIBRARIES}
16982   end2end_tests
16983   grpc_test_util
16984   grpc
16985   gpr
16986 )
16987
16988   # avoid dependency on libstdc++
16989   if (_gRPC_CORE_NOSTDCXX_FLAGS)
16990     set_target_properties(h2_oauth2_test PROPERTIES LINKER_LANGUAGE C)
16991     target_compile_options(h2_oauth2_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
16992   endif()
16993
16994 endif (gRPC_BUILD_TESTS)
16995 if (gRPC_BUILD_TESTS)
16996
16997 add_executable(h2_proxy_test
16998   test/core/end2end/fixtures/h2_proxy.cc
16999 )
17000
17001
17002 target_include_directories(h2_proxy_test
17003   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17004   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17005   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17006   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17007   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17008   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17009   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17010   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17011   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17012   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17013 )
17014
17015 target_link_libraries(h2_proxy_test
17016   ${_gRPC_ALLTARGETS_LIBRARIES}
17017   end2end_tests
17018   grpc_test_util
17019   grpc
17020   gpr
17021 )
17022
17023   # avoid dependency on libstdc++
17024   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17025     set_target_properties(h2_proxy_test PROPERTIES LINKER_LANGUAGE C)
17026     target_compile_options(h2_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17027   endif()
17028
17029 endif (gRPC_BUILD_TESTS)
17030 if (gRPC_BUILD_TESTS)
17031
17032 add_executable(h2_sockpair_test
17033   test/core/end2end/fixtures/h2_sockpair.cc
17034 )
17035
17036
17037 target_include_directories(h2_sockpair_test
17038   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17039   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17040   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17041   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17042   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17043   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17044   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17045   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17046   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17047   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17048 )
17049
17050 target_link_libraries(h2_sockpair_test
17051   ${_gRPC_ALLTARGETS_LIBRARIES}
17052   end2end_tests
17053   grpc_test_util
17054   grpc
17055   gpr
17056 )
17057
17058   # avoid dependency on libstdc++
17059   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17060     set_target_properties(h2_sockpair_test PROPERTIES LINKER_LANGUAGE C)
17061     target_compile_options(h2_sockpair_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17062   endif()
17063
17064 endif (gRPC_BUILD_TESTS)
17065 if (gRPC_BUILD_TESTS)
17066
17067 add_executable(h2_sockpair+trace_test
17068   test/core/end2end/fixtures/h2_sockpair+trace.cc
17069 )
17070
17071
17072 target_include_directories(h2_sockpair+trace_test
17073   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17074   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17075   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17076   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17077   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17078   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17079   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17080   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17081   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17082   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17083 )
17084
17085 target_link_libraries(h2_sockpair+trace_test
17086   ${_gRPC_ALLTARGETS_LIBRARIES}
17087   end2end_tests
17088   grpc_test_util
17089   grpc
17090   gpr
17091 )
17092
17093   # avoid dependency on libstdc++
17094   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17095     set_target_properties(h2_sockpair+trace_test PROPERTIES LINKER_LANGUAGE C)
17096     target_compile_options(h2_sockpair+trace_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17097   endif()
17098
17099 endif (gRPC_BUILD_TESTS)
17100 if (gRPC_BUILD_TESTS)
17101
17102 add_executable(h2_sockpair_1byte_test
17103   test/core/end2end/fixtures/h2_sockpair_1byte.cc
17104 )
17105
17106
17107 target_include_directories(h2_sockpair_1byte_test
17108   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17109   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17110   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17111   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17112   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17113   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17114   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17115   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17116   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17117   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17118 )
17119
17120 target_link_libraries(h2_sockpair_1byte_test
17121   ${_gRPC_ALLTARGETS_LIBRARIES}
17122   end2end_tests
17123   grpc_test_util
17124   grpc
17125   gpr
17126 )
17127
17128   # avoid dependency on libstdc++
17129   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17130     set_target_properties(h2_sockpair_1byte_test PROPERTIES LINKER_LANGUAGE C)
17131     target_compile_options(h2_sockpair_1byte_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17132   endif()
17133
17134 endif (gRPC_BUILD_TESTS)
17135 if (gRPC_BUILD_TESTS)
17136
17137 add_executable(h2_ssl_test
17138   test/core/end2end/fixtures/h2_ssl.cc
17139 )
17140
17141
17142 target_include_directories(h2_ssl_test
17143   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17144   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17145   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17146   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17147   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17148   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17149   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17150   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17151   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17152   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17153 )
17154
17155 target_link_libraries(h2_ssl_test
17156   ${_gRPC_ALLTARGETS_LIBRARIES}
17157   end2end_tests
17158   grpc_test_util
17159   grpc
17160   gpr
17161 )
17162
17163   # avoid dependency on libstdc++
17164   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17165     set_target_properties(h2_ssl_test PROPERTIES LINKER_LANGUAGE C)
17166     target_compile_options(h2_ssl_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17167   endif()
17168
17169 endif (gRPC_BUILD_TESTS)
17170 if (gRPC_BUILD_TESTS)
17171
17172 add_executable(h2_ssl_proxy_test
17173   test/core/end2end/fixtures/h2_ssl_proxy.cc
17174 )
17175
17176
17177 target_include_directories(h2_ssl_proxy_test
17178   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17179   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17180   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17181   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17182   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17183   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17184   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17185   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17186   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17187   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17188 )
17189
17190 target_link_libraries(h2_ssl_proxy_test
17191   ${_gRPC_ALLTARGETS_LIBRARIES}
17192   end2end_tests
17193   grpc_test_util
17194   grpc
17195   gpr
17196 )
17197
17198   # avoid dependency on libstdc++
17199   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17200     set_target_properties(h2_ssl_proxy_test PROPERTIES LINKER_LANGUAGE C)
17201     target_compile_options(h2_ssl_proxy_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17202   endif()
17203
17204 endif (gRPC_BUILD_TESTS)
17205 if (gRPC_BUILD_TESTS)
17206 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17207
17208 add_executable(h2_uds_test
17209   test/core/end2end/fixtures/h2_uds.cc
17210 )
17211
17212
17213 target_include_directories(h2_uds_test
17214   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17215   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17216   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17217   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17218   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17219   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17220   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17221   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17222   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17223   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17224 )
17225
17226 target_link_libraries(h2_uds_test
17227   ${_gRPC_ALLTARGETS_LIBRARIES}
17228   end2end_tests
17229   grpc_test_util
17230   grpc
17231   gpr
17232 )
17233
17234   # avoid dependency on libstdc++
17235   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17236     set_target_properties(h2_uds_test PROPERTIES LINKER_LANGUAGE C)
17237     target_compile_options(h2_uds_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17238   endif()
17239
17240 endif()
17241 endif (gRPC_BUILD_TESTS)
17242 if (gRPC_BUILD_TESTS)
17243
17244 add_executable(inproc_test
17245   test/core/end2end/fixtures/inproc.cc
17246 )
17247
17248
17249 target_include_directories(inproc_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(inproc_test
17263   ${_gRPC_ALLTARGETS_LIBRARIES}
17264   end2end_tests
17265   grpc_test_util
17266   grpc
17267   gpr
17268 )
17269
17270   # avoid dependency on libstdc++
17271   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17272     set_target_properties(inproc_test PROPERTIES LINKER_LANGUAGE C)
17273     target_compile_options(inproc_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17274   endif()
17275
17276 endif (gRPC_BUILD_TESTS)
17277 if (gRPC_BUILD_TESTS)
17278
17279 add_executable(h2_census_nosec_test
17280   test/core/end2end/fixtures/h2_census.cc
17281 )
17282
17283
17284 target_include_directories(h2_census_nosec_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_nosec_test
17298   ${_gRPC_ALLTARGETS_LIBRARIES}
17299   end2end_nosec_tests
17300   grpc_test_util_unsecure
17301   grpc_unsecure
17302   gpr
17303 )
17304
17305   # avoid dependency on libstdc++
17306   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17307     set_target_properties(h2_census_nosec_test PROPERTIES LINKER_LANGUAGE C)
17308     target_compile_options(h2_census_nosec_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_nosec_test
17315   test/core/end2end/fixtures/h2_compress.cc
17316 )
17317
17318
17319 target_include_directories(h2_compress_nosec_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_nosec_test
17333   ${_gRPC_ALLTARGETS_LIBRARIES}
17334   end2end_nosec_tests
17335   grpc_test_util_unsecure
17336   grpc_unsecure
17337   gpr
17338 )
17339
17340   # avoid dependency on libstdc++
17341   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17342     set_target_properties(h2_compress_nosec_test PROPERTIES LINKER_LANGUAGE C)
17343     target_compile_options(h2_compress_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17344   endif()
17345
17346 endif (gRPC_BUILD_TESTS)
17347 if (gRPC_BUILD_TESTS)
17348 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17349
17350 add_executable(h2_fd_nosec_test
17351   test/core/end2end/fixtures/h2_fd.cc
17352 )
17353
17354
17355 target_include_directories(h2_fd_nosec_test
17356   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17357   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17358   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17359   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17360   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17361   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17362   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17363   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17364   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17365   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17366 )
17367
17368 target_link_libraries(h2_fd_nosec_test
17369   ${_gRPC_ALLTARGETS_LIBRARIES}
17370   end2end_nosec_tests
17371   grpc_test_util_unsecure
17372   grpc_unsecure
17373   gpr
17374 )
17375
17376   # avoid dependency on libstdc++
17377   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17378     set_target_properties(h2_fd_nosec_test PROPERTIES LINKER_LANGUAGE C)
17379     target_compile_options(h2_fd_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17380   endif()
17381
17382 endif()
17383 endif (gRPC_BUILD_TESTS)
17384 if (gRPC_BUILD_TESTS)
17385
17386 add_executable(h2_full_nosec_test
17387   test/core/end2end/fixtures/h2_full.cc
17388 )
17389
17390
17391 target_include_directories(h2_full_nosec_test
17392   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17393   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17394   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17395   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17396   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17397   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17398   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17399   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17400   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17401   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17402 )
17403
17404 target_link_libraries(h2_full_nosec_test
17405   ${_gRPC_ALLTARGETS_LIBRARIES}
17406   end2end_nosec_tests
17407   grpc_test_util_unsecure
17408   grpc_unsecure
17409   gpr
17410 )
17411
17412   # avoid dependency on libstdc++
17413   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17414     set_target_properties(h2_full_nosec_test PROPERTIES LINKER_LANGUAGE C)
17415     target_compile_options(h2_full_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17416   endif()
17417
17418 endif (gRPC_BUILD_TESTS)
17419 if (gRPC_BUILD_TESTS)
17420 if(_gRPC_PLATFORM_LINUX)
17421
17422 add_executable(h2_full+pipe_nosec_test
17423   test/core/end2end/fixtures/h2_full+pipe.cc
17424 )
17425
17426
17427 target_include_directories(h2_full+pipe_nosec_test
17428   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17429   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17430   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17431   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17432   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17433   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17434   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17435   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17436   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17437   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17438 )
17439
17440 target_link_libraries(h2_full+pipe_nosec_test
17441   ${_gRPC_ALLTARGETS_LIBRARIES}
17442   end2end_nosec_tests
17443   grpc_test_util_unsecure
17444   grpc_unsecure
17445   gpr
17446 )
17447
17448   # avoid dependency on libstdc++
17449   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17450     set_target_properties(h2_full+pipe_nosec_test PROPERTIES LINKER_LANGUAGE C)
17451     target_compile_options(h2_full+pipe_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17452   endif()
17453
17454 endif()
17455 endif (gRPC_BUILD_TESTS)
17456 if (gRPC_BUILD_TESTS)
17457
17458 add_executable(h2_full+trace_nosec_test
17459   test/core/end2end/fixtures/h2_full+trace.cc
17460 )
17461
17462
17463 target_include_directories(h2_full+trace_nosec_test
17464   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17465   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17466   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17467   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17468   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17469   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17470   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17471   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17472   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17473   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17474 )
17475
17476 target_link_libraries(h2_full+trace_nosec_test
17477   ${_gRPC_ALLTARGETS_LIBRARIES}
17478   end2end_nosec_tests
17479   grpc_test_util_unsecure
17480   grpc_unsecure
17481   gpr
17482 )
17483
17484   # avoid dependency on libstdc++
17485   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17486     set_target_properties(h2_full+trace_nosec_test PROPERTIES LINKER_LANGUAGE C)
17487     target_compile_options(h2_full+trace_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17488   endif()
17489
17490 endif (gRPC_BUILD_TESTS)
17491 if (gRPC_BUILD_TESTS)
17492
17493 add_executable(h2_full+workarounds_nosec_test
17494   test/core/end2end/fixtures/h2_full+workarounds.cc
17495 )
17496
17497
17498 target_include_directories(h2_full+workarounds_nosec_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+workarounds_nosec_test
17512   ${_gRPC_ALLTARGETS_LIBRARIES}
17513   end2end_nosec_tests
17514   grpc_test_util_unsecure
17515   grpc_unsecure
17516   gpr
17517 )
17518
17519   # avoid dependency on libstdc++
17520   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17521     set_target_properties(h2_full+workarounds_nosec_test PROPERTIES LINKER_LANGUAGE C)
17522     target_compile_options(h2_full+workarounds_nosec_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_http_proxy_nosec_test
17529   test/core/end2end/fixtures/h2_http_proxy.cc
17530 )
17531
17532
17533 target_include_directories(h2_http_proxy_nosec_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_http_proxy_nosec_test
17547   ${_gRPC_ALLTARGETS_LIBRARIES}
17548   end2end_nosec_tests
17549   grpc_test_util_unsecure
17550   grpc_unsecure
17551   gpr
17552 )
17553
17554   # avoid dependency on libstdc++
17555   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17556     set_target_properties(h2_http_proxy_nosec_test PROPERTIES LINKER_LANGUAGE C)
17557     target_compile_options(h2_http_proxy_nosec_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_proxy_nosec_test
17564   test/core/end2end/fixtures/h2_proxy.cc
17565 )
17566
17567
17568 target_include_directories(h2_proxy_nosec_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_proxy_nosec_test
17582   ${_gRPC_ALLTARGETS_LIBRARIES}
17583   end2end_nosec_tests
17584   grpc_test_util_unsecure
17585   grpc_unsecure
17586   gpr
17587 )
17588
17589   # avoid dependency on libstdc++
17590   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17591     set_target_properties(h2_proxy_nosec_test PROPERTIES LINKER_LANGUAGE C)
17592     target_compile_options(h2_proxy_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17593   endif()
17594
17595 endif (gRPC_BUILD_TESTS)
17596 if (gRPC_BUILD_TESTS)
17597
17598 add_executable(h2_sockpair_nosec_test
17599   test/core/end2end/fixtures/h2_sockpair.cc
17600 )
17601
17602
17603 target_include_directories(h2_sockpair_nosec_test
17604   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17605   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17606   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17607   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17608   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17609   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17610   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17611   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17612   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17613   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17614 )
17615
17616 target_link_libraries(h2_sockpair_nosec_test
17617   ${_gRPC_ALLTARGETS_LIBRARIES}
17618   end2end_nosec_tests
17619   grpc_test_util_unsecure
17620   grpc_unsecure
17621   gpr
17622 )
17623
17624   # avoid dependency on libstdc++
17625   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17626     set_target_properties(h2_sockpair_nosec_test PROPERTIES LINKER_LANGUAGE C)
17627     target_compile_options(h2_sockpair_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17628   endif()
17629
17630 endif (gRPC_BUILD_TESTS)
17631 if (gRPC_BUILD_TESTS)
17632
17633 add_executable(h2_sockpair+trace_nosec_test
17634   test/core/end2end/fixtures/h2_sockpair+trace.cc
17635 )
17636
17637
17638 target_include_directories(h2_sockpair+trace_nosec_test
17639   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17640   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17641   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17642   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17643   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17644   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17645   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17646   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17647   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17648   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17649 )
17650
17651 target_link_libraries(h2_sockpair+trace_nosec_test
17652   ${_gRPC_ALLTARGETS_LIBRARIES}
17653   end2end_nosec_tests
17654   grpc_test_util_unsecure
17655   grpc_unsecure
17656   gpr
17657 )
17658
17659   # avoid dependency on libstdc++
17660   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17661     set_target_properties(h2_sockpair+trace_nosec_test PROPERTIES LINKER_LANGUAGE C)
17662     target_compile_options(h2_sockpair+trace_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17663   endif()
17664
17665 endif (gRPC_BUILD_TESTS)
17666 if (gRPC_BUILD_TESTS)
17667
17668 add_executable(h2_sockpair_1byte_nosec_test
17669   test/core/end2end/fixtures/h2_sockpair_1byte.cc
17670 )
17671
17672
17673 target_include_directories(h2_sockpair_1byte_nosec_test
17674   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17675   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17676   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17677   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17678   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17679   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17680   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17681   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17682   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17683   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17684 )
17685
17686 target_link_libraries(h2_sockpair_1byte_nosec_test
17687   ${_gRPC_ALLTARGETS_LIBRARIES}
17688   end2end_nosec_tests
17689   grpc_test_util_unsecure
17690   grpc_unsecure
17691   gpr
17692 )
17693
17694   # avoid dependency on libstdc++
17695   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17696     set_target_properties(h2_sockpair_1byte_nosec_test PROPERTIES LINKER_LANGUAGE C)
17697     target_compile_options(h2_sockpair_1byte_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17698   endif()
17699
17700 endif (gRPC_BUILD_TESTS)
17701 if (gRPC_BUILD_TESTS)
17702 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17703
17704 add_executable(h2_uds_nosec_test
17705   test/core/end2end/fixtures/h2_uds.cc
17706 )
17707
17708
17709 target_include_directories(h2_uds_nosec_test
17710   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17711   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17712   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17713   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17714   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17715   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17716   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17717   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17718   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17719   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17720 )
17721
17722 target_link_libraries(h2_uds_nosec_test
17723   ${_gRPC_ALLTARGETS_LIBRARIES}
17724   end2end_nosec_tests
17725   grpc_test_util_unsecure
17726   grpc_unsecure
17727   gpr
17728 )
17729
17730   # avoid dependency on libstdc++
17731   if (_gRPC_CORE_NOSTDCXX_FLAGS)
17732     set_target_properties(h2_uds_nosec_test PROPERTIES LINKER_LANGUAGE C)
17733     target_compile_options(h2_uds_nosec_test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
17734   endif()
17735
17736 endif()
17737 endif (gRPC_BUILD_TESTS)
17738 if (gRPC_BUILD_TESTS)
17739
17740 add_executable(resolver_component_test_unsecure
17741   test/cpp/naming/resolver_component_test.cc
17742   third_party/googletest/googletest/src/gtest-all.cc
17743   third_party/googletest/googlemock/src/gmock-all.cc
17744 )
17745
17746
17747 target_include_directories(resolver_component_test_unsecure
17748   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17749   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17750   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17751   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17752   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17753   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17754   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17755   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17756   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17757   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17758   PRIVATE third_party/googletest/googletest/include
17759   PRIVATE third_party/googletest/googletest
17760   PRIVATE third_party/googletest/googlemock/include
17761   PRIVATE third_party/googletest/googlemock
17762   PRIVATE ${_gRPC_PROTO_GENS_DIR}
17763 )
17764
17765 target_link_libraries(resolver_component_test_unsecure
17766   ${_gRPC_PROTOBUF_LIBRARIES}
17767   ${_gRPC_ALLTARGETS_LIBRARIES}
17768   grpc++_test_util_unsecure
17769   grpc_test_util_unsecure
17770   grpc++_unsecure
17771   grpc_unsecure
17772   gpr
17773   grpc++_test_config
17774   ${_gRPC_GFLAGS_LIBRARIES}
17775 )
17776
17777
17778 endif (gRPC_BUILD_TESTS)
17779 if (gRPC_BUILD_TESTS)
17780
17781 add_executable(resolver_component_test
17782   test/cpp/naming/resolver_component_test.cc
17783   third_party/googletest/googletest/src/gtest-all.cc
17784   third_party/googletest/googlemock/src/gmock-all.cc
17785 )
17786
17787
17788 target_include_directories(resolver_component_test
17789   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17790   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17791   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17792   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17793   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17794   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17795   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17796   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17797   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17798   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17799   PRIVATE third_party/googletest/googletest/include
17800   PRIVATE third_party/googletest/googletest
17801   PRIVATE third_party/googletest/googlemock/include
17802   PRIVATE third_party/googletest/googlemock
17803   PRIVATE ${_gRPC_PROTO_GENS_DIR}
17804 )
17805
17806 target_link_libraries(resolver_component_test
17807   ${_gRPC_PROTOBUF_LIBRARIES}
17808   ${_gRPC_ALLTARGETS_LIBRARIES}
17809   grpc++_test_util
17810   grpc_test_util
17811   grpc++
17812   grpc
17813   gpr
17814   grpc++_test_config
17815   ${_gRPC_GFLAGS_LIBRARIES}
17816 )
17817
17818
17819 endif (gRPC_BUILD_TESTS)
17820 if (gRPC_BUILD_TESTS)
17821 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17822
17823 add_executable(resolver_component_tests_runner_invoker_unsecure
17824   test/cpp/naming/resolver_component_tests_runner_invoker.cc
17825   third_party/googletest/googletest/src/gtest-all.cc
17826   third_party/googletest/googlemock/src/gmock-all.cc
17827 )
17828
17829
17830 target_include_directories(resolver_component_tests_runner_invoker_unsecure
17831   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17832   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17833   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17834   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17835   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17836   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17837   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17838   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17839   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17840   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17841   PRIVATE third_party/googletest/googletest/include
17842   PRIVATE third_party/googletest/googletest
17843   PRIVATE third_party/googletest/googlemock/include
17844   PRIVATE third_party/googletest/googlemock
17845   PRIVATE ${_gRPC_PROTO_GENS_DIR}
17846 )
17847
17848 target_link_libraries(resolver_component_tests_runner_invoker_unsecure
17849   ${_gRPC_PROTOBUF_LIBRARIES}
17850   ${_gRPC_ALLTARGETS_LIBRARIES}
17851   grpc++_test_util
17852   grpc_test_util
17853   grpc++
17854   grpc
17855   gpr
17856   grpc++_test_config
17857   ${_gRPC_GFLAGS_LIBRARIES}
17858 )
17859
17860
17861 endif()
17862 endif (gRPC_BUILD_TESTS)
17863 if (gRPC_BUILD_TESTS)
17864 if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
17865
17866 add_executable(resolver_component_tests_runner_invoker
17867   test/cpp/naming/resolver_component_tests_runner_invoker.cc
17868   third_party/googletest/googletest/src/gtest-all.cc
17869   third_party/googletest/googlemock/src/gmock-all.cc
17870 )
17871
17872
17873 target_include_directories(resolver_component_tests_runner_invoker
17874   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17875   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17876   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17877   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17878   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17879   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17880   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17881   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17882   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17883   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17884   PRIVATE third_party/googletest/googletest/include
17885   PRIVATE third_party/googletest/googletest
17886   PRIVATE third_party/googletest/googlemock/include
17887   PRIVATE third_party/googletest/googlemock
17888   PRIVATE ${_gRPC_PROTO_GENS_DIR}
17889 )
17890
17891 target_link_libraries(resolver_component_tests_runner_invoker
17892   ${_gRPC_PROTOBUF_LIBRARIES}
17893   ${_gRPC_ALLTARGETS_LIBRARIES}
17894   grpc++_test_util
17895   grpc_test_util
17896   grpc++
17897   grpc
17898   gpr
17899   grpc++_test_config
17900   ${_gRPC_GFLAGS_LIBRARIES}
17901 )
17902
17903
17904 endif()
17905 endif (gRPC_BUILD_TESTS)
17906 if (gRPC_BUILD_TESTS)
17907
17908 add_executable(address_sorting_test_unsecure
17909   test/cpp/naming/address_sorting_test.cc
17910   third_party/googletest/googletest/src/gtest-all.cc
17911   third_party/googletest/googlemock/src/gmock-all.cc
17912 )
17913
17914
17915 target_include_directories(address_sorting_test_unsecure
17916   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17917   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17918   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17919   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17920   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17921   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17922   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17923   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17924   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17925   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17926   PRIVATE third_party/googletest/googletest/include
17927   PRIVATE third_party/googletest/googletest
17928   PRIVATE third_party/googletest/googlemock/include
17929   PRIVATE third_party/googletest/googlemock
17930   PRIVATE ${_gRPC_PROTO_GENS_DIR}
17931 )
17932
17933 target_link_libraries(address_sorting_test_unsecure
17934   ${_gRPC_PROTOBUF_LIBRARIES}
17935   ${_gRPC_ALLTARGETS_LIBRARIES}
17936   grpc++_test_util_unsecure
17937   grpc_test_util_unsecure
17938   grpc++_unsecure
17939   grpc_unsecure
17940   gpr
17941   grpc++_test_config
17942   ${_gRPC_GFLAGS_LIBRARIES}
17943 )
17944
17945
17946 endif (gRPC_BUILD_TESTS)
17947 if (gRPC_BUILD_TESTS)
17948
17949 add_executable(address_sorting_test
17950   test/cpp/naming/address_sorting_test.cc
17951   third_party/googletest/googletest/src/gtest-all.cc
17952   third_party/googletest/googlemock/src/gmock-all.cc
17953 )
17954
17955
17956 target_include_directories(address_sorting_test
17957   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17958   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
17959   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
17960   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
17961   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
17962   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
17963   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
17964   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
17965   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
17966   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
17967   PRIVATE third_party/googletest/googletest/include
17968   PRIVATE third_party/googletest/googletest
17969   PRIVATE third_party/googletest/googlemock/include
17970   PRIVATE third_party/googletest/googlemock
17971   PRIVATE ${_gRPC_PROTO_GENS_DIR}
17972 )
17973
17974 target_link_libraries(address_sorting_test
17975   ${_gRPC_PROTOBUF_LIBRARIES}
17976   ${_gRPC_ALLTARGETS_LIBRARIES}
17977   grpc++_test_util
17978   grpc_test_util
17979   grpc++
17980   grpc
17981   gpr
17982   grpc++_test_config
17983   ${_gRPC_GFLAGS_LIBRARIES}
17984 )
17985
17986
17987 endif (gRPC_BUILD_TESTS)
17988 if (gRPC_BUILD_TESTS)
17989
17990 add_executable(cancel_ares_query_test
17991   test/cpp/naming/cancel_ares_query_test.cc
17992   third_party/googletest/googletest/src/gtest-all.cc
17993   third_party/googletest/googlemock/src/gmock-all.cc
17994 )
17995
17996
17997 target_include_directories(cancel_ares_query_test
17998   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
17999   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18000   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18001   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18002   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18003   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18004   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18005   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18006   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18007   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18008   PRIVATE third_party/googletest/googletest/include
18009   PRIVATE third_party/googletest/googletest
18010   PRIVATE third_party/googletest/googlemock/include
18011   PRIVATE third_party/googletest/googlemock
18012   PRIVATE ${_gRPC_PROTO_GENS_DIR}
18013 )
18014
18015 target_link_libraries(cancel_ares_query_test
18016   ${_gRPC_PROTOBUF_LIBRARIES}
18017   ${_gRPC_ALLTARGETS_LIBRARIES}
18018   grpc++_test_util
18019   grpc_test_util
18020   grpc++
18021   grpc
18022   gpr
18023   grpc++_test_config
18024   ${_gRPC_GFLAGS_LIBRARIES}
18025 )
18026
18027
18028 endif (gRPC_BUILD_TESTS)
18029 if (gRPC_BUILD_TESTS)
18030
18031 add_executable(alts_credentials_fuzzer_one_entry
18032   test/core/security/alts_credentials_fuzzer.cc
18033   test/core/util/one_corpus_entry_fuzzer.cc
18034 )
18035
18036
18037 target_include_directories(alts_credentials_fuzzer_one_entry
18038   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18039   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18040   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18041   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18042   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18043   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18044   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18045   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18046   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18047   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18048 )
18049
18050 target_link_libraries(alts_credentials_fuzzer_one_entry
18051   ${_gRPC_ALLTARGETS_LIBRARIES}
18052   grpc_test_util
18053   grpc
18054   gpr
18055 )
18056
18057   # avoid dependency on libstdc++
18058   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18059     set_target_properties(alts_credentials_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18060     target_compile_options(alts_credentials_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18061   endif()
18062
18063 endif (gRPC_BUILD_TESTS)
18064 if (gRPC_BUILD_TESTS)
18065
18066 add_executable(api_fuzzer_one_entry
18067   test/core/end2end/fuzzers/api_fuzzer.cc
18068   test/core/util/one_corpus_entry_fuzzer.cc
18069 )
18070
18071
18072 target_include_directories(api_fuzzer_one_entry
18073   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18074   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18075   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18076   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18077   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18078   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18079   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18080   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18081   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18082   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18083 )
18084
18085 target_link_libraries(api_fuzzer_one_entry
18086   ${_gRPC_ALLTARGETS_LIBRARIES}
18087   grpc_test_util
18088   grpc
18089   gpr
18090 )
18091
18092   # avoid dependency on libstdc++
18093   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18094     set_target_properties(api_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18095     target_compile_options(api_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18096   endif()
18097
18098 endif (gRPC_BUILD_TESTS)
18099 if (gRPC_BUILD_TESTS)
18100
18101 add_executable(client_fuzzer_one_entry
18102   test/core/end2end/fuzzers/client_fuzzer.cc
18103   test/core/util/one_corpus_entry_fuzzer.cc
18104 )
18105
18106
18107 target_include_directories(client_fuzzer_one_entry
18108   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18109   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18110   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18111   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18112   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18113   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18114   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18115   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18116   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18117   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18118 )
18119
18120 target_link_libraries(client_fuzzer_one_entry
18121   ${_gRPC_ALLTARGETS_LIBRARIES}
18122   grpc_test_util
18123   grpc
18124   gpr
18125 )
18126
18127   # avoid dependency on libstdc++
18128   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18129     set_target_properties(client_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18130     target_compile_options(client_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18131   endif()
18132
18133 endif (gRPC_BUILD_TESTS)
18134 if (gRPC_BUILD_TESTS)
18135
18136 add_executable(hpack_parser_fuzzer_test_one_entry
18137   test/core/transport/chttp2/hpack_parser_fuzzer_test.cc
18138   test/core/util/one_corpus_entry_fuzzer.cc
18139 )
18140
18141
18142 target_include_directories(hpack_parser_fuzzer_test_one_entry
18143   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18144   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18145   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18146   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18147   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18148   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18149   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18150   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18151   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18152   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18153 )
18154
18155 target_link_libraries(hpack_parser_fuzzer_test_one_entry
18156   ${_gRPC_ALLTARGETS_LIBRARIES}
18157   grpc_test_util
18158   grpc
18159   gpr
18160 )
18161
18162   # avoid dependency on libstdc++
18163   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18164     set_target_properties(hpack_parser_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
18165     target_compile_options(hpack_parser_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18166   endif()
18167
18168 endif (gRPC_BUILD_TESTS)
18169 if (gRPC_BUILD_TESTS)
18170
18171 add_executable(http_request_fuzzer_test_one_entry
18172   test/core/http/request_fuzzer.cc
18173   test/core/util/one_corpus_entry_fuzzer.cc
18174 )
18175
18176
18177 target_include_directories(http_request_fuzzer_test_one_entry
18178   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18179   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18180   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18181   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18182   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18183   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18184   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18185   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18186   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18187   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18188 )
18189
18190 target_link_libraries(http_request_fuzzer_test_one_entry
18191   ${_gRPC_ALLTARGETS_LIBRARIES}
18192   grpc_test_util
18193   grpc
18194   gpr
18195 )
18196
18197   # avoid dependency on libstdc++
18198   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18199     set_target_properties(http_request_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
18200     target_compile_options(http_request_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18201   endif()
18202
18203 endif (gRPC_BUILD_TESTS)
18204 if (gRPC_BUILD_TESTS)
18205
18206 add_executable(http_response_fuzzer_test_one_entry
18207   test/core/http/response_fuzzer.cc
18208   test/core/util/one_corpus_entry_fuzzer.cc
18209 )
18210
18211
18212 target_include_directories(http_response_fuzzer_test_one_entry
18213   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18214   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18215   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18216   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18217   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18218   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18219   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18220   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18221   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18222   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18223 )
18224
18225 target_link_libraries(http_response_fuzzer_test_one_entry
18226   ${_gRPC_ALLTARGETS_LIBRARIES}
18227   grpc_test_util
18228   grpc
18229   gpr
18230 )
18231
18232   # avoid dependency on libstdc++
18233   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18234     set_target_properties(http_response_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
18235     target_compile_options(http_response_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18236   endif()
18237
18238 endif (gRPC_BUILD_TESTS)
18239 if (gRPC_BUILD_TESTS)
18240
18241 add_executable(json_fuzzer_test_one_entry
18242   test/core/json/fuzzer.cc
18243   test/core/util/one_corpus_entry_fuzzer.cc
18244 )
18245
18246
18247 target_include_directories(json_fuzzer_test_one_entry
18248   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18249   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18250   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18251   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18252   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18253   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18254   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18255   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18256   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18257   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18258 )
18259
18260 target_link_libraries(json_fuzzer_test_one_entry
18261   ${_gRPC_ALLTARGETS_LIBRARIES}
18262   grpc_test_util
18263   grpc
18264   gpr
18265 )
18266
18267   # avoid dependency on libstdc++
18268   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18269     set_target_properties(json_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
18270     target_compile_options(json_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18271   endif()
18272
18273 endif (gRPC_BUILD_TESTS)
18274 if (gRPC_BUILD_TESTS)
18275
18276 add_executable(nanopb_fuzzer_response_test_one_entry
18277   test/core/nanopb/fuzzer_response.cc
18278   test/core/util/one_corpus_entry_fuzzer.cc
18279 )
18280
18281
18282 target_include_directories(nanopb_fuzzer_response_test_one_entry
18283   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18284   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18285   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18286   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18287   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18288   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18289   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18290   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18291   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18292   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18293 )
18294
18295 target_link_libraries(nanopb_fuzzer_response_test_one_entry
18296   ${_gRPC_ALLTARGETS_LIBRARIES}
18297   grpc_test_util
18298   grpc
18299   gpr
18300 )
18301
18302   # avoid dependency on libstdc++
18303   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18304     set_target_properties(nanopb_fuzzer_response_test_one_entry PROPERTIES LINKER_LANGUAGE C)
18305     target_compile_options(nanopb_fuzzer_response_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18306   endif()
18307
18308 endif (gRPC_BUILD_TESTS)
18309 if (gRPC_BUILD_TESTS)
18310
18311 add_executable(nanopb_fuzzer_serverlist_test_one_entry
18312   test/core/nanopb/fuzzer_serverlist.cc
18313   test/core/util/one_corpus_entry_fuzzer.cc
18314 )
18315
18316
18317 target_include_directories(nanopb_fuzzer_serverlist_test_one_entry
18318   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18319   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18320   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18321   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18322   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18323   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18324   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18325   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18326   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18327   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18328 )
18329
18330 target_link_libraries(nanopb_fuzzer_serverlist_test_one_entry
18331   ${_gRPC_ALLTARGETS_LIBRARIES}
18332   grpc_test_util
18333   grpc
18334   gpr
18335 )
18336
18337   # avoid dependency on libstdc++
18338   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18339     set_target_properties(nanopb_fuzzer_serverlist_test_one_entry PROPERTIES LINKER_LANGUAGE C)
18340     target_compile_options(nanopb_fuzzer_serverlist_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18341   endif()
18342
18343 endif (gRPC_BUILD_TESTS)
18344 if (gRPC_BUILD_TESTS)
18345
18346 add_executable(percent_decode_fuzzer_one_entry
18347   test/core/slice/percent_decode_fuzzer.cc
18348   test/core/util/one_corpus_entry_fuzzer.cc
18349 )
18350
18351
18352 target_include_directories(percent_decode_fuzzer_one_entry
18353   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18354   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18355   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18356   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18357   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18358   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18359   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18360   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18361   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18362   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18363 )
18364
18365 target_link_libraries(percent_decode_fuzzer_one_entry
18366   ${_gRPC_ALLTARGETS_LIBRARIES}
18367   grpc_test_util
18368   grpc
18369   gpr
18370 )
18371
18372   # avoid dependency on libstdc++
18373   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18374     set_target_properties(percent_decode_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18375     target_compile_options(percent_decode_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18376   endif()
18377
18378 endif (gRPC_BUILD_TESTS)
18379 if (gRPC_BUILD_TESTS)
18380
18381 add_executable(percent_encode_fuzzer_one_entry
18382   test/core/slice/percent_encode_fuzzer.cc
18383   test/core/util/one_corpus_entry_fuzzer.cc
18384 )
18385
18386
18387 target_include_directories(percent_encode_fuzzer_one_entry
18388   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18389   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18390   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18391   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18392   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18393   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18394   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18395   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18396   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18397   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18398 )
18399
18400 target_link_libraries(percent_encode_fuzzer_one_entry
18401   ${_gRPC_ALLTARGETS_LIBRARIES}
18402   grpc_test_util
18403   grpc
18404   gpr
18405 )
18406
18407   # avoid dependency on libstdc++
18408   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18409     set_target_properties(percent_encode_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18410     target_compile_options(percent_encode_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18411   endif()
18412
18413 endif (gRPC_BUILD_TESTS)
18414 if (gRPC_BUILD_TESTS)
18415
18416 add_executable(server_fuzzer_one_entry
18417   test/core/end2end/fuzzers/server_fuzzer.cc
18418   test/core/util/one_corpus_entry_fuzzer.cc
18419 )
18420
18421
18422 target_include_directories(server_fuzzer_one_entry
18423   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18424   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18425   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18426   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18427   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18428   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18429   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18430   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18431   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18432   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18433 )
18434
18435 target_link_libraries(server_fuzzer_one_entry
18436   ${_gRPC_ALLTARGETS_LIBRARIES}
18437   grpc_test_util
18438   grpc
18439   gpr
18440 )
18441
18442   # avoid dependency on libstdc++
18443   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18444     set_target_properties(server_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18445     target_compile_options(server_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18446   endif()
18447
18448 endif (gRPC_BUILD_TESTS)
18449 if (gRPC_BUILD_TESTS)
18450
18451 add_executable(ssl_server_fuzzer_one_entry
18452   test/core/security/ssl_server_fuzzer.cc
18453   test/core/util/one_corpus_entry_fuzzer.cc
18454 )
18455
18456
18457 target_include_directories(ssl_server_fuzzer_one_entry
18458   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18459   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18460   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18461   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18462   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18463   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18464   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18465   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18466   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18467   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18468 )
18469
18470 target_link_libraries(ssl_server_fuzzer_one_entry
18471   ${_gRPC_ALLTARGETS_LIBRARIES}
18472   grpc_test_util
18473   grpc
18474   gpr
18475 )
18476
18477   # avoid dependency on libstdc++
18478   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18479     set_target_properties(ssl_server_fuzzer_one_entry PROPERTIES LINKER_LANGUAGE C)
18480     target_compile_options(ssl_server_fuzzer_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18481   endif()
18482
18483 endif (gRPC_BUILD_TESTS)
18484 if (gRPC_BUILD_TESTS)
18485
18486 add_executable(uri_fuzzer_test_one_entry
18487   test/core/client_channel/uri_fuzzer_test.cc
18488   test/core/util/one_corpus_entry_fuzzer.cc
18489 )
18490
18491
18492 target_include_directories(uri_fuzzer_test_one_entry
18493   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
18494   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
18495   PRIVATE ${_gRPC_SSL_INCLUDE_DIR}
18496   PRIVATE ${_gRPC_PROTOBUF_INCLUDE_DIR}
18497   PRIVATE ${_gRPC_ZLIB_INCLUDE_DIR}
18498   PRIVATE ${_gRPC_BENCHMARK_INCLUDE_DIR}
18499   PRIVATE ${_gRPC_CARES_INCLUDE_DIR}
18500   PRIVATE ${_gRPC_GFLAGS_INCLUDE_DIR}
18501   PRIVATE ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
18502   PRIVATE ${_gRPC_NANOPB_INCLUDE_DIR}
18503 )
18504
18505 target_link_libraries(uri_fuzzer_test_one_entry
18506   ${_gRPC_ALLTARGETS_LIBRARIES}
18507   grpc_test_util
18508   grpc
18509   gpr
18510 )
18511
18512   # avoid dependency on libstdc++
18513   if (_gRPC_CORE_NOSTDCXX_FLAGS)
18514     set_target_properties(uri_fuzzer_test_one_entry PROPERTIES LINKER_LANGUAGE C)
18515     target_compile_options(uri_fuzzer_test_one_entry PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${_gRPC_CORE_NOSTDCXX_FLAGS}>)
18516   endif()
18517
18518 endif (gRPC_BUILD_TESTS)
18519
18520
18521
18522
18523
18524
18525
18526 if (gRPC_INSTALL)
18527   install(EXPORT gRPCTargets
18528     DESTINATION ${gRPC_INSTALL_CMAKEDIR}
18529     NAMESPACE gRPC::
18530   )
18531 endif()
18532
18533 foreach(_config gRPCConfig gRPCConfigVersion)
18534   configure_file(cmake/${_config}.cmake.in
18535     ${_config}.cmake @ONLY)
18536   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_config}.cmake
18537     DESTINATION ${gRPC_INSTALL_CMAKEDIR}
18538   )
18539 endforeach()
18540
18541 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/etc/roots.pem
18542   DESTINATION ${gRPC_INSTALL_SHAREDIR})