diff --git a/tools/toolchains/grpc_ratls/ra_tls/0001-Add-Occlum-SGX-tls-function.patch b/tools/toolchains/grpc_ratls/ra_tls/0001-Add-Occlum-SGX-tls-function.patch new file mode 100644 index 00000000..cd53626d --- /dev/null +++ b/tools/toolchains/grpc_ratls/ra_tls/0001-Add-Occlum-SGX-tls-function.patch @@ -0,0 +1,2406 @@ +From 00d3a4744aa7fecea3c07dc70be26aa55ffdfa2b Mon Sep 17 00:00:00 2001 +From: Qi Zheng +Date: Tue, 14 Nov 2023 03:43:34 +0000 +Subject: [PATCH] Add Occlum SGX tls function + +--- + CMakeLists.txt | 58 +++- + examples/cpp/ratls/CMakeLists.txt | 64 ++++ + examples/cpp/ratls/README.md | 15 + + examples/cpp/ratls/build.sh | 27 ++ + examples/cpp/ratls/client.cc | 41 +++ + examples/cpp/ratls/grpc_ratls_client.cc | 212 ++++++++++++ + examples/cpp/ratls/grpc_ratls_client.h | 28 ++ + examples/cpp/ratls/grpc_ratls_server.cc | 96 ++++++ + examples/cpp/ratls/grpc_ratls_server.h | 19 + + examples/cpp/ratls/server.cc | 37 ++ + examples/protos/ratls.proto | 38 ++ + include/grpcpp/security/sgx/sgx_ra_tls.h | 83 +++++ + .../grpcpp/security/sgx/sgx_ra_tls_options.h | 67 ++++ + .../credentials/tls/tls_credentials.cc | 10 +- + .../tls/tls_security_connector.cc | 194 ++++++++++- + .../tls/tls_security_connector.h | 22 ++ + src/cpp/sgx/sgx_ra_tls_backends.cc | 260 ++++++++++++++ + src/cpp/sgx/sgx_ra_tls_backends.h | 114 ++++++ + src/cpp/sgx/sgx_ra_tls_credentials.cc | 98 ++++++ + src/cpp/sgx/sgx_ra_tls_occlum.cc | 325 ++++++++++++++++++ + src/cpp/sgx/sgx_ra_tls_options.cc | 55 +++ + src/cpp/sgx/sgx_ra_tls_utils.cc | 169 +++++++++ + src/cpp/sgx/sgx_ra_tls_utils.h | 68 ++++ + 23 files changed, 2071 insertions(+), 29 deletions(-) + create mode 100644 examples/cpp/ratls/CMakeLists.txt + create mode 100644 examples/cpp/ratls/README.md + create mode 100644 examples/cpp/ratls/build.sh + create mode 100644 examples/cpp/ratls/client.cc + create mode 100644 examples/cpp/ratls/grpc_ratls_client.cc + create mode 100644 examples/cpp/ratls/grpc_ratls_client.h + create mode 100644 examples/cpp/ratls/grpc_ratls_server.cc + create mode 100644 examples/cpp/ratls/grpc_ratls_server.h + create mode 100644 examples/cpp/ratls/server.cc + create mode 100644 examples/protos/ratls.proto + create mode 100644 include/grpcpp/security/sgx/sgx_ra_tls.h + create mode 100644 include/grpcpp/security/sgx/sgx_ra_tls_options.h + create mode 100644 src/cpp/sgx/sgx_ra_tls_backends.cc + create mode 100644 src/cpp/sgx/sgx_ra_tls_backends.h + create mode 100644 src/cpp/sgx/sgx_ra_tls_credentials.cc + create mode 100644 src/cpp/sgx/sgx_ra_tls_occlum.cc + create mode 100644 src/cpp/sgx/sgx_ra_tls_options.cc + create mode 100644 src/cpp/sgx/sgx_ra_tls_utils.cc + create mode 100644 src/cpp/sgx/sgx_ra_tls_utils.h + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index eeaf0b43c7..d648e4237a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -49,6 +49,16 @@ option(gRPC_BUILD_CODEGEN "Build codegen" ON) + option(gRPC_BUILD_CSHARP_EXT "Build C# extensions" ON) + option(gRPC_BACKWARDS_COMPATIBILITY_MODE "Build libraries that are binary compatible across a larger number of OS and libc versions" OFF) + ++option(DEFINE_SGX_RA_TLS_OCCLUM_BACKEND "SGX Occlum Backend" OFF) ++ ++ ++if(DEFINE_SGX_RA_TLS_OCCLUM_BACKEND) ++ message("SGX_RA_TLS_OCCLUM_BACKEND is defined") ++ include_directories(/opt/intel/sgxsdk/include) ++ include_directories(/opt/occlum/toolchains/dcap_lib/inc) ++ add_definitions(-DSGX_RA_TLS_OCCLUM_BACKEND) ++endif() ++ + set(gRPC_INSTALL_default ON) + if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + # Disable gRPC_INSTALL by default if building as a submodule +@@ -2064,22 +2074,28 @@ target_include_directories(grpc + ${_gRPC_XXHASH_INCLUDE_DIR} + ${_gRPC_ZLIB_INCLUDE_DIR} + ) +-target_link_libraries(grpc +- ${_gRPC_BASELIB_LIBRARIES} +- ${_gRPC_ZLIB_LIBRARIES} +- ${_gRPC_CARES_LIBRARIES} +- ${_gRPC_ADDRESS_SORTING_LIBRARIES} +- ${_gRPC_RE2_LIBRARIES} +- ${_gRPC_UPB_LIBRARIES} +- ${_gRPC_ALLTARGETS_LIBRARIES} +- absl::flat_hash_map +- absl::inlined_vector +- absl::bind_front +- absl::statusor +- gpr +- ${_gRPC_SSL_LIBRARIES} +- address_sorting +-) ++ ++if(DEFINE_SGX_RA_TLS_OCCLUM_BACKEND) ++ target_link_libraries(grpc ++ ${_gRPC_BASELIB_LIBRARIES} ++ ${_gRPC_ZLIB_LIBRARIES} ++ ${_gRPC_CARES_LIBRARIES} ++ ${_gRPC_ADDRESS_SORTING_LIBRARIES} ++ ${_gRPC_RE2_LIBRARIES} ++ ${_gRPC_UPB_LIBRARIES} ++ ${_gRPC_ALLTARGETS_LIBRARIES} ++ absl::flat_hash_map ++ absl::inlined_vector ++ absl::bind_front ++ absl::statusor ++ gpr ++ ${_gRPC_SSL_LIBRARIES} ++ address_sorting ++ occlum_dcap ++ cjson ++ ) ++endif() ++ + if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) + target_link_libraries(grpc "-framework CoreFoundation") + endif() +@@ -2775,6 +2791,11 @@ add_library(grpc++ + src/cpp/util/status.cc + src/cpp/util/string_ref.cc + src/cpp/util/time_cc.cc ++ src/cpp/sgx/sgx_ra_tls_credentials.cc ++ src/cpp/sgx/sgx_ra_tls_options.cc ++ src/cpp/sgx/sgx_ra_tls_backends.cc ++ src/cpp/sgx/sgx_ra_tls_occlum.cc ++ src/cpp/sgx/sgx_ra_tls_utils.cc + ) + + set_target_properties(grpc++ PROPERTIES +@@ -2972,7 +2993,8 @@ foreach(_hdr + include/grpcpp/security/credentials.h + include/grpcpp/security/server_credentials.h + include/grpcpp/security/tls_certificate_provider.h +- include/grpcpp/security/tls_credentials_options.h ++ include/grpcpp/security/sgx/sgx_ra_tls.h ++ include/grpcpp/security/sgx/sgx_ra_tls_options.h + include/grpcpp/server.h + include/grpcpp/server_builder.h + include/grpcpp/server_context.h +@@ -3620,6 +3642,8 @@ foreach(_hdr + include/grpcpp/security/server_credentials.h + include/grpcpp/security/tls_certificate_provider.h + include/grpcpp/security/tls_credentials_options.h ++ include/grpcpp/security/sgx/sgx_ra_tls.h ++ include/grpcpp/security/sgx/sgx_ra_tls_options.h + include/grpcpp/server.h + include/grpcpp/server_builder.h + include/grpcpp/server_context.h +diff --git a/examples/cpp/ratls/CMakeLists.txt b/examples/cpp/ratls/CMakeLists.txt +new file mode 100644 +index 0000000000..200583db23 +--- /dev/null ++++ b/examples/cpp/ratls/CMakeLists.txt +@@ -0,0 +1,64 @@ ++# Copyright (c) 2022 Intel Corporation ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++ ++cmake_minimum_required(VERSION 3.5.1) ++ ++project(RA-TLS C CXX) ++ ++include(../cmake/common.cmake) ++ ++# Proto file ++get_filename_component(hw_proto "../../protos/ratls.proto" ABSOLUTE) ++get_filename_component(hw_proto_path "${hw_proto}" PATH) ++ ++# Generated sources ++set(hw_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/ratls.pb.cc") ++set(hw_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/ratls.pb.h") ++set(hw_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/ratls.grpc.pb.cc") ++set(hw_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/ratls.grpc.pb.h") ++add_custom_command( ++ OUTPUT "${hw_proto_srcs}" "${hw_proto_hdrs}" "${hw_grpc_srcs}" "${hw_grpc_hdrs}" ++ COMMAND ${_PROTOBUF_PROTOC} ++ ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}" ++ --cpp_out "${CMAKE_CURRENT_BINARY_DIR}" ++ -I "${hw_proto_path}" ++ --plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}" ++ "${hw_proto}" ++ DEPENDS "${hw_proto}") ++ ++# Include generated *.pb.h files ++include_directories("${CMAKE_CURRENT_BINARY_DIR}") ++ ++# hw_grpc_proto ++add_library(hw_grpc_proto SHARED ++ ${hw_grpc_srcs} ++ ${hw_grpc_hdrs} ++ ${hw_proto_srcs} ++ ${hw_proto_hdrs}) ++target_link_libraries(hw_grpc_proto ++ ${_REFLECTION} ++ ${_GRPC_GRPCPP} ++ ${_PROTOBUF_LIBPROTOBUF}) ++ ++foreach(_target grpc_ratls_client grpc_ratls_server) ++ add_library(${_target} SHARED "${_target}.cc") ++ target_link_libraries(${_target} ++ hw_grpc_proto) ++endforeach() ++ ++foreach(_target client server) ++ add_executable(${_target} "${_target}.cc") ++ target_link_libraries(${_target} ++ grpc_ratls_${_target}) ++endforeach() +diff --git a/examples/cpp/ratls/README.md b/examples/cpp/ratls/README.md +new file mode 100644 +index 0000000000..4b3d8307e8 +--- /dev/null ++++ b/examples/cpp/ratls/README.md +@@ -0,0 +1,15 @@ ++# gRPC ++ ++This directory contains the Makefile and the template manifest for the most ++recent version of gRPC (as of this writing, version 3.18.0). This was tested ++on a machine with SGX v1 and Ubuntu 18.04. ++ ++The Makefile and the template manifest contain extensive comments and are made ++self-explanatory. Please review them to gain understanding of Gramine-SGX ++and requirements for applications running under Gramine-SGX. ++ ++# Quick Start ++ ++``` ++./build.sh ++``` +diff --git a/examples/cpp/ratls/build.sh b/examples/cpp/ratls/build.sh +new file mode 100644 +index 0000000000..b6ed9c8aea +--- /dev/null ++++ b/examples/cpp/ratls/build.sh +@@ -0,0 +1,27 @@ ++# ++# Copyright (c) 2022 Intel Corporation ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++ ++set -ex ++ ++export BUILD_TYPE=Release ++export EXP_PATH=`dirname $0` ++ ++# build c++ example ++cd ${EXP_PATH} ++mkdir -p build ++cd build ++cmake -D CMAKE_PREFIX_PATH=${INSTALL_PREFIX} -D CMAKE_BUILD_TYPE=${BUILD_TYPE} .. ++make -j `nproc` ++cd - +diff --git a/examples/cpp/ratls/client.cc b/examples/cpp/ratls/client.cc +new file mode 100644 +index 0000000000..db13031d7f +--- /dev/null ++++ b/examples/cpp/ratls/client.cc +@@ -0,0 +1,41 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++#include ++#include ++#include ++ ++#include "../grpc_ratls_client.h" ++ ++ ++int main(int argc, char** argv) { ++ // Parse arguments ++ if (argc < 4) { ++ printf("[ERROR] Three arguments must be provided\n\n"); ++ printf("Usage: client \n"); ++ return -1; ++ } ++ ++ grpc_ratls_get_secret( ++ argv[1], ++ "dynamic_config.json", ++ argv[2], ++ argv[3] ++ ); ++ ++ return 0; ++} +diff --git a/examples/cpp/ratls/grpc_ratls_client.cc b/examples/cpp/ratls/grpc_ratls_client.cc +new file mode 100644 +index 0000000000..1c2fd75a7e +--- /dev/null ++++ b/examples/cpp/ratls/grpc_ratls_client.cc +@@ -0,0 +1,212 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#ifdef BAZEL_BUILD ++#include "examples/protos/ratls.grpc.pb.h" ++#else ++#include "ratls.grpc.pb.h" ++#endif ++ ++#include "../grpc_ratls_client.h" ++ ++using ratls::GrSecret; ++using ratls::SecretRequest; ++using ratls::SecretReply; ++ ++typedef enum { ++ GRPC_RATLS_SUCCESS = 0, /// Success ++ GRPC_RATLS_ERR = -1, /// General error ++ GRPC_RATLS_INVALID_PARAM = -2, /// Invalid parameter ++ GRPC_RATLS_BUF_ERR = -3, /// Invalid buffer or buffer allocation failure ++ GRPC_RATLS_NO_SECRET = -4, /// No valid secret ++ GRPC_RATLS_BUF_TOO_SMALL = -5 /// Buffer is too small ++} grpc_ratls_result_t; ++ ++// Client ++class GrSecretClient { ++ public: ++ GrSecretClient(std::shared_ptr channel) : stub_(GrSecret::NewStub(channel)) {} ++ ++ std::string GetSecret(const std::string& name) { ++ SecretRequest request; ++ request.set_name(name); ++ ++ SecretReply reply; ++ ++ grpc::ClientContext context; ++ ++ grpc::Status status = stub_->GetSecret(&context, request, &reply); ++ ++ if (status.ok()) { ++ return reply.secret(); ++ } else { ++ std::cout << status.error_code() << ": " << status.error_message() << std::endl; ++ return ""; ++ } ++ } ++ ++ private: ++ std::unique_ptr stub_; ++}; ++ ++static const unsigned char base64_table[65] = ++ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; ++ ++static size_t base64_decode_len(const char *b64input) { ++ size_t len = strlen(b64input), padding = 0; ++ ++ if (b64input[len - 1] == '=' && b64input[len - 2] == '=') { //last two chars are = ++ padding = 2; ++ } else if (b64input[len - 1] == '=') { //last char is = ++ padding = 1; ++ } ++ ++ return (len * 3) / 4 - padding; ++} ++ ++/** ++ * base64_decode - Base64 decode ++ */ ++void base64_decode(const char *b64input, unsigned char *dest, size_t dest_len) { ++ unsigned char dtable[256], *pos, block[4], tmp; ++ size_t i, count, olen; ++ size_t len = strlen(b64input); ++ ++ memset(dtable, 0x80, 256); ++ for (i = 0; i < sizeof(base64_table) - 1; i++) { ++ dtable[base64_table[i]] = (unsigned char) i; ++ } ++ dtable['='] = 0; ++ ++ olen = base64_decode_len(b64input); ++ if (olen > dest_len) { ++ printf("Base64 encoded length %ld is biggeer than %ld\n", olen, dest_len); ++ return; ++ } ++ ++ pos = dest; ++ count = 0; ++ for (i = 0; i < len; i++) { ++ tmp = dtable[(unsigned char)b64input[i]]; ++ if (tmp == 0x80) { ++ continue; ++ } ++ block[count] = tmp; ++ count++; ++ if (count == 4) { ++ *pos++ = (block[0] << 2) | (block[1] >> 4); ++ *pos++ = (block[1] << 4) | (block[2] >> 2); ++ *pos++ = (block[2] << 6) | block[3]; ++ count = 0; ++ } ++ } ++} ++ ++static grpc_ratls_result_t grpc_ratls_get_secret_string( ++ const char *server_addr, ++ const char *config_json, ++ const char *name, ++ std::string* secret_string ++) ++{ ++ auto cred = grpc::sgx::TlsCredentials(config_json); ++ auto channel = grpc::CreateChannel(server_addr, cred); ++ ++ GrSecretClient gr_secret(channel); ++ ++ std::string secret = gr_secret.GetSecret(name); ++ // std::cout << "secret received: " << secret << "len: " << secret.length() << std::endl; ++ ++ if (secret.empty()) { ++ return GRPC_RATLS_NO_SECRET; ++ } else { ++ //Decode From Base64 ++ size_t len = base64_decode_len(secret.c_str()); ++ if (len) { ++ char *secret_orig = (char *)malloc(len); ++ if (!secret_orig) { ++ return GRPC_RATLS_BUF_ERR; ++ } ++ base64_decode(secret.c_str(), (unsigned char *)secret_orig, len); ++ secret_string->assign(secret_orig, secret_orig + len - 1); ++ free(secret_orig); ++ ++ return GRPC_RATLS_SUCCESS; ++ } ++ ++ return GRPC_RATLS_ERR; ++ } ++} ++ ++// Get secret to file ++int grpc_ratls_get_secret( ++ const char *server_addr, ++ const char *config_json, ++ const char *name, ++ const char *secret_file ++) ++{ ++ std::string secret_string; ++ grpc_ratls_result_t ret = grpc_ratls_get_secret_string( ++ server_addr, config_json, name, &secret_string ++ ); ++ ++ if (ret == GRPC_RATLS_SUCCESS) { ++ //write to file ++ std::ofstream myfile; ++ myfile.open(secret_file); ++ myfile << secret_string; ++ myfile.close(); ++ } ++ ++ return ret; ++} ++ ++// Get secret to buffer ++int grpc_ratls_get_secret_to_buf( ++ const char *server_addr, ++ const char *config_json, ++ const char *name, ++ char *secret_buf, ++ unsigned int *buf_len ++) ++{ ++ std::string secret_string; ++ grpc_ratls_result_t ret = grpc_ratls_get_secret_string( ++ server_addr, config_json, name, &secret_string ++ ); ++ ++ if (ret == GRPC_RATLS_SUCCESS) { ++ if (*buf_len < secret_string.size()) { ++ std::cout << "buffer size is smaller than the secret string length " << secret_string.size() << std::endl;; ++ return GRPC_RATLS_BUF_TOO_SMALL; ++ } ++ //write to buffer ++ memcpy(secret_buf, secret_string.data(), secret_string.size()); ++ *buf_len = secret_string.size(); ++ } ++ ++ return ret; ++} +diff --git a/examples/cpp/ratls/grpc_ratls_client.h b/examples/cpp/ratls/grpc_ratls_client.h +new file mode 100644 +index 0000000000..10b39c7459 +--- /dev/null ++++ b/examples/cpp/ratls/grpc_ratls_client.h +@@ -0,0 +1,28 @@ ++#ifndef _GRPC_RATLS_CLIENT_H_ ++#define _GRPC_RATLS_CLIENT_H_ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++// client get secret ++extern int grpc_ratls_get_secret( ++ const char *server_addr, // grpc server address+port, such as "localhost:50051" ++ const char *config_json, // ratls handshake config json file ++ const char *name, // secret name to be requested ++ const char *secret_file // secret file to be saved ++); ++ ++extern int grpc_ratls_get_secret_to_buf( ++ const char *server_addr, // grpc server address+port, such as "localhost:50051" ++ const char *config_json, // ratls handshake config json file ++ const char *name, // secret name to be requested ++ char *secret_buf, // buffer to save secret ++ unsigned int *buf_len // buffer size ++); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _GRPC_RATLS_CLIENT_H_ +\ No newline at end of file +diff --git a/examples/cpp/ratls/grpc_ratls_server.cc b/examples/cpp/ratls/grpc_ratls_server.cc +new file mode 100644 +index 0000000000..0a88c301d5 +--- /dev/null ++++ b/examples/cpp/ratls/grpc_ratls_server.cc +@@ -0,0 +1,96 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#include ++#include ++#include ++ ++#ifdef BAZEL_BUILD ++#include "examples/protos/ratls.grpc.pb.h" ++#else ++#include "ratls.grpc.pb.h" ++#endif ++ ++#include "../grpc_ratls_server.h" ++ ++using ratls::GrSecret; ++using ratls::SecretRequest; ++using ratls::SecretReply; ++ ++ ++// Logic and data behind the server's behavior. ++class GrSecretServiceImpl final: public GrSecret::Service { ++ public: ++ grpc::Status GetSecret( ++ grpc::ServerContext* context, const SecretRequest* request, SecretReply* reply) override { ++ //std::cout << "Request: " << request->name() << std::endl; ++ auto secret = this->get_secret_string(request->name().c_str()); ++ if (!secret.empty()) { ++ reply->set_secret(secret); ++ return grpc::Status::OK; ++ } else { ++ return grpc::Status::CANCELLED; ++ } ++ } ++ ++ GrSecretServiceImpl(const char* file) : secret_file(nullptr) { ++ this->secret_file = file; ++ } ++ ++ private: ++ std::string get_secret_string(const char *name) { ++ std::string secret = ""; ++ class grpc::sgx::json_engine secret_config(this->secret_file); ++ auto item = secret_config.get_item(secret_config.get_handle(), name); ++ if (item) { ++ secret = secret_config.print_item(item); ++ } ++ ++ return secret; ++ } ++ ++ const char *secret_file; ++}; ++ ++ ++int grpc_ratls_start_server( ++ const char *server_addr, ++ const char *config_json, ++ const char *secret_json ++) ++{ ++ GrSecretServiceImpl service(secret_json); ++ ++ grpc::EnableDefaultHealthCheckService(true); ++ grpc::reflection::InitProtoReflectionServerBuilderPlugin(); ++ grpc::ServerBuilder builder; ++ ++ auto creds = grpc::sgx::TlsServerCredentials(config_json); ++ GPR_ASSERT(creds.get() != nullptr); ++ ++ builder.AddListeningPort(server_addr, creds); ++ builder.RegisterService(&service); ++ ++ std::unique_ptr server(builder.BuildAndStart()); ++ std::cout << "Server listening on " << server_addr << std::endl; ++ ++ server->Wait(); ++ ++ return 0; ++} ++ +diff --git a/examples/cpp/ratls/grpc_ratls_server.h b/examples/cpp/ratls/grpc_ratls_server.h +new file mode 100644 +index 0000000000..1aee644a49 +--- /dev/null ++++ b/examples/cpp/ratls/grpc_ratls_server.h +@@ -0,0 +1,19 @@ ++#ifndef _GRPC_RATLS_SERVER_H_ ++#define _GRPC_RATLS_SERVER_H_ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++// start server ++extern int grpc_ratls_start_server( ++ const char *server_addr, // grpc server address+port, such as "localhost:50051" ++ const char *config_json, // ratls handshake config json file ++ const char *secret_json // secret config json file ++); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif // _GRPC_RATLS_SERVER_H_ +\ No newline at end of file +diff --git a/examples/cpp/ratls/server.cc b/examples/cpp/ratls/server.cc +new file mode 100644 +index 0000000000..38479703a9 +--- /dev/null ++++ b/examples/cpp/ratls/server.cc +@@ -0,0 +1,37 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++#include ++#include ++#include "../grpc_ratls_server.h" ++ ++ ++int main(int argc, char** argv) { ++ if (argc < 2) { ++ printf("[ERROR] One argument must be provided\n\n"); ++ printf("Usage: server \n"); ++ return -1; ++ } ++ ++ grpc_ratls_start_server( ++ argv[1], ++ "dynamic_config.json", ++ "secret_config.json" ++ ); ++ ++ return 0; ++} +\ No newline at end of file +diff --git a/examples/protos/ratls.proto b/examples/protos/ratls.proto +new file mode 100644 +index 0000000000..0bae704719 +--- /dev/null ++++ b/examples/protos/ratls.proto +@@ -0,0 +1,38 @@ ++// Copyright (c) 2022 Intel Corporation ++// ++// Licensed under the Apache License, Version 2.0 (the "License"); ++// you may not use this file except in compliance with the License. ++// You may obtain a copy of the License at ++// ++// http://www.apache.org/licenses/LICENSE-2.0 ++// ++// Unless required by applicable law or agreed to in writing, software ++// distributed under the License is distributed on an "AS IS" BASIS, ++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++// See the License for the specific language governing permissions and ++// limitations under the License. ++ ++syntax = "proto3"; ++ ++option java_multiple_files = true; ++option java_package = "io.grpc.examples.ratls"; ++option java_outer_classname = "RATLSProto"; ++option objc_class_prefix = "HLW"; ++ ++package ratls; ++ ++// The GRPC_RATLS secret service definition. ++service GrSecret { ++ // Sends a greeting ++ rpc GetSecret (SecretRequest) returns (SecretReply) {} ++} ++ ++// The request message containing the request's name. ++message SecretRequest { ++ string name = 1; ++} ++ ++// The response message containing the secret (base64 encoded string) ++message SecretReply { ++ string secret = 1; ++} +diff --git a/include/grpcpp/security/sgx/sgx_ra_tls.h b/include/grpcpp/security/sgx/sgx_ra_tls.h +new file mode 100644 +index 0000000000..2ea167d2f9 +--- /dev/null ++++ b/include/grpcpp/security/sgx/sgx_ra_tls.h +@@ -0,0 +1,83 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#ifndef SGX_RA_TLS_H ++#define SGX_RA_TLS_H ++ ++#include ++ ++#include ++#include ++ ++#include ++ ++namespace grpc { ++namespace sgx { ++ ++struct sgx_config; ++ ++std::vector ra_tls_get_key_cert(); ++ ++void ra_tls_parse_sgx_config(sgx_config sgx_cfg); ++ ++void ra_tls_parse_sgx_config(const char* file); ++ ++void ra_tls_verify_init(); ++ ++int ra_tls_auth_check_schedule(void* /* config_user_data */, ++ grpc_tls_server_authorization_check_arg* arg); ++ ++std::shared_ptr TlsCredentials(sgx_config sgx_cfg); ++ ++std::shared_ptr TlsCredentials(const char* sgx_cfg_json); ++ ++std::shared_ptr TlsServerCredentials(sgx_config sgx_cfg); ++ ++std::shared_ptr TlsServerCredentials(const char* sgx_cfg_json); ++ ++std::shared_ptr CreateSecureChannel( ++ string target_str, std::shared_ptr channel_creds); ++ ++class json_engine { ++ public: ++ json_engine(); ++ ++ json_engine(const char*); ++ ++ ~json_engine(); ++ ++ bool open(const char*); ++ ++ void close(); ++ ++ cJSON* get_handle(); ++ ++ cJSON* get_item(cJSON* obj, const char* item); ++ ++ char* print_item(cJSON* obj); ++ ++ bool compare_item(cJSON* obj, const char* item); ++ ++ private: ++ cJSON* handle; ++}; ++ ++} // namespace sgx ++} // namespace grpc ++ ++#endif // SGX_RA_TLS_H +diff --git a/include/grpcpp/security/sgx/sgx_ra_tls_options.h b/include/grpcpp/security/sgx/sgx_ra_tls_options.h +new file mode 100644 +index 0000000000..cb942b0911 +--- /dev/null ++++ b/include/grpcpp/security/sgx/sgx_ra_tls_options.h +@@ -0,0 +1,67 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#ifndef SGX_RA_TLS_OPTIONS_H ++#define SGX_RA_TLS_OPTIONS_H ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++namespace grpc { ++namespace sgx { ++ ++// Contains configurable options on the client side. ++// Client side doesn't need to always use certificate provider. When the ++// certificate provider is not set, we will use the root certificates stored ++// in the system default locations, and assume client won't provide any ++// identity certificates(single side TLS). ++// It is used for experimental purposes for now and it is subject to change. ++class CredentialsOptions final : public grpc::experimental::TlsCredentialsOptions { ++ public: ++ ++ explicit CredentialsOptions() : TlsCredentialsOptions() {} ++ ++ // Sets option to request the certificates from the client. ++ // The default is GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE. ++ void set_cert_request_type( ++ grpc_ssl_client_certificate_request_type cert_request_type); ++ ++ // Sets the option to verify the server. ++ // The default is GRPC_TLS_SERVER_VERIFICATION. ++ void set_verification_option( ++ grpc_tls_server_verification_option server_verification_option); ++ ++ // Sets the custom authorization config. ++ void set_authorization_check_config( ++ std::shared_ptr ++ authorization_check_config); ++ ++ private: ++}; ++ ++} // namespace sgx ++} // namespace grpc ++ ++#endif // SGX_RA_TLS_OPTIONS_H +diff --git a/src/core/lib/security/credentials/tls/tls_credentials.cc b/src/core/lib/security/credentials/tls/tls_credentials.cc +index f5b05d8a01..ab80b22554 100644 +--- a/src/core/lib/security/credentials/tls/tls_credentials.cc ++++ b/src/core/lib/security/credentials/tls/tls_credentials.cc +@@ -41,11 +41,11 @@ bool CredentialOptionSanityCheck(const grpc_tls_credentials_options* options, + return false; + } + // TODO(ZhenLian): remove this when it is also supported on server side. +- if (!is_client && options->server_authorization_check_config() != nullptr) { +- gpr_log(GPR_INFO, +- "Server's credentials options should not contain server " +- "authorization check config."); +- } ++ // if (!is_client && options->server_authorization_check_config() != nullptr) { ++ // gpr_log(GPR_INFO, ++ // "Server's credentials options should not contain server " ++ // "authorization check config."); ++ // } + if (options->server_verification_option() != GRPC_TLS_SERVER_VERIFICATION && + options->server_authorization_check_config() == nullptr) { + gpr_log(GPR_ERROR, +diff --git a/src/core/lib/security/security_connector/tls/tls_security_connector.cc b/src/core/lib/security/security_connector/tls/tls_security_connector.cc +index ea6b42e07d..db21ed0f4c 100644 +--- a/src/core/lib/security/security_connector/tls/tls_security_connector.cc ++++ b/src/core/lib/security/security_connector/tls/tls_security_connector.cc +@@ -67,6 +67,13 @@ tsi_ssl_pem_key_cert_pair* ConvertToTsiPemKeyCertPair( + + } // namespace + ++void gpr_check_free(void* p) { ++ if (p) { ++ gpr_free(p); ++ p = nullptr; ++ } ++} ++ + // -------------------channel security connector------------------- + RefCountedPtr + TlsChannelSecurityConnector::CreateTlsChannelSecurityConnector( +@@ -241,7 +248,7 @@ void TlsChannelSecurityConnector::check_peer( + ? gpr_strdup(target_name) + : check_arg_->target_name; + on_peer_checked_ = on_peer_checked; +- gpr_free(peer_pem); ++ gpr_check_free(peer_pem); + const tsi_peer_property* chain = tsi_peer_get_property_by_name( + &peer, TSI_X509_PEM_CERT_CHAIN_PROPERTY); + if (chain != nullptr) { +@@ -252,7 +259,7 @@ void TlsChannelSecurityConnector::check_peer( + check_arg_->peer_cert_full_chain == nullptr + ? gpr_strdup(peer_pem_chain) + : check_arg_->peer_cert_full_chain; +- gpr_free(peer_pem_chain); ++ gpr_check_free(peer_pem_chain); + } + // TODO(zhenlian) - This should be cleaned up as part of the custom + // verification changes. Fill in the subject alternative names +@@ -474,9 +481,9 @@ void TlsChannelSecurityConnector::ServerAuthorizationCheckArgDestroy( + if (arg == nullptr) { + return; + } +- gpr_free(const_cast(arg->target_name)); +- gpr_free(const_cast(arg->peer_cert)); +- gpr_free(const_cast(arg->peer_cert_full_chain)); ++ gpr_check_free(const_cast(arg->target_name)); ++ gpr_check_free(const_cast(arg->peer_cert)); ++ gpr_check_free(const_cast(arg->peer_cert_full_chain)); + for (size_t i = 0; i < arg->subject_alternative_names_size; ++i) { + delete[] arg->subject_alternative_names[i]; + } +@@ -486,6 +493,7 @@ void TlsChannelSecurityConnector::ServerAuthorizationCheckArgDestroy( + arg->destroy_context(arg->context); + } + delete arg; ++ arg = nullptr; + } + + // -------------------server security connector------------------- +@@ -509,12 +517,91 @@ TlsServerSecurityConnector::CreateTlsServerSecurityConnector( + std::move(options)); + } + ++void TlsServerSecurityConnector::ClientAuthorizationCheckDone( ++ grpc_tls_server_authorization_check_arg* arg) { ++ GPR_ASSERT(arg != nullptr); ++ ExecCtx exec_ctx; ++ grpc_error_handle error = ProcessClientAuthorizationCheckResult(arg); ++ TlsServerSecurityConnector* connector = ++ static_cast(arg->cb_user_data); ++ ExecCtx::Run(DEBUG_LOCATION, connector->on_peer_checked_, error); ++} ++ ++grpc_error_handle ++TlsServerSecurityConnector::ProcessClientAuthorizationCheckResult( ++ grpc_tls_server_authorization_check_arg* arg) { ++ grpc_error_handle error = GRPC_ERROR_NONE; ++ /* Client authorization check is cancelled by caller. */ ++ if (arg->status == GRPC_STATUS_CANCELLED) { ++ error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( ++ absl::StrCat("Client authorization check is cancelled by the caller " ++ "with error: ", ++ arg->error_details->error_details()) ++ .c_str()); ++ } else if (arg->status == GRPC_STATUS_OK) { ++ /* Client authorization check completed successfully but returned check ++ * failure. */ ++ if (!arg->success) { ++ error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( ++ absl::StrCat("Client authorization check failed with error: ", ++ arg->error_details->error_details()) ++ .c_str()); ++ } ++ /* Client authorization check did not complete correctly. */ ++ } else { ++ error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( ++ absl::StrCat( ++ "Client authorization check did not finish correctly with error: ", ++ arg->error_details->error_details()) ++ .c_str()); ++ } ++ return error; ++} ++ ++grpc_tls_server_authorization_check_arg* ++TlsServerSecurityConnector::ClientAuthorizationCheckArgCreate( ++ void* user_data) { ++ grpc_tls_server_authorization_check_arg* arg = ++ new grpc_tls_server_authorization_check_arg(); ++ arg->target_name = nullptr; ++ arg->peer_cert = nullptr; ++ arg->peer_cert_full_chain = nullptr; ++ arg->subject_alternative_names = nullptr; ++ arg->subject_alternative_names_size = 0; ++ arg->error_details = new grpc_tls_error_details(); ++ arg->cb = ClientAuthorizationCheckDone; ++ arg->cb_user_data = user_data; ++ arg->status = GRPC_STATUS_OK; ++ return arg; ++} ++ ++void TlsServerSecurityConnector::ClientAuthorizationCheckArgDestroy( ++ grpc_tls_server_authorization_check_arg* arg) { ++ if (arg == nullptr) { ++ return; ++ } ++ gpr_check_free(const_cast(arg->target_name)); ++ gpr_check_free(const_cast(arg->peer_cert)); ++ gpr_check_free(const_cast(arg->peer_cert_full_chain)); ++ for (size_t i = 0; i < arg->subject_alternative_names_size; ++i) { ++ delete[] arg->subject_alternative_names[i]; ++ } ++ delete[] arg->subject_alternative_names; ++ delete arg->error_details; ++ if (arg->destroy_context != nullptr) { ++ arg->destroy_context(arg->context); ++ } ++ delete arg; ++ arg = nullptr; ++} ++ + TlsServerSecurityConnector::TlsServerSecurityConnector( + RefCountedPtr server_creds, + RefCountedPtr options) + : grpc_server_security_connector(GRPC_SSL_URL_SCHEME, + std::move(server_creds)), + options_(std::move(options)) { ++ check_arg_ = ClientAuthorizationCheckArgCreate(this); + // Create a watcher. + auto watcher_ptr = absl::make_unique(this); + certificate_watcher_ = watcher_ptr.get(); +@@ -539,10 +626,15 @@ TlsServerSecurityConnector::~TlsServerSecurityConnector() { + // Cancel all the watchers. + grpc_tls_certificate_distributor* distributor = + options_->certificate_distributor(); +- distributor->CancelTlsCertificatesWatch(certificate_watcher_); ++ if (distributor != nullptr) { ++ distributor->CancelTlsCertificatesWatch(certificate_watcher_); ++ } + if (server_handshaker_factory_ != nullptr) { + tsi_ssl_server_handshaker_factory_unref(server_handshaker_factory_); + } ++ if (check_arg_ != nullptr) { ++ ClientAuthorizationCheckArgDestroy(check_arg_); ++ } + } + + void TlsServerSecurityConnector::add_handshakers( +@@ -574,10 +666,98 @@ void TlsServerSecurityConnector::check_peer( + RefCountedPtr* auth_context, + grpc_closure* on_peer_checked) { + grpc_error_handle error = grpc_ssl_check_alpn(&peer); ++ if (error != GRPC_ERROR_NONE) { ++ ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); ++ tsi_peer_destruct(&peer); ++ return; ++ } + *auth_context = + grpc_ssl_peer_to_auth_context(&peer, GRPC_TLS_TRANSPORT_SECURITY_TYPE); +- tsi_peer_destruct(&peer); ++ if (options_->server_verification_option() == GRPC_TLS_SERVER_VERIFICATION) { ++ /* Do the default host name check if specifying the target name. */ ++ error = internal::TlsCheckHostName("", &peer); ++ if (error != GRPC_ERROR_NONE) { ++ ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); ++ tsi_peer_destruct(&peer); ++ return; ++ } ++ } ++ /* Do the custom client authorization check, if specified by the user. */ ++ const grpc_tls_server_authorization_check_config* config = ++ options_->server_authorization_check_config(); ++ /* If client authorization config is not null, use it to perform ++ * client authorization check. */ ++ if (config != nullptr) { ++ const tsi_peer_property* p = ++ tsi_peer_get_property_by_name(&peer, TSI_X509_PEM_CERT_PROPERTY); ++ if (p == nullptr) { ++ error = GRPC_ERROR_CREATE_FROM_STATIC_STRING( ++ "Cannot check peer: missing pem cert property."); ++ } else { ++ char* peer_pem = static_cast(gpr_zalloc(p->value.length + 1)); ++ memcpy(peer_pem, p->value.data, p->value.length); ++ GPR_ASSERT(check_arg_ != nullptr); ++ check_arg_->peer_cert = gpr_strdup(peer_pem); ++ check_arg_->target_name = gpr_strdup(""); ++ on_peer_checked_ = on_peer_checked; ++ gpr_check_free(peer_pem); ++ const tsi_peer_property* chain = tsi_peer_get_property_by_name( ++ &peer, TSI_X509_PEM_CERT_CHAIN_PROPERTY); ++ if (chain != nullptr) { ++ char* peer_pem_chain = ++ static_cast(gpr_zalloc(chain->value.length + 1)); ++ memcpy(peer_pem_chain, chain->value.data, chain->value.length); ++ check_arg_->peer_cert_full_chain = ++ check_arg_->peer_cert_full_chain == nullptr ++ ? gpr_strdup(peer_pem_chain) ++ : check_arg_->peer_cert_full_chain; ++ gpr_check_free(peer_pem_chain); ++ } ++ // TODO(zhenlian) - This should be cleaned up as part of the custom ++ // verification changes. Fill in the subject alternative names ++ std::vector subject_alternative_names; ++ for (size_t i = 0; i < peer.property_count; i++) { ++ const tsi_peer_property* prop = &peer.properties[i]; ++ if (strcmp(prop->name, ++ TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY) == 0) { ++ char* san = new char[prop->value.length + 1]; ++ memcpy(san, prop->value.data, prop->value.length); ++ san[prop->value.length] = '\0'; ++ subject_alternative_names.emplace_back(san); ++ } ++ } ++ if (check_arg_->subject_alternative_names != nullptr) { ++ for (size_t i = 0; i < check_arg_->subject_alternative_names_size; ++ ++i) { ++ delete[] check_arg_->subject_alternative_names[i]; ++ } ++ delete[] check_arg_->subject_alternative_names; ++ } ++ check_arg_->subject_alternative_names_size = ++ subject_alternative_names.size(); ++ if (subject_alternative_names.empty()) { ++ check_arg_->subject_alternative_names = nullptr; ++ } else { ++ check_arg_->subject_alternative_names = ++ new char*[check_arg_->subject_alternative_names_size]; ++ for (size_t i = 0; i < check_arg_->subject_alternative_names_size; ++ ++i) { ++ check_arg_->subject_alternative_names[i] = ++ subject_alternative_names[i]; ++ } ++ } ++ int callback_status = config->Schedule(check_arg_); ++ /* Client authorization check is handled asynchronously. */ ++ if (callback_status) { ++ tsi_peer_destruct(&peer); ++ return; ++ } ++ /* Client authorization check is handled synchronously. */ ++ error = ProcessClientAuthorizationCheckResult(check_arg_); ++ } ++ } + ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); ++ tsi_peer_destruct(&peer); + } + + int TlsServerSecurityConnector::cmp( +diff --git a/src/core/lib/security/security_connector/tls/tls_security_connector.h b/src/core/lib/security/security_connector/tls/tls_security_connector.h +index 80c26954ac..cd830b9b7a 100644 +--- a/src/core/lib/security/security_connector/tls/tls_security_connector.h ++++ b/src/core/lib/security/security_connector/tls/tls_security_connector.h +@@ -219,9 +219,31 @@ class TlsServerSecurityConnector final : public grpc_server_security_connector { + grpc_security_status UpdateHandshakerFactoryLocked() + ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_); + ++ // gRPC-provided callback executed by application, which servers to bring the ++ // control back to gRPC core. ++ static void ClientAuthorizationCheckDone( ++ grpc_tls_server_authorization_check_arg* arg); ++ ++ // A util function to process server authorization check result. ++ static grpc_error_handle ProcessClientAuthorizationCheckResult( ++ grpc_tls_server_authorization_check_arg* arg); ++ ++ // A util function to create a server authorization check arg instance. ++ static grpc_tls_server_authorization_check_arg* ++ ClientAuthorizationCheckArgCreate(void* user_data); ++ ++ // A util function to destroy a server authorization check arg instance. ++ static void ClientAuthorizationCheckArgDestroy( ++ grpc_tls_server_authorization_check_arg* arg); ++ + RefCountedPtr options_; ++ + grpc_tls_certificate_distributor::TlsCertificatesWatcherInterface* + certificate_watcher_ = nullptr; ++ grpc_closure* on_peer_checked_ = nullptr; ++ std::string target_name_ = "localhost"; ++ std::string overridden_target_name_= "localhost"; ++ grpc_tls_server_authorization_check_arg* check_arg_ = nullptr; + + Mutex mu_; + tsi_ssl_server_handshaker_factory* server_handshaker_factory_ +diff --git a/src/cpp/sgx/sgx_ra_tls_backends.cc b/src/cpp/sgx/sgx_ra_tls_backends.cc +new file mode 100644 +index 0000000000..2ac4bff09f +--- /dev/null ++++ b/src/cpp/sgx/sgx_ra_tls_backends.cc +@@ -0,0 +1,260 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#include "sgx_ra_tls_backends.h" ++ ++namespace grpc { ++namespace sgx { ++ ++struct ra_tls_context _ctx_; ++ ++std::vector ra_tls_get_key_cert() { ++#ifdef SGX_RA_TLS_OCCLUM_BACKEND ++ return occlum_get_key_cert(); ++#endif ++} ++ ++static std::vector get_identity_key_cert_pairs( ++ std::vector key_cert) { ++ grpc::experimental::IdentityKeyCertPair key_cert_pair; ++ key_cert_pair.private_key = key_cert[0]; ++ key_cert_pair.certificate_chain = key_cert[1]; ++ std::vector identity_key_cert_pairs; ++ identity_key_cert_pairs.emplace_back(key_cert_pair); ++ return identity_key_cert_pairs; ++} ++ ++void credential_option_set_certificate_provider(grpc::sgx::CredentialsOptions& options) { ++ std::lock_guard lock(_ctx_.mtx); ++ ++ _ctx_.cache.id++; ++ ++ auto certificate_provider = _ctx_.cache.certificate_provider.insert({ ++ _ctx_.cache.id, ++ std::make_shared( ++ get_identity_key_cert_pairs(ra_tls_get_key_cert())) ++ }).first; ++ ++ options.set_certificate_provider(certificate_provider->second); ++ options.watch_identity_key_cert_pairs(); ++ options.set_cert_request_type(GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY); ++ options.set_root_cert_name(""); ++ options.set_identity_cert_name(""); ++} ++ ++static sgx_config parse_sgx_config_json(const char* file) { ++ class json_engine sgx_json(file); ++ struct sgx_config sgx_cfg; ++ ++ sgx_cfg.verify_mr_enclave = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_mr_enclave"), "on"); ++ sgx_cfg.verify_mr_signer = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_mr_signer"), "on"); ++ sgx_cfg.verify_isv_prod_id = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_isv_prod_id"), "on"); ++ sgx_cfg.verify_isv_svn = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_isv_svn"), "on"); ++ sgx_cfg.verify_config_svn = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_config_svn"), "on"); ++ sgx_cfg.verify_enclave_debuggable = ++ sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_enclave_debuggable"), "on"); ++ ++ auto objs = sgx_json.get_item(sgx_json.get_handle(), "sgx_mrs"); ++ auto obj_num = std::min(cJSON_GetArraySize(objs), SGX_MESUREMENTS_MAX_SIZE); ++ ++ sgx_cfg.sgx_mrs = std::vector(obj_num, sgx_measurement()); ++ for (auto i = 0; i < obj_num; i++) { ++ auto obj = cJSON_GetArrayItem(objs, i); ++ ++ auto mr_enclave = sgx_json.print_item(sgx_json.get_item(obj, "mr_enclave")); ++ memset(sgx_cfg.sgx_mrs[i].mr_enclave, 0, sizeof(sgx_cfg.sgx_mrs[i].mr_enclave)); ++ hex_to_byte(mr_enclave+1, sgx_cfg.sgx_mrs[i].mr_enclave, sizeof(sgx_cfg.sgx_mrs[i].mr_enclave)); ++ ++ auto mr_signer = sgx_json.print_item(sgx_json.get_item(obj, "mr_signer")); ++ memset(sgx_cfg.sgx_mrs[i].mr_signer, 0, sizeof(sgx_cfg.sgx_mrs[i].mr_signer)); ++ hex_to_byte(mr_signer+1, sgx_cfg.sgx_mrs[i].mr_signer, sizeof(sgx_cfg.sgx_mrs[i].mr_signer)); ++ ++ auto isv_prod_id = sgx_json.print_item(sgx_json.get_item(obj, "isv_prod_id")); ++ sgx_cfg.sgx_mrs[i].isv_prod_id = strtoul(isv_prod_id, nullptr, 10); ++ ++ auto isv_svn = sgx_json.print_item(sgx_json.get_item(obj, "isv_svn")); ++ sgx_cfg.sgx_mrs[i].isv_svn = strtoul(isv_svn, nullptr, 10); ++ ++ auto config_svn = sgx_json.print_item(sgx_json.get_item(obj, "config_svn")); ++ sgx_cfg.sgx_mrs[i].config_svn = strtoul(config_svn, nullptr, 10); ++ ++ if (cJSON_IsTrue(sgx_json.get_item(obj, "debuggable")) == 0) ++ sgx_cfg.sgx_mrs[i].debuggable = false; ++ else ++ sgx_cfg.sgx_mrs[i].debuggable = true; ++ }; ++ return sgx_cfg; ++} ++ ++void ra_tls_parse_sgx_config(sgx_config sgx_cfg) { ++ std::lock_guard lock(_ctx_.mtx); ++ _ctx_.sgx_cfg = sgx_cfg; ++} ++ ++void ra_tls_parse_sgx_config(const char* file) { ++ ra_tls_parse_sgx_config(parse_sgx_config_json(file)); ++} ++ ++void ra_tls_verify_init() { ++ std::lock_guard lock(_ctx_.mtx); ++} ++ ++static bool verify_measurement_internal(const char* mr_enclave, const char* mr_signer, ++ const char* isv_prod_id, const char* isv_svn, ++ const char* config_svn, bool debuggable) { ++ bool status = false; ++ auto & sgx_cfg = _ctx_.sgx_cfg; ++ for (auto & obj : sgx_cfg.sgx_mrs) { ++ status = true; ++ ++ if (status && sgx_cfg.verify_mr_enclave && \ ++ memcmp(obj.mr_enclave, mr_enclave, 32)) { ++ status = false; ++ } ++ ++ if (status && sgx_cfg.verify_mr_signer && \ ++ memcmp(obj.mr_signer, mr_signer, 32)) { ++ status = false; ++ } ++ ++ if (status && sgx_cfg.verify_isv_prod_id && \ ++ (obj.isv_prod_id != *(uint16_t*)isv_prod_id)) { ++ status = false; ++ } ++ ++ if (status && sgx_cfg.verify_isv_svn && \ ++ (obj.isv_svn != *(uint16_t*)isv_svn)) { ++ status = false; ++ } ++ ++ if (status && sgx_cfg.verify_config_svn && \ ++ (obj.config_svn != *(uint16_t*)config_svn)) { ++ status = false; ++ } ++ ++ if (status && sgx_cfg.verify_enclave_debuggable && \ ++ (obj.debuggable != debuggable)) { ++ status = false; ++ } ++ ++ if (status) { ++ break; ++ } ++ } ++ return status; ++} ++ ++int verify_measurement(const char* mr_enclave, const char* mr_signer, ++ const char* isv_prod_id, const char* isv_svn, ++ const char* config_svn, bool debuggable) { ++ std::lock_guard lock(_ctx_.mtx); ++ bool status = false; ++ try { ++ assert(mr_enclave && mr_signer && isv_prod_id && isv_svn && config_svn); ++ status = verify_measurement_internal( ++ mr_enclave, mr_signer, isv_prod_id, isv_svn, config_svn, debuggable ++ ); ++ if (status) { ++ grpc_printf(" |- verify result : success\n"); ++ } else { ++ grpc_printf("Below remote sgx measurements is not in the allowable list.\n"); ++ grpc_printf(" |- mr_enclave : %s\n", byte_to_hex(mr_enclave, 32).c_str()); ++ grpc_printf(" |- mr_signer : %s\n", byte_to_hex(mr_signer, 32).c_str()); ++ grpc_printf(" |- isv_prod_id : %hu\n", *((uint16_t*)isv_prod_id)); ++ grpc_printf(" |- isv_svn : %hu\n", *((uint16_t*)isv_svn)); ++ grpc_printf(" |- config_svn : %hu\n", *((uint16_t*)config_svn)); ++ grpc_printf(" |- debuggable : %s\n", debuggable?"true":"false"); ++ grpc_printf(" |- verify result : failed\n"); ++ } ++ } catch (...) { ++ grpc_printf("unable to verify measurement!"); ++ } ++ ++ fflush(stdout); ++ return status ? 0 : -1; ++} ++ ++int TlsAuthorizationCheck::Schedule(grpc::experimental::TlsServerAuthorizationCheckArg* arg) { ++ GPR_ASSERT(arg != nullptr); ++ ++ char der_crt[16000] = ""; ++ auto peer_cert_buf = arg->peer_cert(); ++ peer_cert_buf.copy(der_crt, peer_cert_buf.length(), 0); ++ ++#ifdef SGX_RA_TLS_OCCLUM_BACKEND ++ int ret = occlum_verify_cert((const unsigned char *)der_crt, 16000); ++#endif ++ ++ if (ret != 0) { ++ grpc_printf("something went wrong while verifying quote\n"); ++ arg->set_success(0); ++ arg->set_status(GRPC_STATUS_UNAUTHENTICATED); ++ } else { ++ arg->set_success(1); ++ arg->set_status(GRPC_STATUS_OK); ++ } ++ return 0; ++}; ++ ++void TlsAuthorizationCheck::Cancel(grpc::experimental::TlsServerAuthorizationCheckArg* arg) { ++ GPR_ASSERT(arg != nullptr); ++ arg->set_status(GRPC_STATUS_PERMISSION_DENIED); ++ arg->set_error_details("cancelled"); ++}; ++ ++int ra_tls_auth_check_schedule(void* /* confiuser_data */, ++ grpc_tls_server_authorization_check_arg* arg) { ++ char der_crt[16000] = ""; ++ memcpy(der_crt, arg->peer_cert, strlen(arg->peer_cert)); ++ ++#ifdef SGX_RA_TLS_OCCLUM_BACKEND ++ int ret = occlum_verify_cert((const unsigned char *)der_crt, 16000); ++#endif ++ ++ if (ret != 0) { ++ grpc_printf("something went wrong while verifying quote\n"); ++ arg->success = 0; ++ arg->status = GRPC_STATUS_UNAUTHENTICATED; ++ } else { ++ arg->success = 1; ++ arg->status = GRPC_STATUS_OK; ++ } ++ return 0; ++} ++ ++void credential_option_set_authorization_check(grpc::sgx::CredentialsOptions& options) { ++ std::lock_guard lock(_ctx_.mtx); ++ ++ _ctx_.cache.id++; ++ ++ auto authorization_check = _ctx_.cache.authorization_check.insert({ ++ _ctx_.cache.id, std::make_shared() ++ }).first; ++ ++ auto authorization_check_config = _ctx_.cache.authorization_check_config.insert({ ++ _ctx_.cache.id, ++ std::make_shared( ++ authorization_check->second) ++ }).first; ++ ++ options.set_authorization_check_config(authorization_check_config->second); ++ options.set_verification_option(GRPC_TLS_SKIP_ALL_SERVER_VERIFICATION); ++} ++ ++} // namespace sgx ++} // namespace grpc +diff --git a/src/cpp/sgx/sgx_ra_tls_backends.h b/src/cpp/sgx/sgx_ra_tls_backends.h +new file mode 100644 +index 0000000000..0c28518e46 +--- /dev/null ++++ b/src/cpp/sgx/sgx_ra_tls_backends.h +@@ -0,0 +1,114 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#ifndef SGX_RA_TLS_BACKENDS_H ++#define SGX_RA_TLS_BACKENDS_H ++ ++#include "sgx_ra_tls_utils.h" ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++// Set 1 for strict safety checks ++#define SGX_MESUREMENTS_MAX_SIZE 16 ++ ++namespace grpc { ++namespace sgx { ++ ++class TlsAuthorizationCheck ++ : public grpc::experimental::TlsServerAuthorizationCheckInterface { ++ int Schedule(grpc::experimental::TlsServerAuthorizationCheckArg* arg) override; ++ void Cancel(grpc::experimental::TlsServerAuthorizationCheckArg* arg) override; ++}; ++ ++struct sgx_measurement { ++ char mr_enclave[32]; ++ char mr_signer[32]; ++ uint16_t isv_prod_id; ++ uint16_t isv_svn; ++ uint16_t config_svn; ++ bool debuggable; ++}; ++ ++struct sgx_config { ++ bool verify_mr_enclave = true; ++ bool verify_mr_signer = true; ++ bool verify_isv_prod_id = true; ++ bool verify_isv_svn = true; ++ bool verify_config_svn = true; ++ bool verify_enclave_debuggable = true; ++ std::vector sgx_mrs; ++}; ++ ++struct ra_tls_cache { ++ int id = 0; ++ std::unordered_map< ++ int, std::shared_ptr ++ > certificate_provider; ++ std::unordered_map< ++ int, std::shared_ptr ++ > authorization_check; ++ std::unordered_map< ++ int, std::shared_ptr ++ > authorization_check_config; ++}; ++ ++struct ra_tls_context { ++ std::mutex mtx; ++ struct sgx_config sgx_cfg; ++ struct ra_tls_cache cache; ++}; ++ ++extern struct ra_tls_context _ctx_; ++ ++ ++#ifdef SGX_RA_TLS_OCCLUM_BACKEND ++ ++std::vector occlum_get_key_cert(); ++ ++int occlum_verify_cert(const unsigned char * der_crt, size_t len); ++ ++#endif // SGX_RA_TLS_OCCLUM_BACKEND ++ ++void ra_tls_parse_sgx_config(sgx_config sgx_cfg); ++ ++void ra_tls_parse_sgx_config(const char* file); ++ ++void ra_tls_verify_init(); ++ ++int verify_measurement(const char* mr_enclave, const char* mr_signer, ++ const char* isv_prod_id, const char* isv_svn, ++ const char* config_svn, bool debuggable); ++ ++void credential_option_set_certificate_provider(grpc::sgx::CredentialsOptions& options); ++ ++void credential_option_set_authorization_check(grpc::sgx::CredentialsOptions& options); ++ ++} // namespace sgx ++} // namespace grpc ++ ++#endif // SGX_RA_TLS_BACKENDS_H +diff --git a/src/cpp/sgx/sgx_ra_tls_credentials.cc b/src/cpp/sgx/sgx_ra_tls_credentials.cc +new file mode 100644 +index 0000000000..c0acf5fbd0 +--- /dev/null ++++ b/src/cpp/sgx/sgx_ra_tls_credentials.cc +@@ -0,0 +1,98 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#include "sgx_ra_tls_backends.h" ++ ++namespace grpc { ++namespace sgx { ++ ++/* ++RA-TLS: on client, only need to register ra_tls_verify_callback() for cert verification ++ 1. extract SGX quote from "quote" OID extension from crt ++ 2. compare public key's hash from cert against quote's report_data ++ 3. prepare user-supplied verification parameter "allow outdated TCB" ++ 4. call into libsgx_dcap_quoteverify to verify ECDSA/based SGX quote ++ 5. verify all measurements from the SGX quote ++*/ ++ ++std::shared_ptr TlsCredentials(sgx_config sgx_cfg) { ++ grpc::sgx::CredentialsOptions options; ++ ++ ra_tls_parse_sgx_config(sgx_cfg); ++ ++ credential_option_set_certificate_provider(options); ++ ++ ra_tls_verify_init(); ++ credential_option_set_authorization_check(options); ++ ++ return grpc::experimental::TlsCredentials( ++ reinterpret_cast(options)); ++}; ++ ++std::shared_ptr TlsCredentials(const char* sgx_cfg_json) { ++ grpc::sgx::CredentialsOptions options; ++ ++ ra_tls_parse_sgx_config(sgx_cfg_json); ++ ++ credential_option_set_certificate_provider(options); ++ ++ ra_tls_verify_init(); ++ credential_option_set_authorization_check(options); ++ ++ return grpc::experimental::TlsCredentials( ++ reinterpret_cast(options)); ++}; ++ ++std::shared_ptr TlsServerCredentials(sgx_config sgx_cfg) { ++ grpc::sgx::CredentialsOptions options; ++ ++ ra_tls_parse_sgx_config(sgx_cfg); ++ ++ credential_option_set_certificate_provider(options); ++ ++ ra_tls_verify_init(); ++ credential_option_set_authorization_check(options); ++ ++ return grpc::experimental::TlsServerCredentials( ++ reinterpret_cast(options)); ++}; ++ ++std::shared_ptr TlsServerCredentials(const char* sgx_cfg_json) { ++ grpc::sgx::CredentialsOptions options; ++ ++ ra_tls_parse_sgx_config(sgx_cfg_json); ++ ++ credential_option_set_certificate_provider(options); ++ ++ ra_tls_verify_init(); ++ credential_option_set_authorization_check(options); ++ ++ return grpc::experimental::TlsServerCredentials( ++ reinterpret_cast(options)); ++}; ++ ++std::shared_ptr CreateSecureChannel( ++ string target_str, std::shared_ptr channel_creds) { ++ GPR_ASSERT(channel_creds.get() != nullptr); ++ auto channel_args = grpc::ChannelArguments(); ++ channel_args.SetSslTargetNameOverride("RATLS"); ++ return grpc::CreateCustomChannel(target_str, std::move(channel_creds), channel_args); ++}; ++ ++} // namespace sgx ++} // namespace grpc +diff --git a/src/cpp/sgx/sgx_ra_tls_occlum.cc b/src/cpp/sgx/sgx_ra_tls_occlum.cc +new file mode 100644 +index 0000000000..ef0086aedf +--- /dev/null ++++ b/src/cpp/sgx/sgx_ra_tls_occlum.cc +@@ -0,0 +1,325 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#include "sgx_ra_tls_backends.h" ++ ++namespace grpc { ++namespace sgx { ++ ++#ifdef SGX_RA_TLS_OCCLUM_BACKEND ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "sgx_quote_3.h" ++#include "occlum_dcap.h" ++ ++const char * RA_TLS_LONG_NAME = "RA-TLS Extension"; ++const char * RA_TLS_SHORT_NAME = "RA-TLS"; ++ ++std::vector occlum_get_key_cert() { ++ unsigned char private_key_pem[16000], cert_pem[16000]; ++ ++ BIGNUM * e = BN_new(); ++ BN_set_word(e, RSA_F4); ++ RSA * rsa = RSA_new(); ++ RSA_generate_key_ex(rsa, 2048, e, nullptr); ++ ++ EVP_PKEY * pkey = EVP_PKEY_new(); ++ EVP_PKEY_assign_RSA(pkey, rsa); ++ ++ X509 * x509 = X509_new(); ++ ++ ASN1_INTEGER_set(X509_get_serialNumber(x509), 1); ++ X509_gmtime_adj(X509_get_notBefore(x509), 0); ++ X509_gmtime_adj(X509_get_notAfter(x509), 630720000L); ++ X509_set_pubkey(x509, pkey); ++ ++ X509_NAME * name = X509_NAME_new(); ++ // X509_NAME * name = X509_get_subject_name(x509); ++ X509_NAME_add_entry_by_txt(name, "C", MBSTRING_ASC, ++ (unsigned char *)"CN", -1, -1, 0); ++ X509_NAME_add_entry_by_txt(name, "O", MBSTRING_ASC, ++ (unsigned char *)"Intel Inc.", -1, -1, 0); ++ X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, ++ (unsigned char *)"localhost", -1, -1, 0); ++ X509_set_subject_name(x509, name); ++ X509_set_issuer_name(x509, name); ++ ++ int32_t ret; ++ size_t key_len = i2d_PUBKEY(pkey, 0); ++ unsigned char *public_key = NULL; ++ // size_t pubkey_len = i2d_PUBKEY(pkey, &public_key); ++ size_t pubkey_len = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x509), &public_key); ++ ++ if (pubkey_len != key_len) { ++ grpc_printf("get public key failed!\n"); ++ } ++ ++ BIO *bio = BIO_new(BIO_s_mem()); ++ if (nullptr == bio) { ++ grpc_printf("create bio failed!\n"); ++ } ++ ++ ret = PEM_write_bio_RSAPrivateKey(bio, rsa, nullptr, nullptr, 0, nullptr, nullptr); ++ if (ret == 0) { ++ grpc_printf("write private key failed!\n"); ++ } ++ ++ ret = BIO_read(bio, private_key_pem, bio->num_write); ++ if (ret == 0) { ++ grpc_printf("read private key failed!\n"); ++ } ++ ++ unsigned char hash[SHA256_DIGEST_LENGTH]; ++ SHA256_CTX sha256; ++ SHA256_Init(&sha256); ++ SHA256_Update(&sha256, public_key, key_len); ++ SHA256_Final(hash, &sha256); ++ ++ void *handle; ++ uint32_t quote_size; ++ uint8_t *p_quote_buffer; ++ ++ handle = dcap_quote_open(); ++ quote_size = dcap_get_quote_size(handle); ++ ++ p_quote_buffer = (uint8_t*)malloc(quote_size); ++ if (nullptr == p_quote_buffer) { ++ grpc_printf("Couldn't allocate quote_buffer\n"); ++ } ++ memset(p_quote_buffer, 0, quote_size); ++ ++ sgx_report_data_t report_data = { 0 }; ++ memcpy(report_data.d, hash, SHA256_DIGEST_LENGTH); ++ ++ ret = dcap_generate_quote(handle, p_quote_buffer, &report_data); ++ if (0 != ret) { ++ grpc_printf( "Error in dcap_generate_quote.\n"); ++ } ++ ++ int nid = OBJ_create("1.2.840.113741.1", RA_TLS_SHORT_NAME, RA_TLS_LONG_NAME); ++ ASN1_OBJECT* obj = OBJ_nid2obj(nid); ++ ASN1_OCTET_STRING* data = ASN1_OCTET_STRING_new(); ++ ASN1_OCTET_STRING_set(data, p_quote_buffer, quote_size); ++ ++ X509_EXTENSION* ext = X509_EXTENSION_create_by_OBJ(nullptr, obj, 0, data); ++ X509_add_ext(x509, ext, -1); ++ ++ X509_sign(x509, pkey, EVP_sha1()); ++ ++ BIO *cert_bio = BIO_new(BIO_s_mem()); ++ if (nullptr == cert_bio) { ++ grpc_printf("create crt bio failed!\n"); ++ } ++ ++ if (0 == PEM_write_bio_X509(cert_bio, x509)) { ++ BIO_free(cert_bio); ++ grpc_printf("read crt bio failed!\n"); ++ } ++ ++ ret = BIO_read(cert_bio, cert_pem, cert_bio->num_write); ++ if (ret == 0) { ++ grpc_printf("read pem cert failed!\n"); ++ } ++ ++ BIO_free(bio); ++ BIO_free(cert_bio); ++ EVP_PKEY_free(pkey); ++ check_free(p_quote_buffer); ++ dcap_quote_close(handle); ++ ++ std::vector key_cert; ++ key_cert.emplace_back(std::string((char*) private_key_pem)); ++ key_cert.emplace_back(std::string((char*) cert_pem)); ++ return key_cert; ++} ++ ++static int occlum_get_quote(X509 *x509, uint8_t **quote, size_t *len) { ++ STACK_OF(X509_EXTENSION) *exts = x509->cert_info->extensions; ++ int ext_num; ++ int ret = -1; ++ if (exts) { ++ ext_num = sk_X509_EXTENSION_num(exts); ++ ++ for (int i = 0; i < ext_num; i++) { ++ X509_EXTENSION *ext = sk_X509_EXTENSION_value(exts, i); ++ ASN1_OBJECT *obj = X509_EXTENSION_get_object(ext); ++ ++ unsigned nid = OBJ_obj2nid(obj); ++ if (nid != NID_undef) { ++ const char *ln = OBJ_nid2ln(nid); ++ if (memcmp(RA_TLS_LONG_NAME, ln, sizeof(RA_TLS_LONG_NAME)) == 0) { ++ BIO *ext_bio = BIO_new(BIO_s_mem()); ++ ++ *len = i2d_ASN1_OCTET_STRING(ext->value, quote); ++ *quote = *quote + 4; ++ *len = *len - 4; ++ ret = 0; ++ BIO_free(ext_bio); ++ } ++ } ++ ++ } ++ } ++ ++ return ret; ++} ++ ++static int occlum_verify_pubkey_hash(X509 *x509, uint8_t *pubkey_hash, size_t len) { ++ EVP_PKEY *pkey = X509_get_pubkey(x509); ++ ++ int32_t ret; ++ size_t key_len = EVP_PKEY_bits(pkey)/8; ++ unsigned char *public_key = NULL; ++ ++ key_len = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x509), &public_key); ++ ++ unsigned char hash[SHA256_DIGEST_LENGTH]; ++ SHA256_CTX sha256; ++ SHA256_Init(&sha256); ++ SHA256_Update(&sha256, public_key, key_len); ++ SHA256_Final(hash, &sha256); ++ ++ ret = memcmp(hash, pubkey_hash, len); ++ return ret; ++} ++ ++static int occlum_verify_quote(uint8_t * quote_buffer, size_t quote_size) { ++ void *handle; ++ handle = dcap_quote_open(); ++ ++ uint32_t supplemental_size, ret; ++ uint8_t *p_supplemental_buffer; ++ sgx_ql_qv_result_t quote_verification_result = SGX_QL_QV_RESULT_UNSPECIFIED; ++ uint32_t collateral_expiration_status = 1; ++ ++ supplemental_size = dcap_get_supplemental_data_size(handle); ++ p_supplemental_buffer = (uint8_t *)malloc(supplemental_size); ++ if (NULL == p_supplemental_buffer) { ++ grpc_printf("Couldn't allocate supplemental buffer\n"); ++ } ++ memset(p_supplemental_buffer, 0, supplemental_size); ++ ++ ret = dcap_verify_quote( ++ handle, ++ quote_buffer, ++ quote_size, ++ &collateral_expiration_status, ++ "e_verification_result, ++ supplemental_size, ++ p_supplemental_buffer ++ ); ++ ++ if (0 != ret) { ++ grpc_printf( "Error in dcap_verify_quote.\n"); ++ } ++ ++ if (collateral_expiration_status != 0) { ++ grpc_printf("the verification collateral has expired\n"); ++ } ++ ++ switch (quote_verification_result) { ++ case SGX_QL_QV_RESULT_OK: ++ grpc_printf("Succeed to verify the quote!\n"); ++ break; ++ case SGX_QL_QV_RESULT_CONFIG_NEEDED: ++ case SGX_QL_QV_RESULT_OUT_OF_DATE: ++ case SGX_QL_QV_RESULT_OUT_OF_DATE_CONFIG_NEEDED: ++ case SGX_QL_QV_RESULT_SW_HARDENING_NEEDED: ++ case SGX_QL_QV_RESULT_CONFIG_AND_SW_HARDENING_NEEDED: ++ grpc_printf("WARN: App: Verification completed with Non-terminal result: %x\n", ++ quote_verification_result); ++ break; ++ case SGX_QL_QV_RESULT_INVALID_SIGNATURE: ++ case SGX_QL_QV_RESULT_REVOKED: ++ case SGX_QL_QV_RESULT_UNSPECIFIED: ++ default: ++ grpc_printf("\tError: App: Verification completed with Terminal result: %x\n", ++ quote_verification_result); ++ } ++ check_free(p_supplemental_buffer); ++ dcap_quote_close(handle); ++ return ret; ++} ++ ++int occlum_verify_cert(const unsigned char * der_crt, size_t len) { ++ BIO* bio = BIO_new(BIO_s_mem()); ++ BIO_write(bio, der_crt, strlen((const char *)der_crt)); ++ X509 *x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL); ++ ++ if (x509 == nullptr) { ++ grpc_printf("parse the crt failed! \n"); ++ return -1; ++ } ++ ++ uint8_t * quote_buf = nullptr; ++ size_t quote_len = 0; ++ int ret = occlum_get_quote(x509, "e_buf, "e_len); ++ if (ret != 0) { ++ grpc_printf("parse quote failed!\n"); ++ return -1; ++ } ++ ++ ret = occlum_verify_quote(quote_buf, quote_len); ++ if (ret != 0) { ++ grpc_printf("verify quote failed!\n"); ++ return -1; ++ } ++ ++ sgx_quote3_t *p_quote = (sgx_quote3_t *)quote_buf; ++ sgx_report_body_t *p_rep_body = (sgx_report_body_t *)(&p_quote->report_body); ++ sgx_report_data_t *p_rep_data =(sgx_report_data_t *)(&p_rep_body->report_data); ++ uint8_t *pubkey_hash = p_rep_data->d; ++ ++ ++ ret = occlum_verify_pubkey_hash(x509, pubkey_hash, SHA256_DIGEST_LENGTH); ++ if (ret != 0) { ++ grpc_printf("verify the public key hash failed!\n"); ++ return -1; ++ } ++ ++ // Check if enclave is debuggable ++ bool debuggable = false; ++ if (p_rep_body->attributes.flags & SGX_FLAGS_DEBUG) ++ debuggable = true; ++ ++ ret = verify_measurement((const char *)&p_rep_body->mr_enclave, ++ (const char *)&p_rep_body->mr_signer, ++ (const char *)&p_rep_body->isv_prod_id, ++ (const char *)&p_rep_body->isv_svn, ++ (const char *)&p_rep_body->config_svn, ++ debuggable); ++ if (ret != 0) { ++ grpc_printf("verify the measurement failed!\n"); ++ return -1; ++ } ++ ++ BIO_free(bio); ++ return 0; ++} ++ ++#endif // SGX_RA_TLS_OCCLUM_BACKEND ++ ++} // namespace sgx ++} // namespace grpc +diff --git a/src/cpp/sgx/sgx_ra_tls_options.cc b/src/cpp/sgx/sgx_ra_tls_options.cc +new file mode 100644 +index 0000000000..c5a9fa499c +--- /dev/null ++++ b/src/cpp/sgx/sgx_ra_tls_options.cc +@@ -0,0 +1,55 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#include ++#include ++#include ++ ++#include "absl/container/inlined_vector.h" ++#include "src/cpp/common/tls_credentials_options_util.h" ++ ++namespace grpc { ++namespace sgx { ++ ++void CredentialsOptions::set_verification_option( ++ grpc_tls_server_verification_option server_verification_option) { ++ grpc_tls_credentials_options* options = c_credentials_options(); ++ GPR_ASSERT(options != nullptr); ++ grpc_tls_credentials_options_set_server_verification_option( ++ options, server_verification_option); ++} ++ ++void CredentialsOptions::set_authorization_check_config( ++ std::shared_ptr config) { ++ grpc_tls_credentials_options* options = c_credentials_options(); ++ GPR_ASSERT(options != nullptr); ++ if (config != nullptr) { ++ grpc_tls_credentials_options_set_server_authorization_check_config( ++ options, config->c_config()); ++ } ++} ++ ++void CredentialsOptions::set_cert_request_type( ++ grpc_ssl_client_certificate_request_type cert_request_type) { ++ grpc_tls_credentials_options* options = c_credentials_options(); ++ GPR_ASSERT(options != nullptr); ++ grpc_tls_credentials_options_set_cert_request_type(options, cert_request_type); ++} ++ ++} // namespace sgx ++} // namespace grpc +diff --git a/src/cpp/sgx/sgx_ra_tls_utils.cc b/src/cpp/sgx/sgx_ra_tls_utils.cc +new file mode 100644 +index 0000000000..68c57beacb +--- /dev/null ++++ b/src/cpp/sgx/sgx_ra_tls_utils.cc +@@ -0,0 +1,169 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#include "sgx_ra_tls_utils.h" ++ ++#include ++#include ++#include ++#include ++ ++namespace grpc { ++namespace sgx { ++ ++void check_free(void* ptr) { ++ if (ptr) { ++ free(ptr); ++ ptr = nullptr; ++ }; ++} ++ ++bool hex_to_byte(const char *src, char *dst, size_t dst_size) { ++ if (std::strlen(src) < dst_size*2) { ++ return false; ++ } else { ++ for (auto i = 0; i < dst_size; i++) { ++ if (!isxdigit(src[i*2]) || !isxdigit(src[i*2+1])) { ++ return false; ++ } else { ++ sscanf(src+i*2, "%02hhx", dst+i); ++ } ++ } ++ return true; ++ } ++}; ++ ++void byte_to_hex(const char *src, char *dst, size_t src_size) { ++ for (auto i = 0; i < src_size; i++) { ++ sprintf(dst+i*2, "%02hhx", src[i]); ++ } ++}; ++ ++std::string byte_to_hex(const char *src, size_t src_size) { ++ char dst[src_size*2]; ++ memset(dst, 0, sizeof(dst)); ++ byte_to_hex(src, dst, src_size); ++ return std::string(dst); ++}; ++ ++library_engine::library_engine() : handle(nullptr), error(nullptr) {}; ++ ++library_engine::library_engine(const char* file, int mode) : handle(nullptr), error(nullptr) { ++ this->open(file, mode); ++} ++ ++library_engine::~library_engine() { ++ this->close(); ++} ++ ++void library_engine::open(const char* file, int mode) { ++ this->close(); ++ handle = dlopen(file, mode); ++ error = dlerror(); ++ if (error != nullptr || handle == nullptr) { ++ throw std::runtime_error("dlopen " + std::string(file) + " error, " + std::string(error)); ++ } ++} ++ ++void library_engine::close() { ++ if (handle) { ++ dlclose(handle); ++ } ++ handle = nullptr; ++ error = nullptr; ++} ++ ++void* library_engine::get_func(const char* name) { ++ auto func = dlsym(handle, name); ++ error = dlerror(); ++ if (error != nullptr || func == nullptr) { ++ throw std::runtime_error("dlsym " + std::string(name) + " error, " + std::string(error)); ++ return nullptr; ++ } else { ++ return func; ++ } ++} ++ ++void* library_engine::get_handle() { ++ return handle; ++} ++ ++json_engine::json_engine() : handle(nullptr) {}; ++ ++json_engine::json_engine(const char* file) : handle(nullptr){ ++ this->open(file); ++} ++ ++json_engine::~json_engine() { ++ this->close(); ++} ++ ++bool json_engine::open(const char* file) { ++ if (!file) { ++ grpc_printf("wrong json file path\n"); ++ return false; ++ } ++ ++ this->close(); ++ ++ auto file_ptr = fopen(file, "r"); ++ fseek(file_ptr, 0, SEEK_END); ++ auto length = ftell(file_ptr); ++ fseek(file_ptr, 0, SEEK_SET); ++ auto buffer = malloc(length); ++ fread(buffer, 1, length, file_ptr); ++ fclose(file_ptr); ++ ++ this->handle = cJSON_Parse((const char *)buffer); ++ ++ check_free(buffer); ++ ++ if (this->handle) { ++ return true; ++ } else { ++ grpc_printf("cjson open %s error: %s", file, cJSON_GetErrorPtr()); ++ return false; ++ } ++} ++ ++void json_engine::close() { ++ if (this->handle) { ++ cJSON_Delete(this->handle); ++ this->handle = nullptr; ++ } ++} ++ ++cJSON* json_engine::get_handle() { ++ return this->handle; ++} ++ ++cJSON* json_engine::get_item(cJSON* obj, const char* item) { ++ return cJSON_GetObjectItem(obj, item); ++}; ++ ++char* json_engine::print_item(cJSON* obj) { ++ return cJSON_Print(obj); ++}; ++ ++bool json_engine::compare_item(cJSON* obj, const char* item) { ++ auto obj_item = this->print_item(obj); ++ return strncmp(obj_item+1, item, std::min(strlen(item), strlen(obj_item)-2)) == 0; ++}; ++ ++} // namespace sgx ++} // namespace grpc +diff --git a/src/cpp/sgx/sgx_ra_tls_utils.h b/src/cpp/sgx/sgx_ra_tls_utils.h +new file mode 100644 +index 0000000000..35bfde9342 +--- /dev/null ++++ b/src/cpp/sgx/sgx_ra_tls_utils.h +@@ -0,0 +1,68 @@ ++/* ++ * ++ * Copyright (c) 2022 Intel Corporation ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ * ++ */ ++ ++#ifndef SGX_RA_TLS_UTILS_H ++#define SGX_RA_TLS_UTILS_H ++ ++#include ++#include ++#include ++#include ++ ++#define grpc_printf printf ++#define grpc_fprintf fprintf ++ ++#include ++ ++namespace grpc { ++namespace sgx { ++ ++ ++class library_engine { ++ public: ++ library_engine(); ++ ++ library_engine(const char*, int); ++ ++ ~library_engine(); ++ ++ void open(const char*, int); ++ ++ void close(); ++ ++ void* get_func(const char*); ++ ++ void* get_handle(); ++ ++ private: ++ void* handle; ++ char* error; ++}; ++ ++void check_free(void* ptr); ++ ++bool hex_to_byte(const char* src, char* dst, size_t dst_size); ++ ++void byte_to_hex(const char* src, char* dst, size_t src_size); ++ ++std::string byte_to_hex(const char* src, size_t src_size); ++ ++} // namespace sgx ++} // namespace grpc ++ ++#endif // SGX_RA_TLS_UTILS_H +-- +2.34.1 + diff --git a/tools/toolchains/grpc_ratls/ra_tls/0001-Fixes-build-with-glibc-2.34.patch b/tools/toolchains/grpc_ratls/ra_tls/0001-Fixes-build-with-glibc-2.34.patch new file mode 100644 index 00000000..584c8cbb --- /dev/null +++ b/tools/toolchains/grpc_ratls/ra_tls/0001-Fixes-build-with-glibc-2.34.patch @@ -0,0 +1,26 @@ +From 34ac52eb5d694f0ef0cec30c66c8c417cba9789c Mon Sep 17 00:00:00 2001 +From: Qi Zheng +Date: Tue, 14 Nov 2023 07:43:41 +0000 +Subject: [PATCH] Fixes build with glibc 2.34 + +--- + absl/debugging/failure_signal_handler.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc +index a9ed6ef9..3ddebd74 100644 +--- a/absl/debugging/failure_signal_handler.cc ++++ b/absl/debugging/failure_signal_handler.cc +@@ -136,7 +136,8 @@ static bool SetupAlternateStackOnce() { + #else + const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; + #endif +- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; ++ size_t stack_size = ++ (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ + defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) + // Account for sanitizer instrumentation requiring additional stack space. +-- +2.34.1 + diff --git a/tools/toolchains/grpc_ratls/ra_tls/build_and_install.sh b/tools/toolchains/grpc_ratls/ra_tls/build_and_install.sh index f57b1e5f..9c627943 100755 --- a/tools/toolchains/grpc_ratls/ra_tls/build_and_install.sh +++ b/tools/toolchains/grpc_ratls/ra_tls/build_and_install.sh @@ -36,9 +36,6 @@ function build_grpc_ratls() { # Copy occlum dcap lib first to ease linking cp ${DCAP_LIB_PATH}/libocclum_dcap.so* ${INSTALL_PREFIX}/lib - # Copy ratls added/updated files to grpc source - cp -rf grpc/${GRPC_VERSION}/* ${GRPC_PATH}/ - ABSEIL_PATH=${GRPC_PATH}/third_party/abseil-cpp # build and install abseil library diff --git a/tools/toolchains/grpc_ratls/ra_tls/download_and_prepare.sh b/tools/toolchains/grpc_ratls/ra_tls/download_and_prepare.sh index 6a31cf0d..d4c17e76 100755 --- a/tools/toolchains/grpc_ratls/ra_tls/download_and_prepare.sh +++ b/tools/toolchains/grpc_ratls/ra_tls/download_and_prepare.sh @@ -5,10 +5,10 @@ source ./env.sh # Download and update cmake function dl_and_build_cmake() { - # Ubuntu 20.04 has newer enough cmake version + # Ubuntu 20.04/22.04 has newer enough cmake version if [ -f "/etc/os-release" ]; then local os_name=$(cat /etc/os-release) - if [[ $os_name =~ "Ubuntu" && $os_name =~ "20.04" ]]; then + if [[ $os_name =~ "Ubuntu" ]]; then return fi fi @@ -27,9 +27,16 @@ function dl_grpc() { # GRPC source code rm -rf ${GRPC_PATH} git clone https://github.com/grpc/grpc -b ${GRPC_VERSION} ${GRPC_PATH} - pushd ${GRPC_PATH} \ - && git checkout ${GRPC_VERSION} \ - && git submodule update --init + pushd ${GRPC_PATH} + git submodule update --init + # Apply occlum patch + git apply ../0001-Add-Occlum-SGX-tls-function.patch + popd + + ABSEIL_PATH=${GRPC_PATH}/third_party/abseil-cpp + pushd $ABSEIL_PATH + # Apply patch + git apply ../../../0001-Fixes-build-with-glibc-2.34.patch popd } diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/.gitignore b/tools/toolchains/grpc_ratls/ra_tls/grpc/.gitignore deleted file mode 100644 index 44da5dd6..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/.gitignore +++ /dev/null @@ -1 +0,0 @@ -grpc-* diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/CMakeLists.txt b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/CMakeLists.txt deleted file mode 100644 index d648e423..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/CMakeLists.txt +++ /dev/null @@ -1,15756 +0,0 @@ -# GRPC global cmake file -# This currently builds C and C++ code. -# This file has been automatically generated from a template file. -# Please look at the templates directory instead. -# This file can be regenerated from the template by running -# tools/buildgen/generate_projects.sh -# -# Copyright 2015 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - - -cmake_minimum_required(VERSION 3.5.1) - -set(PACKAGE_NAME "grpc") -set(PACKAGE_VERSION "1.38.1") -set(gRPC_CORE_VERSION "16.0.0") -set(gRPC_CORE_SOVERSION "16") -set(gRPC_CPP_VERSION "1.38.1") -set(gRPC_CPP_SOVERSION "1.38") -set(gRPC_CSHARP_VERSION "2.38.1") -set(gRPC_CSHARP_SOVERSION "2.38") -set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}") -set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/") -project(${PACKAGE_NAME} LANGUAGES C CXX) - -set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables") -set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries") -set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers") -set(gRPC_INSTALL_CMAKEDIR "lib/cmake/${PACKAGE_NAME}" CACHE STRING "Installation directory for cmake config files") -set(gRPC_INSTALL_SHAREDIR "share/grpc" CACHE STRING "Installation directory for root certificates") - -# Options -option(gRPC_BUILD_TESTS "Build tests" OFF) -option(gRPC_BUILD_CODEGEN "Build codegen" ON) -option(gRPC_BUILD_CSHARP_EXT "Build C# extensions" ON) -option(gRPC_BACKWARDS_COMPATIBILITY_MODE "Build libraries that are binary compatible across a larger number of OS and libc versions" OFF) - -option(DEFINE_SGX_RA_TLS_OCCLUM_BACKEND "SGX Occlum Backend" OFF) - - -if(DEFINE_SGX_RA_TLS_OCCLUM_BACKEND) - message("SGX_RA_TLS_OCCLUM_BACKEND is defined") - include_directories(/opt/intel/sgxsdk/include) - include_directories(/opt/occlum/toolchains/dcap_lib/inc) - add_definitions(-DSGX_RA_TLS_OCCLUM_BACKEND) -endif() - -set(gRPC_INSTALL_default ON) -if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - # Disable gRPC_INSTALL by default if building as a submodule - set(gRPC_INSTALL_default OFF) -endif() -set(gRPC_INSTALL ${gRPC_INSTALL_default} CACHE BOOL - "Generate installation target") - -# We can install dependencies from submodules if we're running -# CMake v3.13 or newer. -if(CMAKE_VERSION VERSION_LESS 3.13) - set(_gRPC_INSTALL_SUPPORTED_FROM_MODULE OFF) -else() - set(_gRPC_INSTALL_SUPPORTED_FROM_MODULE ON) -endif() - -# Providers for third-party dependencies (gRPC_*_PROVIDER properties): -# "module": build the dependency using sources from git submodule (under third_party) -# "package": use cmake's find_package functionality to locate a pre-installed dependency - -set(gRPC_ZLIB_PROVIDER "module" CACHE STRING "Provider of zlib library") -set_property(CACHE gRPC_ZLIB_PROVIDER PROPERTY STRINGS "module" "package") - -set(gRPC_CARES_PROVIDER "module" CACHE STRING "Provider of c-ares library") -set_property(CACHE gRPC_CARES_PROVIDER PROPERTY STRINGS "module" "package") - -set(gRPC_RE2_PROVIDER "module" CACHE STRING "Provider of re2 library") -set_property(CACHE gRPC_RE2_PROVIDER PROPERTY STRINGS "module" "package") - -set(gRPC_SSL_PROVIDER "module" CACHE STRING "Provider of ssl library") -set_property(CACHE gRPC_SSL_PROVIDER PROPERTY STRINGS "module" "package") - -set(gRPC_PROTOBUF_PROVIDER "module" CACHE STRING "Provider of protobuf library") -set_property(CACHE gRPC_PROTOBUF_PROVIDER PROPERTY STRINGS "module" "package") - -set(gRPC_PROTOBUF_PACKAGE_TYPE "" CACHE STRING "Algorithm for searching protobuf package") -set_property(CACHE gRPC_PROTOBUF_PACKAGE_TYPE PROPERTY STRINGS "CONFIG" "MODULE") - -if(gRPC_BUILD_TESTS) - set(gRPC_BENCHMARK_PROVIDER "module" CACHE STRING "Provider of benchmark library") - set_property(CACHE gRPC_BENCHMARK_PROVIDER PROPERTY STRINGS "module" "package") -else() - set(gRPC_BENCHMARK_PROVIDER "none") -endif() - -set(gRPC_ABSL_PROVIDER "module" CACHE STRING "Provider of absl library") -set_property(CACHE gRPC_ABSL_PROVIDER PROPERTY STRINGS "module" "package") - -set(gRPC_ABSL_USED_TARGETS - absl_algorithm - absl_algorithm_container - absl_atomic_hook - absl_bad_optional_access - absl_bad_variant_access - absl_base - absl_base_internal - absl_bind_front - absl_bits - absl_city - absl_civil_time - absl_compressed_tuple - absl_config - absl_container_common - absl_container_memory - absl_cord - absl_core_headers - absl_debugging_internal - absl_demangle_internal - absl_dynamic_annotations - absl_endian - absl_errno_saver - absl_exponential_biased - absl_fixed_array - absl_flat_hash_map - absl_function_ref - absl_graphcycles_internal - absl_hash - absl_hash_function_defaults - absl_hash_policy_traits - absl_hashtable_debug_hooks - absl_hashtablez_sampler - absl_have_sse - absl_inlined_vector - absl_inlined_vector_internal - absl_int128 - absl_kernel_timeout_internal - absl_layout - absl_log_severity - absl_malloc_internal - absl_memory - absl_numeric_representation - absl_optional - absl_raw_hash_map - absl_raw_hash_set - absl_raw_logging_internal - absl_span - absl_spinlock_wait - absl_stacktrace - absl_status - absl_statusor - absl_str_format - absl_str_format_internal - absl_strings - absl_strings_internal - absl_symbolize - absl_synchronization - absl_throw_delegate - absl_time - absl_time_zone - absl_type_traits - absl_utility - absl_variant - absl_wyhash - absl_meta -) - -set(gRPC_USE_PROTO_LITE OFF CACHE BOOL "Use the protobuf-lite library") - -if(UNIX) - if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set(_gRPC_PLATFORM_LINUX ON) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set(_gRPC_PLATFORM_MAC ON) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "iOS") - set(_gRPC_PLATFORM_IOS ON) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "Android") - set(_gRPC_PLATFORM_ANDROID ON) - else() - set(_gRPC_PLATFORM_POSIX ON) - endif() -endif() -if(WIN32) - set(_gRPC_PLATFORM_WINDOWS ON) -endif() - - # Use C99 standard -if (NOT DEFINED CMAKE_C_STANDARD) - set(CMAKE_C_STANDARD 99) -endif() - -# Add c++11 flags -if (NOT DEFINED CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 11) -else() - if (CMAKE_CXX_STANDARD LESS 11) - message(FATAL_ERROR "CMAKE_CXX_STANDARD is less than 11, please specify at least SET(CMAKE_CXX_STANDARD 11)") - endif() -endif() -if (NOT DEFINED CMAKE_CXX_STANDARD_REQUIRED) - set(CMAKE_CXX_STANDARD_REQUIRED ON) -endif() -if (NOT DEFINED CMAKE_CXX_EXTENSIONS) - set(CMAKE_CXX_EXTENSIONS OFF) -endif() - -if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE) - set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) -endif() -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") - -if(MSVC) - include(cmake/msvc_static_runtime.cmake) - add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS) - # needed to compile protobuf - set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4065 /wd4506") - # TODO(jtattermusch): revisit warnings that were silenced as part of upgrade to protobuf3.6.0 - set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4200 /wd4291 /wd4244") - # TODO(jtattermusch): revisit C4267 occurrences throughout the code - set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4267") - # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later - set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4987 /wd4774 /wd4819 /wd4996 /wd4619") -endif() -if (MINGW) - add_definitions(-D_WIN32_WINNT=0x600) -endif() -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_gRPC_C_CXX_FLAGS}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_gRPC_C_CXX_FLAGS}") - -if(gRPC_USE_PROTO_LITE) - set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf-lite") - add_definitions("-DGRPC_USE_PROTO_LITE") -else() - set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf") -endif() - -if(gRPC_BACKWARDS_COMPATIBILITY_MODE) - add_definitions(-DGPR_BACKWARDS_COMPATIBILITY_MODE) - if(_gRPC_PLATFORM_MAC) - # some C++11 constructs not supported before OS X 10.10 - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.10) - endif() -endif() - -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_IOS) - set(_gRPC_CORE_NOSTDCXX_FLAGS -fno-exceptions -fno-rtti) -else() - set(_gRPC_CORE_NOSTDCXX_FLAGS "") -endif() - -include(cmake/abseil-cpp.cmake) -include(cmake/address_sorting.cmake) -include(cmake/benchmark.cmake) -include(cmake/cares.cmake) -include(cmake/protobuf.cmake) -include(cmake/re2.cmake) -include(cmake/ssl.cmake) -include(cmake/upb.cmake) -include(cmake/xxhash.cmake) -include(cmake/zlib.cmake) - -if(_gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_IOS) - set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread) -elseif(_gRPC_PLATFORM_ANDROID) - set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m) -elseif(UNIX) - set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread) -endif() - -if(WIN32) - set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 crypt32) -endif() - -# Create directory for generated .proto files -set(_gRPC_PROTO_GENS_DIR ${CMAKE_BINARY_DIR}/gens) -file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) - -# protobuf_generate_grpc_cpp -# -------------------------- -# -# Add custom commands to process ``.proto`` files to C++ using protoc and -# GRPC plugin:: -# -# protobuf_generate_grpc_cpp [...] -# -# ``ARGN`` -# ``.proto`` files -# -function(protobuf_generate_grpc_cpp) - if(NOT ARGN) - message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") - return() - endif() - - set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) - foreach(FIL ${ARGN}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(FIL_WE ${FIL} NAME_WE) - file(RELATIVE_PATH REL_FIL ${CMAKE_CURRENT_SOURCE_DIR} ${ABS_FIL}) - get_filename_component(REL_DIR ${REL_FIL} DIRECTORY) - set(RELFIL_WE "${REL_DIR}/${FIL_WE}") - - #if cross-compiling, find host plugin - if(CMAKE_CROSSCOMPILING) - find_program(_gRPC_CPP_PLUGIN grpc_cpp_plugin) - else() - set(_gRPC_CPP_PLUGIN $) - endif() - - add_custom_command( - OUTPUT "${_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" - COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE} - ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} - --cpp_out=${_gRPC_PROTO_GENS_DIR} - --plugin=protoc-gen-grpc=${_gRPC_CPP_PLUGIN} - ${_protobuf_include_path} - ${REL_FIL} - DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "Running gRPC C++ protocol buffer compiler on ${FIL}" - VERBATIM) - endforeach() -endfunction() - -# These options allow users to enable or disable the building of the various -# protoc plugins. For example, running CMake with -# -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF will disable building the C# plugin. -set(_gRPC_PLUGIN_LIST) -option(gRPC_BUILD_GRPC_CPP_PLUGIN "Build grpc_cpp_plugin" ON) -if (gRPC_BUILD_GRPC_CPP_PLUGIN) - list(APPEND _gRPC_PLUGIN_LIST grpc_cpp_plugin) -endif () -option(gRPC_BUILD_GRPC_CSHARP_PLUGIN "Build grpc_csharp_plugin" ON) -if (gRPC_BUILD_GRPC_CSHARP_PLUGIN) - list(APPEND _gRPC_PLUGIN_LIST grpc_csharp_plugin) -endif () -option(gRPC_BUILD_GRPC_NODE_PLUGIN "Build grpc_node_plugin" ON) -if (gRPC_BUILD_GRPC_NODE_PLUGIN) - list(APPEND _gRPC_PLUGIN_LIST grpc_node_plugin) -endif () -option(gRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN "Build grpc_objective_c_plugin" ON) -if (gRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN) - list(APPEND _gRPC_PLUGIN_LIST grpc_objective_c_plugin) -endif () -option(gRPC_BUILD_GRPC_PHP_PLUGIN "Build grpc_php_plugin" ON) -if (gRPC_BUILD_GRPC_PHP_PLUGIN) - list(APPEND _gRPC_PLUGIN_LIST grpc_php_plugin) -endif () -option(gRPC_BUILD_GRPC_PYTHON_PLUGIN "Build grpc_python_plugin" ON) -if (gRPC_BUILD_GRPC_PYTHON_PLUGIN) - list(APPEND _gRPC_PLUGIN_LIST grpc_python_plugin) -endif () -option(gRPC_BUILD_GRPC_RUBY_PLUGIN "Build grpc_ruby_plugin" ON) -if (gRPC_BUILD_GRPC_RUBY_PLUGIN) - list(APPEND _gRPC_PLUGIN_LIST grpc_ruby_plugin) -endif () - -add_custom_target(plugins - DEPENDS ${_gRPC_PLUGIN_LIST} -) - -add_custom_target(tools_c - DEPENDS - check_epollexclusive -) - -add_custom_target(tools_cxx - DEPENDS - gen_hpack_tables - gen_legal_metadata_characters - gen_percent_encoding_tables -) - -add_custom_target(tools - DEPENDS tools_c tools_cxx) - -protobuf_generate_grpc_cpp( - src/proto/grpc/channelz/channelz.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/core/stats.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/health/v1/health.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/lb/v1/load_balancer.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/reflection/v1alpha/reflection.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/status/status.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/benchmark_service.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/control.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/duplicate/echo_duplicate.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/echo.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/echo_messages.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/empty.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/messages.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/payloads.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/report_qps_scenario_service.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/simple_messages.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/stats.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/test.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/worker_service.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/ads_for_test.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/cds_for_test.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/eds_for_test.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/lds_rds_for_test.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/lrs_for_test.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/orca_load_report_for_test.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/address.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/ads.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/aggregate_cluster.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/base.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/cluster.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/config_dump.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/config_source.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/csds.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/discovery.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/endpoint.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/fault.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/fault_common.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/http_connection_manager.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/listener.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/load_report.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/lrs.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/percent.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/protocol.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/range.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/regex.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/route.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/router.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/string.proto -) -protobuf_generate_grpc_cpp( - src/proto/grpc/testing/xds/v3/tls.proto -) -protobuf_generate_grpc_cpp( - test/core/tsi/alts/fake_handshaker/handshaker.proto -) -protobuf_generate_grpc_cpp( - test/core/tsi/alts/fake_handshaker/transport_security_common.proto -) - -if(gRPC_BUILD_TESTS) - add_custom_target(buildtests_c) - add_dependencies(buildtests_c algorithm_test) - add_dependencies(buildtests_c alloc_test) - add_dependencies(buildtests_c alpn_test) - add_dependencies(buildtests_c alts_counter_test) - add_dependencies(buildtests_c alts_crypt_test) - add_dependencies(buildtests_c alts_crypter_test) - add_dependencies(buildtests_c alts_frame_protector_test) - add_dependencies(buildtests_c alts_grpc_record_protocol_test) - add_dependencies(buildtests_c alts_handshaker_client_test) - add_dependencies(buildtests_c alts_iovec_record_protocol_test) - add_dependencies(buildtests_c alts_security_connector_test) - add_dependencies(buildtests_c alts_tsi_handshaker_test) - add_dependencies(buildtests_c alts_tsi_utils_test) - add_dependencies(buildtests_c alts_zero_copy_grpc_protector_test) - add_dependencies(buildtests_c arena_test) - add_dependencies(buildtests_c auth_context_test) - add_dependencies(buildtests_c avl_test) - add_dependencies(buildtests_c b64_test) - add_dependencies(buildtests_c bad_server_response_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c bad_ssl_alpn_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c bad_ssl_cert_test) - endif() - add_dependencies(buildtests_c bin_decoder_test) - add_dependencies(buildtests_c bin_encoder_test) - add_dependencies(buildtests_c buffer_list_test) - add_dependencies(buildtests_c channel_args_test) - add_dependencies(buildtests_c channel_create_test) - add_dependencies(buildtests_c channel_stack_builder_test) - add_dependencies(buildtests_c channel_stack_test) - add_dependencies(buildtests_c check_gcp_environment_linux_test) - add_dependencies(buildtests_c check_gcp_environment_windows_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c client_ssl_test) - endif() - add_dependencies(buildtests_c cmdline_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c combiner_test) - endif() - add_dependencies(buildtests_c completion_queue_threading_test) - add_dependencies(buildtests_c compression_test) - add_dependencies(buildtests_c concurrent_connectivity_test) - add_dependencies(buildtests_c connection_refused_test) - add_dependencies(buildtests_c cpu_test) - add_dependencies(buildtests_c dns_resolver_connectivity_using_ares_test) - add_dependencies(buildtests_c dns_resolver_connectivity_using_native_test) - add_dependencies(buildtests_c dns_resolver_cooldown_test) - add_dependencies(buildtests_c dns_resolver_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c dualstack_socket_test) - endif() - add_dependencies(buildtests_c endpoint_pair_test) - add_dependencies(buildtests_c env_test) - add_dependencies(buildtests_c error_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c ev_epollex_linux_test) - endif() - add_dependencies(buildtests_c fake_resolver_test) - add_dependencies(buildtests_c fake_transport_security_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c fd_conservation_posix_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c fd_posix_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c fling_stream_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c fling_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c fork_test) - endif() - add_dependencies(buildtests_c format_request_test) - add_dependencies(buildtests_c frame_handler_test) - add_dependencies(buildtests_c goaway_server_test) - add_dependencies(buildtests_c grpc_alts_credentials_options_test) - add_dependencies(buildtests_c grpc_byte_buffer_reader_test) - add_dependencies(buildtests_c grpc_completion_queue_test) - add_dependencies(buildtests_c grpc_ipv6_loopback_available_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c handshake_server_with_readahead_handshaker_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c handshake_verify_peer_options_test) - endif() - add_dependencies(buildtests_c histogram_test) - add_dependencies(buildtests_c host_port_test) - add_dependencies(buildtests_c hpack_encoder_test) - add_dependencies(buildtests_c hpack_parser_test) - add_dependencies(buildtests_c hpack_table_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c httpcli_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c httpscli_test) - endif() - add_dependencies(buildtests_c inproc_callback_test) - add_dependencies(buildtests_c invalid_call_argument_test) - add_dependencies(buildtests_c json_token_test) - add_dependencies(buildtests_c jwt_verifier_test) - add_dependencies(buildtests_c lame_client_test) - add_dependencies(buildtests_c load_file_test) - add_dependencies(buildtests_c manual_constructor_test) - add_dependencies(buildtests_c message_compress_test) - add_dependencies(buildtests_c metadata_test) - add_dependencies(buildtests_c minimal_stack_is_minimal_test) - add_dependencies(buildtests_c mpmcqueue_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c mpscq_test) - endif() - add_dependencies(buildtests_c multiple_server_queues_test) - add_dependencies(buildtests_c murmur_hash_test) - add_dependencies(buildtests_c no_server_test) - add_dependencies(buildtests_c num_external_connectivity_watchers_test) - add_dependencies(buildtests_c parse_address_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c parse_address_with_named_scope_id_test) - endif() - add_dependencies(buildtests_c parser_test) - add_dependencies(buildtests_c percent_encoding_test) - add_dependencies(buildtests_c public_headers_must_be_c89) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c resolve_address_using_ares_resolver_posix_test) - endif() - add_dependencies(buildtests_c resolve_address_using_ares_resolver_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c resolve_address_using_native_resolver_posix_test) - endif() - add_dependencies(buildtests_c resolve_address_using_native_resolver_test) - add_dependencies(buildtests_c resource_quota_test) - add_dependencies(buildtests_c secure_channel_create_test) - add_dependencies(buildtests_c secure_endpoint_test) - add_dependencies(buildtests_c security_connector_test) - add_dependencies(buildtests_c sequential_connectivity_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c server_ssl_test) - endif() - add_dependencies(buildtests_c server_test) - add_dependencies(buildtests_c slice_buffer_test) - add_dependencies(buildtests_c slice_string_helpers_test) - add_dependencies(buildtests_c sockaddr_resolver_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c socket_utils_test) - endif() - add_dependencies(buildtests_c spinlock_test) - add_dependencies(buildtests_c ssl_credentials_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c ssl_transport_security_test) - endif() - add_dependencies(buildtests_c status_conversion_test) - add_dependencies(buildtests_c stream_compression_test) - add_dependencies(buildtests_c stream_map_test) - add_dependencies(buildtests_c stream_owned_slice_test) - add_dependencies(buildtests_c string_test) - add_dependencies(buildtests_c sync_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c tcp_client_posix_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c tcp_posix_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c tcp_server_posix_test) - endif() - add_dependencies(buildtests_c test_core_gpr_time_test) - add_dependencies(buildtests_c test_core_security_credentials_test) - add_dependencies(buildtests_c test_core_slice_slice_test) - add_dependencies(buildtests_c thd_test) - add_dependencies(buildtests_c threadpool_test) - add_dependencies(buildtests_c time_averaged_stats_test) - add_dependencies(buildtests_c timeout_encoding_test) - add_dependencies(buildtests_c timer_heap_test) - add_dependencies(buildtests_c timer_list_test) - add_dependencies(buildtests_c tls_test) - add_dependencies(buildtests_c transport_security_common_api_test) - add_dependencies(buildtests_c transport_security_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_c udp_server_test) - endif() - add_dependencies(buildtests_c useful_test) - add_dependencies(buildtests_c varint_test) - - add_custom_target(buildtests_cxx) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx address_sorting_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx address_sorting_test_unsecure) - endif() - add_dependencies(buildtests_cxx admin_services_end2end_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx alarm_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx alts_concurrent_connectivity_test) - endif() - add_dependencies(buildtests_cxx alts_util_test) - add_dependencies(buildtests_cxx async_end2end_test) - add_dependencies(buildtests_cxx auth_property_iterator_test) - add_dependencies(buildtests_cxx authorization_matchers_test) - add_dependencies(buildtests_cxx aws_request_signer_test) - add_dependencies(buildtests_cxx backoff_test) - add_dependencies(buildtests_cxx bad_streaming_id_bad_client_test) - add_dependencies(buildtests_cxx badreq_bad_client_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bdp_estimator_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_alarm) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_arena) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_byte_buffer) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_call_create) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_callback_streaming_ping_pong) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_callback_unary_ping_pong) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_channel) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_chttp2_hpack) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_chttp2_transport) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_closure) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_cq) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_cq_multiple_threads) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_error) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_fullstack_streaming_ping_pong) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_fullstack_streaming_pump) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_fullstack_trickle) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_fullstack_unary_ping_pong) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_metadata) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_pollset) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_threadpool) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx bm_timer) - endif() - add_dependencies(buildtests_cxx byte_buffer_test) - add_dependencies(buildtests_cxx byte_stream_test) - add_dependencies(buildtests_cxx cancel_ares_query_test) - add_dependencies(buildtests_cxx cel_authorization_engine_test) - add_dependencies(buildtests_cxx certificate_provider_registry_test) - add_dependencies(buildtests_cxx certificate_provider_store_test) - add_dependencies(buildtests_cxx cfstream_test) - add_dependencies(buildtests_cxx channel_arguments_test) - add_dependencies(buildtests_cxx channel_filter_test) - add_dependencies(buildtests_cxx channel_trace_test) - add_dependencies(buildtests_cxx channelz_registry_test) - add_dependencies(buildtests_cxx channelz_service_test) - add_dependencies(buildtests_cxx channelz_test) - add_dependencies(buildtests_cxx cli_call_test) - add_dependencies(buildtests_cxx client_callback_end2end_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx client_channel_stress_test) - endif() - add_dependencies(buildtests_cxx client_interceptors_end2end_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx client_lb_end2end_test) - endif() - add_dependencies(buildtests_cxx codegen_test_full) - add_dependencies(buildtests_cxx codegen_test_minimal) - add_dependencies(buildtests_cxx connection_prefix_bad_client_test) - add_dependencies(buildtests_cxx connectivity_state_test) - add_dependencies(buildtests_cxx context_allocator_end2end_test) - add_dependencies(buildtests_cxx context_list_test) - add_dependencies(buildtests_cxx delegating_channel_test) - add_dependencies(buildtests_cxx destroy_grpclb_channel_with_active_connect_stress_test) - add_dependencies(buildtests_cxx dual_ref_counted_test) - add_dependencies(buildtests_cxx duplicate_header_bad_client_test) - add_dependencies(buildtests_cxx end2end_test) - add_dependencies(buildtests_cxx error_details_test) - add_dependencies(buildtests_cxx error_utils_test) - add_dependencies(buildtests_cxx evaluate_args_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx examine_stack_test) - endif() - add_dependencies(buildtests_cxx exception_test) - add_dependencies(buildtests_cxx file_watcher_certificate_provider_factory_test) - add_dependencies(buildtests_cxx filter_end2end_test) - add_dependencies(buildtests_cxx flaky_network_test) - add_dependencies(buildtests_cxx generic_end2end_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx global_config_env_test) - endif() - add_dependencies(buildtests_cxx global_config_test) - add_dependencies(buildtests_cxx google_mesh_ca_certificate_provider_factory_test) - add_dependencies(buildtests_cxx grpc_authorization_engine_test) - add_dependencies(buildtests_cxx grpc_cli) - add_dependencies(buildtests_cxx grpc_tls_certificate_distributor_test) - add_dependencies(buildtests_cxx grpc_tls_certificate_provider_test) - add_dependencies(buildtests_cxx grpc_tls_credentials_options_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx grpc_tool_test) - endif() - add_dependencies(buildtests_cxx grpclb_api_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx grpclb_end2end_test) - endif() - add_dependencies(buildtests_cxx h2_ssl_session_reuse_test) - add_dependencies(buildtests_cxx head_of_line_blocking_bad_client_test) - add_dependencies(buildtests_cxx headers_bad_client_test) - add_dependencies(buildtests_cxx health_service_end2end_test) - add_dependencies(buildtests_cxx http2_client) - add_dependencies(buildtests_cxx hybrid_end2end_test) - add_dependencies(buildtests_cxx init_test) - add_dependencies(buildtests_cxx initial_settings_frame_bad_client_test) - add_dependencies(buildtests_cxx insecure_security_connector_test) - add_dependencies(buildtests_cxx interop_client) - add_dependencies(buildtests_cxx interop_server) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx interop_test) - endif() - add_dependencies(buildtests_cxx json_test) - add_dependencies(buildtests_cxx large_metadata_bad_client_test) - add_dependencies(buildtests_cxx lb_get_cpu_stats_test) - add_dependencies(buildtests_cxx lb_load_data_store_test) - add_dependencies(buildtests_cxx linux_system_roots_test) - add_dependencies(buildtests_cxx log_test) - add_dependencies(buildtests_cxx matchers_test) - add_dependencies(buildtests_cxx message_allocator_end2end_test) - add_dependencies(buildtests_cxx mock_stream_test) - add_dependencies(buildtests_cxx mock_test) - add_dependencies(buildtests_cxx nonblocking_test) - add_dependencies(buildtests_cxx noop-benchmark) - add_dependencies(buildtests_cxx orphanable_test) - add_dependencies(buildtests_cxx out_of_bounds_bad_client_test) - add_dependencies(buildtests_cxx pid_controller_test) - add_dependencies(buildtests_cxx port_sharing_end2end_test) - add_dependencies(buildtests_cxx proto_server_reflection_test) - add_dependencies(buildtests_cxx proto_utils_test) - add_dependencies(buildtests_cxx qps_json_driver) - add_dependencies(buildtests_cxx qps_worker) - add_dependencies(buildtests_cxx raw_end2end_test) - add_dependencies(buildtests_cxx rbac_translator_test) - add_dependencies(buildtests_cxx ref_counted_ptr_test) - add_dependencies(buildtests_cxx ref_counted_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx remove_stream_from_stalled_lists_test) - endif() - add_dependencies(buildtests_cxx retry_throttle_test) - add_dependencies(buildtests_cxx secure_auth_context_test) - add_dependencies(buildtests_cxx server_builder_plugin_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx server_builder_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx server_builder_with_socket_mutator_test) - endif() - add_dependencies(buildtests_cxx server_chttp2_test) - add_dependencies(buildtests_cxx server_context_test_spouse_test) - add_dependencies(buildtests_cxx server_early_return_test) - add_dependencies(buildtests_cxx server_interceptors_end2end_test) - add_dependencies(buildtests_cxx server_registered_method_bad_client_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx server_request_call_test) - endif() - add_dependencies(buildtests_cxx service_config_end2end_test) - add_dependencies(buildtests_cxx service_config_test) - add_dependencies(buildtests_cxx settings_timeout_test) - add_dependencies(buildtests_cxx shutdown_test) - add_dependencies(buildtests_cxx simple_request_bad_client_test) - add_dependencies(buildtests_cxx sockaddr_utils_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx stack_tracer_test) - endif() - add_dependencies(buildtests_cxx stat_test) - add_dependencies(buildtests_cxx static_metadata_test) - add_dependencies(buildtests_cxx stats_test) - add_dependencies(buildtests_cxx status_helper_test) - add_dependencies(buildtests_cxx status_metadata_test) - add_dependencies(buildtests_cxx status_util_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx stranded_event_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx streaming_throughput_test) - endif() - add_dependencies(buildtests_cxx string_ref_test) - add_dependencies(buildtests_cxx test_cpp_client_credentials_test) - add_dependencies(buildtests_cxx test_cpp_server_credentials_test) - add_dependencies(buildtests_cxx test_cpp_util_slice_test) - add_dependencies(buildtests_cxx test_cpp_util_time_test) - add_dependencies(buildtests_cxx thread_manager_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx thread_stress_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx time_jump_test) - endif() - add_dependencies(buildtests_cxx time_util_test) - add_dependencies(buildtests_cxx timer_test) - add_dependencies(buildtests_cxx tls_security_connector_test) - add_dependencies(buildtests_cxx too_many_pings_test) - add_dependencies(buildtests_cxx unknown_frame_bad_client_test) - add_dependencies(buildtests_cxx uri_parser_test) - add_dependencies(buildtests_cxx window_overflow_bad_client_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx work_serializer_test) - endif() - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx writes_per_rpc_test) - endif() - add_dependencies(buildtests_cxx xds_bootstrap_test) - add_dependencies(buildtests_cxx xds_certificate_provider_test) - add_dependencies(buildtests_cxx xds_credentials_end2end_test) - add_dependencies(buildtests_cxx xds_credentials_test) - if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - add_dependencies(buildtests_cxx xds_end2end_test) - endif() - add_dependencies(buildtests_cxx xds_interop_client) - add_dependencies(buildtests_cxx xds_interop_server) - add_dependencies(buildtests_cxx alts_credentials_fuzzer_one_entry) - add_dependencies(buildtests_cxx client_fuzzer_one_entry) - add_dependencies(buildtests_cxx hpack_parser_fuzzer_test_one_entry) - add_dependencies(buildtests_cxx http_request_fuzzer_test_one_entry) - add_dependencies(buildtests_cxx http_response_fuzzer_test_one_entry) - add_dependencies(buildtests_cxx json_fuzzer_test_one_entry) - add_dependencies(buildtests_cxx nanopb_fuzzer_response_test_one_entry) - add_dependencies(buildtests_cxx nanopb_fuzzer_serverlist_test_one_entry) - add_dependencies(buildtests_cxx percent_decode_fuzzer_one_entry) - add_dependencies(buildtests_cxx percent_encode_fuzzer_one_entry) - add_dependencies(buildtests_cxx server_fuzzer_one_entry) - add_dependencies(buildtests_cxx ssl_server_fuzzer_one_entry) - add_dependencies(buildtests_cxx uri_fuzzer_test_one_entry) - - add_custom_target(buildtests - DEPENDS buildtests_c buildtests_cxx) -endif() - - -add_library(address_sorting - third_party/address_sorting/address_sorting.c - third_party/address_sorting/address_sorting_posix.c - third_party/address_sorting/address_sorting_windows.c -) - -set_target_properties(address_sorting PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(address_sorting PROPERTIES COMPILE_PDB_NAME "address_sorting" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/address_sorting.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(address_sorting - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(address_sorting - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} -) - - - -if(gRPC_INSTALL) - install(TARGETS address_sorting EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -if(gRPC_BUILD_TESTS) - -add_library(end2end_nosec_tests - test/core/end2end/cq_verifier.cc - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/core/end2end/end2end_nosec_tests.cc - test/core/end2end/end2end_test_utils.cc - test/core/end2end/fixtures/http_proxy_fixture.cc - test/core/end2end/fixtures/local_util.cc - test/core/end2end/fixtures/proxy.cc - test/core/end2end/tests/authority_not_supported.cc - test/core/end2end/tests/bad_hostname.cc - test/core/end2end/tests/bad_ping.cc - test/core/end2end/tests/binary_metadata.cc - test/core/end2end/tests/call_host_override.cc - test/core/end2end/tests/cancel_after_accept.cc - test/core/end2end/tests/cancel_after_client_done.cc - test/core/end2end/tests/cancel_after_invoke.cc - test/core/end2end/tests/cancel_after_round_trip.cc - test/core/end2end/tests/cancel_before_invoke.cc - test/core/end2end/tests/cancel_in_a_vacuum.cc - test/core/end2end/tests/cancel_with_status.cc - test/core/end2end/tests/channelz.cc - test/core/end2end/tests/client_streaming.cc - test/core/end2end/tests/compressed_payload.cc - test/core/end2end/tests/connectivity.cc - test/core/end2end/tests/default_host.cc - test/core/end2end/tests/disappearing_server.cc - test/core/end2end/tests/empty_batch.cc - test/core/end2end/tests/filter_causes_close.cc - test/core/end2end/tests/filter_context.cc - test/core/end2end/tests/filter_init_fails.cc - test/core/end2end/tests/filter_latency.cc - test/core/end2end/tests/filter_status_code.cc - test/core/end2end/tests/graceful_server_shutdown.cc - test/core/end2end/tests/high_initial_seqno.cc - test/core/end2end/tests/hpack_size.cc - test/core/end2end/tests/idempotent_request.cc - test/core/end2end/tests/invoke_large_request.cc - test/core/end2end/tests/keepalive_timeout.cc - test/core/end2end/tests/large_metadata.cc - test/core/end2end/tests/max_concurrent_streams.cc - test/core/end2end/tests/max_connection_age.cc - test/core/end2end/tests/max_connection_idle.cc - test/core/end2end/tests/max_message_length.cc - test/core/end2end/tests/negative_deadline.cc - test/core/end2end/tests/no_error_on_hotpath.cc - test/core/end2end/tests/no_logging.cc - test/core/end2end/tests/no_op.cc - test/core/end2end/tests/payload.cc - test/core/end2end/tests/ping.cc - test/core/end2end/tests/ping_pong_streaming.cc - test/core/end2end/tests/proxy_auth.cc - test/core/end2end/tests/registered_call.cc - test/core/end2end/tests/request_with_flags.cc - test/core/end2end/tests/request_with_payload.cc - test/core/end2end/tests/resource_quota_server.cc - test/core/end2end/tests/retry.cc - test/core/end2end/tests/retry_cancel_during_delay.cc - test/core/end2end/tests/retry_cancellation.cc - test/core/end2end/tests/retry_disabled.cc - test/core/end2end/tests/retry_exceeds_buffer_size_in_initial_batch.cc - test/core/end2end/tests/retry_exceeds_buffer_size_in_subsequent_batch.cc - test/core/end2end/tests/retry_lb_drop.cc - test/core/end2end/tests/retry_non_retriable_status.cc - test/core/end2end/tests/retry_non_retriable_status_before_recv_trailing_metadata_started.cc - test/core/end2end/tests/retry_recv_initial_metadata.cc - test/core/end2end/tests/retry_recv_message.cc - test/core/end2end/tests/retry_server_pushback_delay.cc - test/core/end2end/tests/retry_server_pushback_disabled.cc - test/core/end2end/tests/retry_streaming.cc - test/core/end2end/tests/retry_streaming_after_commit.cc - test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc - test/core/end2end/tests/retry_throttled.cc - test/core/end2end/tests/retry_too_many_attempts.cc - test/core/end2end/tests/server_finishes_request.cc - test/core/end2end/tests/server_streaming.cc - test/core/end2end/tests/shutdown_finishes_calls.cc - test/core/end2end/tests/shutdown_finishes_tags.cc - test/core/end2end/tests/simple_cacheable_request.cc - test/core/end2end/tests/simple_delayed_request.cc - test/core/end2end/tests/simple_metadata.cc - test/core/end2end/tests/simple_request.cc - test/core/end2end/tests/stream_compression_compressed_payload.cc - test/core/end2end/tests/stream_compression_payload.cc - test/core/end2end/tests/stream_compression_ping_pong_streaming.cc - test/core/end2end/tests/streaming_error_response.cc - test/core/end2end/tests/trailing_metadata.cc - test/core/end2end/tests/workaround_cronet_compression.cc - test/core/end2end/tests/write_buffering.cc - test/core/end2end/tests/write_buffering_at_end.cc - test/core/util/test_lb_policies.cc -) - -set_target_properties(end2end_nosec_tests PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(end2end_nosec_tests PROPERTIES COMPILE_PDB_NAME "end2end_nosec_tests" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/end2end_nosec_tests.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(end2end_nosec_tests - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(end2end_nosec_tests - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_library(end2end_tests - test/core/end2end/cq_verifier.cc - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/core/end2end/end2end_test_utils.cc - test/core/end2end/end2end_tests.cc - test/core/end2end/fixtures/http_proxy_fixture.cc - test/core/end2end/fixtures/local_util.cc - test/core/end2end/fixtures/proxy.cc - test/core/end2end/tests/authority_not_supported.cc - test/core/end2end/tests/bad_hostname.cc - test/core/end2end/tests/bad_ping.cc - test/core/end2end/tests/binary_metadata.cc - test/core/end2end/tests/call_creds.cc - test/core/end2end/tests/call_host_override.cc - test/core/end2end/tests/cancel_after_accept.cc - test/core/end2end/tests/cancel_after_client_done.cc - test/core/end2end/tests/cancel_after_invoke.cc - test/core/end2end/tests/cancel_after_round_trip.cc - test/core/end2end/tests/cancel_before_invoke.cc - test/core/end2end/tests/cancel_in_a_vacuum.cc - test/core/end2end/tests/cancel_with_status.cc - test/core/end2end/tests/channelz.cc - test/core/end2end/tests/client_streaming.cc - test/core/end2end/tests/compressed_payload.cc - test/core/end2end/tests/connectivity.cc - test/core/end2end/tests/default_host.cc - test/core/end2end/tests/disappearing_server.cc - test/core/end2end/tests/empty_batch.cc - test/core/end2end/tests/filter_causes_close.cc - test/core/end2end/tests/filter_context.cc - test/core/end2end/tests/filter_init_fails.cc - test/core/end2end/tests/filter_latency.cc - test/core/end2end/tests/filter_status_code.cc - test/core/end2end/tests/graceful_server_shutdown.cc - test/core/end2end/tests/high_initial_seqno.cc - test/core/end2end/tests/hpack_size.cc - test/core/end2end/tests/idempotent_request.cc - test/core/end2end/tests/invoke_large_request.cc - test/core/end2end/tests/keepalive_timeout.cc - test/core/end2end/tests/large_metadata.cc - test/core/end2end/tests/max_concurrent_streams.cc - test/core/end2end/tests/max_connection_age.cc - test/core/end2end/tests/max_connection_idle.cc - test/core/end2end/tests/max_message_length.cc - test/core/end2end/tests/negative_deadline.cc - test/core/end2end/tests/no_error_on_hotpath.cc - test/core/end2end/tests/no_logging.cc - test/core/end2end/tests/no_op.cc - test/core/end2end/tests/payload.cc - test/core/end2end/tests/ping.cc - test/core/end2end/tests/ping_pong_streaming.cc - test/core/end2end/tests/proxy_auth.cc - test/core/end2end/tests/registered_call.cc - test/core/end2end/tests/request_with_flags.cc - test/core/end2end/tests/request_with_payload.cc - test/core/end2end/tests/resource_quota_server.cc - test/core/end2end/tests/retry.cc - test/core/end2end/tests/retry_cancel_during_delay.cc - test/core/end2end/tests/retry_cancellation.cc - test/core/end2end/tests/retry_disabled.cc - test/core/end2end/tests/retry_exceeds_buffer_size_in_initial_batch.cc - test/core/end2end/tests/retry_exceeds_buffer_size_in_subsequent_batch.cc - test/core/end2end/tests/retry_lb_drop.cc - test/core/end2end/tests/retry_non_retriable_status.cc - test/core/end2end/tests/retry_non_retriable_status_before_recv_trailing_metadata_started.cc - test/core/end2end/tests/retry_recv_initial_metadata.cc - test/core/end2end/tests/retry_recv_message.cc - test/core/end2end/tests/retry_server_pushback_delay.cc - test/core/end2end/tests/retry_server_pushback_disabled.cc - test/core/end2end/tests/retry_streaming.cc - test/core/end2end/tests/retry_streaming_after_commit.cc - test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc - test/core/end2end/tests/retry_throttled.cc - test/core/end2end/tests/retry_too_many_attempts.cc - test/core/end2end/tests/server_finishes_request.cc - test/core/end2end/tests/server_streaming.cc - test/core/end2end/tests/shutdown_finishes_calls.cc - test/core/end2end/tests/shutdown_finishes_tags.cc - test/core/end2end/tests/simple_cacheable_request.cc - test/core/end2end/tests/simple_delayed_request.cc - test/core/end2end/tests/simple_metadata.cc - test/core/end2end/tests/simple_request.cc - test/core/end2end/tests/stream_compression_compressed_payload.cc - test/core/end2end/tests/stream_compression_payload.cc - test/core/end2end/tests/stream_compression_ping_pong_streaming.cc - test/core/end2end/tests/streaming_error_response.cc - test/core/end2end/tests/trailing_metadata.cc - test/core/end2end/tests/workaround_cronet_compression.cc - test/core/end2end/tests/write_buffering.cc - test/core/end2end/tests/write_buffering_at_end.cc - test/core/util/test_lb_policies.cc -) - -set_target_properties(end2end_tests PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(end2end_tests PROPERTIES COMPILE_PDB_NAME "end2end_tests" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/end2end_tests.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(end2end_tests - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(end2end_tests - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() - -add_library(gpr - src/core/ext/upb-generated/google/api/annotations.upb.c - src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c - src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c - src/core/ext/upb-generated/google/api/http.upb.c - src/core/ext/upb-generated/google/protobuf/any.upb.c - src/core/ext/upb-generated/google/protobuf/duration.upb.c - src/core/ext/upb-generated/google/protobuf/empty.upb.c - src/core/ext/upb-generated/google/protobuf/struct.upb.c - src/core/ext/upb-generated/google/protobuf/timestamp.upb.c - src/core/ext/upb-generated/google/protobuf/wrappers.upb.c - src/core/ext/upb-generated/google/rpc/status.upb.c - src/core/lib/gpr/alloc.cc - src/core/lib/gpr/atm.cc - src/core/lib/gpr/cpu_iphone.cc - src/core/lib/gpr/cpu_linux.cc - src/core/lib/gpr/cpu_posix.cc - src/core/lib/gpr/cpu_windows.cc - src/core/lib/gpr/env_linux.cc - src/core/lib/gpr/env_posix.cc - src/core/lib/gpr/env_windows.cc - src/core/lib/gpr/log.cc - src/core/lib/gpr/log_android.cc - src/core/lib/gpr/log_linux.cc - src/core/lib/gpr/log_posix.cc - src/core/lib/gpr/log_windows.cc - src/core/lib/gpr/murmur_hash.cc - src/core/lib/gpr/string.cc - src/core/lib/gpr/string_posix.cc - src/core/lib/gpr/string_util_windows.cc - src/core/lib/gpr/string_windows.cc - src/core/lib/gpr/sync.cc - src/core/lib/gpr/sync_abseil.cc - src/core/lib/gpr/sync_posix.cc - src/core/lib/gpr/sync_windows.cc - src/core/lib/gpr/time.cc - src/core/lib/gpr/time_posix.cc - src/core/lib/gpr/time_precise.cc - src/core/lib/gpr/time_windows.cc - src/core/lib/gpr/tls_pthread.cc - src/core/lib/gpr/tmpfile_msys.cc - src/core/lib/gpr/tmpfile_posix.cc - src/core/lib/gpr/tmpfile_windows.cc - src/core/lib/gpr/wrap_memcpy.cc - src/core/lib/gprpp/arena.cc - src/core/lib/gprpp/examine_stack.cc - src/core/lib/gprpp/fork.cc - src/core/lib/gprpp/global_config_env.cc - src/core/lib/gprpp/host_port.cc - src/core/lib/gprpp/mpscq.cc - src/core/lib/gprpp/stat_posix.cc - src/core/lib/gprpp/stat_windows.cc - src/core/lib/gprpp/status_helper.cc - src/core/lib/gprpp/thd_posix.cc - src/core/lib/gprpp/thd_windows.cc - src/core/lib/gprpp/time_util.cc - src/core/lib/profiling/basic_timers.cc - src/core/lib/profiling/stap_timers.cc -) - -set_target_properties(gpr PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(gpr PROPERTIES COMPILE_PDB_NAME "gpr" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gpr.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(gpr - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(gpr - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::base - absl::memory - absl::status - absl::str_format - absl::strings - absl::synchronization - absl::time - absl::optional - upb -) -if(_gRPC_PLATFORM_ANDROID) - target_link_libraries(gpr - android - log - ) -endif() - -foreach(_hdr - include/grpc/impl/codegen/atm.h - include/grpc/impl/codegen/atm_gcc_atomic.h - include/grpc/impl/codegen/atm_gcc_sync.h - include/grpc/impl/codegen/atm_windows.h - include/grpc/impl/codegen/byte_buffer.h - include/grpc/impl/codegen/byte_buffer_reader.h - include/grpc/impl/codegen/compression_types.h - include/grpc/impl/codegen/connectivity_state.h - include/grpc/impl/codegen/fork.h - include/grpc/impl/codegen/gpr_slice.h - include/grpc/impl/codegen/gpr_types.h - include/grpc/impl/codegen/grpc_types.h - include/grpc/impl/codegen/log.h - include/grpc/impl/codegen/port_platform.h - include/grpc/impl/codegen/propagation_bits.h - include/grpc/impl/codegen/slice.h - include/grpc/impl/codegen/status.h - include/grpc/impl/codegen/sync.h - include/grpc/impl/codegen/sync_abseil.h - include/grpc/impl/codegen/sync_custom.h - include/grpc/impl/codegen/sync_generic.h - include/grpc/impl/codegen/sync_posix.h - include/grpc/impl/codegen/sync_windows.h - include/grpc/support/alloc.h - include/grpc/support/atm.h - include/grpc/support/atm_gcc_atomic.h - include/grpc/support/atm_gcc_sync.h - include/grpc/support/atm_windows.h - include/grpc/support/cpu.h - include/grpc/support/log.h - include/grpc/support/log_windows.h - include/grpc/support/port_platform.h - include/grpc/support/string_util.h - include/grpc/support/sync.h - include/grpc/support/sync_abseil.h - include/grpc/support/sync_custom.h - include/grpc/support/sync_generic.h - include/grpc/support/sync_posix.h - include/grpc/support/sync_windows.h - include/grpc/support/thd_id.h - include/grpc/support/time.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -if(gRPC_INSTALL) - install(TARGETS gpr EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - - -add_library(grpc - src/core/ext/filters/census/grpc_context.cc - src/core/ext/filters/client_channel/backend_metric.cc - src/core/ext/filters/client_channel/backup_poller.cc - src/core/ext/filters/client_channel/channel_connectivity.cc - src/core/ext/filters/client_channel/client_channel.cc - src/core/ext/filters/client_channel/client_channel_channelz.cc - src/core/ext/filters/client_channel/client_channel_factory.cc - src/core/ext/filters/client_channel/client_channel_plugin.cc - src/core/ext/filters/client_channel/config_selector.cc - src/core/ext/filters/client_channel/dynamic_filters.cc - src/core/ext/filters/client_channel/global_subchannel_pool.cc - src/core/ext/filters/client_channel/health/health_check_client.cc - src/core/ext/filters/client_channel/http_connect_handshaker.cc - src/core/ext/filters/client_channel/http_proxy.cc - src/core/ext/filters/client_channel/lb_policy.cc - src/core/ext/filters/client_channel/lb_policy/address_filtering.cc - src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc - src/core/ext/filters/client_channel/lb_policy/priority/priority.cc - src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc - src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc - src/core/ext/filters/client_channel/lb_policy/xds/cds.cc - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc - src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc - src/core/ext/filters/client_channel/lb_policy_registry.cc - src/core/ext/filters/client_channel/local_subchannel_pool.cc - src/core/ext/filters/client_channel/proxy_mapper_registry.cc - src/core/ext/filters/client_channel/resolver.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc - src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc - src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc - src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc - src/core/ext/filters/client_channel/resolver_registry.cc - src/core/ext/filters/client_channel/resolver_result_parsing.cc - src/core/ext/filters/client_channel/retry_filter.cc - src/core/ext/filters/client_channel/retry_service_config.cc - src/core/ext/filters/client_channel/retry_throttle.cc - src/core/ext/filters/client_channel/server_address.cc - src/core/ext/filters/client_channel/service_config.cc - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc - src/core/ext/filters/client_channel/service_config_parser.cc - src/core/ext/filters/client_channel/subchannel.cc - src/core/ext/filters/client_channel/subchannel_pool_interface.cc - src/core/ext/filters/client_idle/client_idle_filter.cc - src/core/ext/filters/deadline/deadline_filter.cc - src/core/ext/filters/fault_injection/fault_injection_filter.cc - src/core/ext/filters/fault_injection/service_config_parser.cc - src/core/ext/filters/http/client/http_client_filter.cc - src/core/ext/filters/http/client_authority_filter.cc - src/core/ext/filters/http/http_filters_plugin.cc - src/core/ext/filters/http/message_compress/message_compress_filter.cc - src/core/ext/filters/http/message_compress/message_decompress_filter.cc - src/core/ext/filters/http/server/http_server_filter.cc - src/core/ext/filters/max_age/max_age_filter.cc - src/core/ext/filters/message_size/message_size_filter.cc - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc - src/core/ext/filters/workarounds/workaround_utils.cc - src/core/ext/transport/chttp2/alpn/alpn.cc - src/core/ext/transport/chttp2/client/authority.cc - src/core/ext/transport/chttp2/client/chttp2_connector.cc - src/core/ext/transport/chttp2/client/insecure/channel_create.cc - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc - src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc - src/core/ext/transport/chttp2/server/chttp2_server.cc - src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc - src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc - src/core/ext/transport/chttp2/transport/bin_decoder.cc - src/core/ext/transport/chttp2/transport/bin_encoder.cc - src/core/ext/transport/chttp2/transport/chttp2_plugin.cc - src/core/ext/transport/chttp2/transport/chttp2_transport.cc - src/core/ext/transport/chttp2/transport/context_list.cc - src/core/ext/transport/chttp2/transport/flow_control.cc - src/core/ext/transport/chttp2/transport/frame_data.cc - src/core/ext/transport/chttp2/transport/frame_goaway.cc - src/core/ext/transport/chttp2/transport/frame_ping.cc - src/core/ext/transport/chttp2/transport/frame_rst_stream.cc - src/core/ext/transport/chttp2/transport/frame_settings.cc - src/core/ext/transport/chttp2/transport/frame_window_update.cc - src/core/ext/transport/chttp2/transport/hpack_encoder.cc - src/core/ext/transport/chttp2/transport/hpack_parser.cc - src/core/ext/transport/chttp2/transport/hpack_table.cc - src/core/ext/transport/chttp2/transport/http2_settings.cc - src/core/ext/transport/chttp2/transport/huffsyms.cc - src/core/ext/transport/chttp2/transport/incoming_metadata.cc - src/core/ext/transport/chttp2/transport/parsing.cc - src/core/ext/transport/chttp2/transport/stream_lists.cc - src/core/ext/transport/chttp2/transport/stream_map.cc - src/core/ext/transport/chttp2/transport/varint.cc - src/core/ext/transport/chttp2/transport/writing.cc - src/core/ext/transport/inproc/inproc_plugin.cc - src/core/ext/transport/inproc/inproc_transport.cc - src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c - src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c - src/core/ext/upb-generated/envoy/annotations/resource.upb.c - src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c - src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c - src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c - src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c - src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c - src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c - src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c - src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c - src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c - src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c - src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c - src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c - src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c - src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c - src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c - src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c - src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c - src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c - src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c - src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c - src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c - src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c - src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c - src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c - src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c - src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c - src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c - src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c - src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c - src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c - src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c - src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c - src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c - src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c - src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c - src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c - src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c - src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c - src/core/ext/upb-generated/envoy/type/v3/http.upb.c - src/core/ext/upb-generated/envoy/type/v3/percent.upb.c - src/core/ext/upb-generated/envoy/type/v3/range.upb.c - src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c - src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c - src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c - src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c - src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c - src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c - src/core/ext/upb-generated/udpa/annotations/migrate.upb.c - src/core/ext/upb-generated/udpa/annotations/security.upb.c - src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c - src/core/ext/upb-generated/udpa/annotations/status.upb.c - src/core/ext/upb-generated/udpa/annotations/versioning.upb.c - src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c - src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c - src/core/ext/upb-generated/validate/validate.upb.c - src/core/ext/upb-generated/xds/core/v3/authority.upb.c - src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c - src/core/ext/upb-generated/xds/core/v3/context_params.upb.c - src/core/ext/upb-generated/xds/core/v3/resource.upb.c - src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c - src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c - src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c - src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c - src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c - src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c - src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c - src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c - src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c - src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c - src/core/ext/upbdefs-generated/google/api/http.upbdefs.c - src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c - src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c - src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c - src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c - src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c - src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c - src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c - src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c - src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c - src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c - src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c - src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c - src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c - src/core/ext/upbdefs-generated/validate/validate.upbdefs.c - src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c - src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c - src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c - src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c - src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c - src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c - src/core/ext/xds/certificate_provider_registry.cc - src/core/ext/xds/certificate_provider_store.cc - src/core/ext/xds/file_watcher_certificate_provider_factory.cc - src/core/ext/xds/xds_api.cc - src/core/ext/xds/xds_bootstrap.cc - src/core/ext/xds/xds_certificate_provider.cc - src/core/ext/xds/xds_client.cc - src/core/ext/xds/xds_client_stats.cc - src/core/ext/xds/xds_http_fault_filter.cc - src/core/ext/xds/xds_http_filters.cc - src/core/ext/xds/xds_server_config_fetcher.cc - src/core/lib/address_utils/parse_address.cc - src/core/lib/address_utils/sockaddr_utils.cc - src/core/lib/avl/avl.cc - src/core/lib/backoff/backoff.cc - src/core/lib/channel/channel_args.cc - src/core/lib/channel/channel_stack.cc - src/core/lib/channel/channel_stack_builder.cc - src/core/lib/channel/channel_trace.cc - src/core/lib/channel/channelz.cc - src/core/lib/channel/channelz_registry.cc - src/core/lib/channel/connected_channel.cc - src/core/lib/channel/handshaker.cc - src/core/lib/channel/handshaker_registry.cc - src/core/lib/channel/status_util.cc - src/core/lib/compression/compression.cc - src/core/lib/compression/compression_args.cc - src/core/lib/compression/compression_internal.cc - src/core/lib/compression/message_compress.cc - src/core/lib/compression/stream_compression.cc - src/core/lib/compression/stream_compression_gzip.cc - src/core/lib/compression/stream_compression_identity.cc - src/core/lib/debug/stats.cc - src/core/lib/debug/stats_data.cc - src/core/lib/debug/trace.cc - src/core/lib/event_engine/slice_allocator.cc - src/core/lib/event_engine/sockaddr.cc - src/core/lib/http/format_request.cc - src/core/lib/http/httpcli.cc - src/core/lib/http/httpcli_security_connector.cc - src/core/lib/http/parser.cc - src/core/lib/iomgr/buffer_list.cc - src/core/lib/iomgr/call_combiner.cc - src/core/lib/iomgr/cfstream_handle.cc - src/core/lib/iomgr/combiner.cc - src/core/lib/iomgr/dualstack_socket_posix.cc - src/core/lib/iomgr/endpoint.cc - src/core/lib/iomgr/endpoint_cfstream.cc - src/core/lib/iomgr/endpoint_pair_posix.cc - src/core/lib/iomgr/endpoint_pair_uv.cc - src/core/lib/iomgr/endpoint_pair_windows.cc - src/core/lib/iomgr/error.cc - src/core/lib/iomgr/error_cfstream.cc - src/core/lib/iomgr/ev_apple.cc - src/core/lib/iomgr/ev_epoll1_linux.cc - src/core/lib/iomgr/ev_epollex_linux.cc - src/core/lib/iomgr/ev_poll_posix.cc - src/core/lib/iomgr/ev_posix.cc - src/core/lib/iomgr/ev_windows.cc - src/core/lib/iomgr/exec_ctx.cc - src/core/lib/iomgr/executor.cc - src/core/lib/iomgr/executor/mpmcqueue.cc - src/core/lib/iomgr/executor/threadpool.cc - src/core/lib/iomgr/fork_posix.cc - src/core/lib/iomgr/fork_windows.cc - src/core/lib/iomgr/gethostname_fallback.cc - src/core/lib/iomgr/gethostname_host_name_max.cc - src/core/lib/iomgr/gethostname_sysconf.cc - src/core/lib/iomgr/grpc_if_nametoindex_posix.cc - src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc - src/core/lib/iomgr/internal_errqueue.cc - src/core/lib/iomgr/iocp_windows.cc - src/core/lib/iomgr/iomgr.cc - src/core/lib/iomgr/iomgr_custom.cc - src/core/lib/iomgr/iomgr_internal.cc - src/core/lib/iomgr/iomgr_posix.cc - src/core/lib/iomgr/iomgr_posix_cfstream.cc - src/core/lib/iomgr/iomgr_uv.cc - src/core/lib/iomgr/iomgr_windows.cc - src/core/lib/iomgr/is_epollexclusive_available.cc - src/core/lib/iomgr/load_file.cc - src/core/lib/iomgr/lockfree_event.cc - src/core/lib/iomgr/polling_entity.cc - src/core/lib/iomgr/pollset.cc - src/core/lib/iomgr/pollset_custom.cc - src/core/lib/iomgr/pollset_set.cc - src/core/lib/iomgr/pollset_set_custom.cc - src/core/lib/iomgr/pollset_set_windows.cc - src/core/lib/iomgr/pollset_uv.cc - src/core/lib/iomgr/pollset_windows.cc - src/core/lib/iomgr/resolve_address.cc - src/core/lib/iomgr/resolve_address_custom.cc - src/core/lib/iomgr/resolve_address_posix.cc - src/core/lib/iomgr/resolve_address_windows.cc - src/core/lib/iomgr/resource_quota.cc - src/core/lib/iomgr/socket_factory_posix.cc - src/core/lib/iomgr/socket_mutator.cc - src/core/lib/iomgr/socket_utils_common_posix.cc - src/core/lib/iomgr/socket_utils_linux.cc - src/core/lib/iomgr/socket_utils_posix.cc - src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.cc - src/core/lib/iomgr/socket_windows.cc - src/core/lib/iomgr/tcp_client.cc - src/core/lib/iomgr/tcp_client_cfstream.cc - src/core/lib/iomgr/tcp_client_custom.cc - src/core/lib/iomgr/tcp_client_posix.cc - src/core/lib/iomgr/tcp_client_windows.cc - src/core/lib/iomgr/tcp_custom.cc - src/core/lib/iomgr/tcp_posix.cc - src/core/lib/iomgr/tcp_server.cc - src/core/lib/iomgr/tcp_server_custom.cc - src/core/lib/iomgr/tcp_server_posix.cc - src/core/lib/iomgr/tcp_server_utils_posix_common.cc - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc - src/core/lib/iomgr/tcp_server_windows.cc - src/core/lib/iomgr/tcp_uv.cc - src/core/lib/iomgr/tcp_windows.cc - src/core/lib/iomgr/time_averaged_stats.cc - src/core/lib/iomgr/timer.cc - src/core/lib/iomgr/timer_custom.cc - src/core/lib/iomgr/timer_generic.cc - src/core/lib/iomgr/timer_heap.cc - src/core/lib/iomgr/timer_manager.cc - src/core/lib/iomgr/timer_uv.cc - src/core/lib/iomgr/udp_server.cc - src/core/lib/iomgr/unix_sockets_posix.cc - src/core/lib/iomgr/unix_sockets_posix_noop.cc - src/core/lib/iomgr/wakeup_fd_eventfd.cc - src/core/lib/iomgr/wakeup_fd_nospecial.cc - src/core/lib/iomgr/wakeup_fd_pipe.cc - src/core/lib/iomgr/wakeup_fd_posix.cc - src/core/lib/iomgr/work_serializer.cc - src/core/lib/json/json_reader.cc - src/core/lib/json/json_util.cc - src/core/lib/json/json_writer.cc - src/core/lib/matchers/matchers.cc - src/core/lib/security/context/security_context.cc - src/core/lib/security/credentials/alts/alts_credentials.cc - src/core/lib/security/credentials/alts/check_gcp_environment.cc - src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc - src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc - src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc - src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc - src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc - src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc - src/core/lib/security/credentials/composite/composite_credentials.cc - src/core/lib/security/credentials/credentials.cc - src/core/lib/security/credentials/credentials_metadata.cc - src/core/lib/security/credentials/external/aws_external_account_credentials.cc - src/core/lib/security/credentials/external/aws_request_signer.cc - src/core/lib/security/credentials/external/external_account_credentials.cc - src/core/lib/security/credentials/external/file_external_account_credentials.cc - src/core/lib/security/credentials/external/url_external_account_credentials.cc - src/core/lib/security/credentials/fake/fake_credentials.cc - src/core/lib/security/credentials/google_default/credentials_generic.cc - src/core/lib/security/credentials/google_default/google_default_credentials.cc - src/core/lib/security/credentials/iam/iam_credentials.cc - src/core/lib/security/credentials/insecure/insecure_credentials.cc - src/core/lib/security/credentials/jwt/json_token.cc - src/core/lib/security/credentials/jwt/jwt_credentials.cc - src/core/lib/security/credentials/jwt/jwt_verifier.cc - src/core/lib/security/credentials/local/local_credentials.cc - src/core/lib/security/credentials/oauth2/oauth2_credentials.cc - src/core/lib/security/credentials/plugin/plugin_credentials.cc - src/core/lib/security/credentials/ssl/ssl_credentials.cc - src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc - src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc - src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc - src/core/lib/security/credentials/tls/tls_credentials.cc - src/core/lib/security/credentials/tls/tls_utils.cc - src/core/lib/security/credentials/xds/xds_credentials.cc - src/core/lib/security/security_connector/alts/alts_security_connector.cc - src/core/lib/security/security_connector/fake/fake_security_connector.cc - src/core/lib/security/security_connector/insecure/insecure_security_connector.cc - src/core/lib/security/security_connector/load_system_roots_fallback.cc - src/core/lib/security/security_connector/load_system_roots_linux.cc - src/core/lib/security/security_connector/local/local_security_connector.cc - src/core/lib/security/security_connector/security_connector.cc - src/core/lib/security/security_connector/ssl/ssl_security_connector.cc - src/core/lib/security/security_connector/ssl_utils.cc - src/core/lib/security/security_connector/ssl_utils_config.cc - src/core/lib/security/security_connector/tls/tls_security_connector.cc - src/core/lib/security/transport/client_auth_filter.cc - src/core/lib/security/transport/secure_endpoint.cc - src/core/lib/security/transport/security_handshaker.cc - src/core/lib/security/transport/server_auth_filter.cc - src/core/lib/security/transport/tsi_error.cc - src/core/lib/security/util/json_util.cc - src/core/lib/slice/b64.cc - src/core/lib/slice/percent_encoding.cc - src/core/lib/slice/slice.cc - src/core/lib/slice/slice_buffer.cc - src/core/lib/slice/slice_intern.cc - src/core/lib/slice/slice_string_helpers.cc - src/core/lib/surface/api_trace.cc - src/core/lib/surface/byte_buffer.cc - src/core/lib/surface/byte_buffer_reader.cc - src/core/lib/surface/call.cc - src/core/lib/surface/call_details.cc - src/core/lib/surface/call_log_batch.cc - src/core/lib/surface/channel.cc - src/core/lib/surface/channel_init.cc - src/core/lib/surface/channel_ping.cc - src/core/lib/surface/channel_stack_type.cc - src/core/lib/surface/completion_queue.cc - src/core/lib/surface/completion_queue_factory.cc - src/core/lib/surface/event_string.cc - src/core/lib/surface/init.cc - src/core/lib/surface/init_secure.cc - src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.cc - src/core/lib/surface/server.cc - src/core/lib/surface/validate_metadata.cc - src/core/lib/surface/version.cc - src/core/lib/transport/authority_override.cc - src/core/lib/transport/bdp_estimator.cc - src/core/lib/transport/byte_stream.cc - src/core/lib/transport/connectivity_state.cc - src/core/lib/transport/error_utils.cc - src/core/lib/transport/metadata.cc - src/core/lib/transport/metadata_batch.cc - src/core/lib/transport/pid_controller.cc - src/core/lib/transport/static_metadata.cc - src/core/lib/transport/status_conversion.cc - src/core/lib/transport/status_metadata.cc - src/core/lib/transport/timeout_encoding.cc - src/core/lib/transport/transport.cc - src/core/lib/transport/transport_op_string.cc - src/core/lib/uri/uri_parser.cc - src/core/plugin_registry/grpc_plugin_registry.cc - src/core/tsi/alts/crypt/aes_gcm.cc - src/core/tsi/alts/crypt/gsec.cc - src/core/tsi/alts/frame_protector/alts_counter.cc - src/core/tsi/alts/frame_protector/alts_crypter.cc - src/core/tsi/alts/frame_protector/alts_frame_protector.cc - src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc - src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc - src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc - src/core/tsi/alts/frame_protector/frame_handler.cc - src/core/tsi/alts/handshaker/alts_handshaker_client.cc - src/core/tsi/alts/handshaker/alts_shared_resource.cc - src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc - src/core/tsi/alts/handshaker/alts_tsi_utils.cc - src/core/tsi/alts/handshaker/transport_security_common_api.cc - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc - src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc - src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc - src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc - src/core/tsi/fake_transport_security.cc - src/core/tsi/local_transport_security.cc - src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc - src/core/tsi/ssl/session_cache/ssl_session_cache.cc - src/core/tsi/ssl/session_cache/ssl_session_openssl.cc - src/core/tsi/ssl_transport_security.cc - src/core/tsi/transport_security.cc - src/core/tsi/transport_security_grpc.cc -) - -set_target_properties(grpc PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc PROPERTIES COMPILE_PDB_NAME "grpc" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -if(DEFINE_SGX_RA_TLS_OCCLUM_BACKEND) - target_link_libraries(grpc - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_ZLIB_LIBRARIES} - ${_gRPC_CARES_LIBRARIES} - ${_gRPC_ADDRESS_SORTING_LIBRARIES} - ${_gRPC_RE2_LIBRARIES} - ${_gRPC_UPB_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flat_hash_map - absl::inlined_vector - absl::bind_front - absl::statusor - gpr - ${_gRPC_SSL_LIBRARIES} - address_sorting - occlum_dcap - cjson - ) -endif() - -if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc "-framework CoreFoundation") -endif() - -foreach(_hdr - include/grpc/byte_buffer.h - include/grpc/byte_buffer_reader.h - include/grpc/census.h - include/grpc/compression.h - include/grpc/event_engine/channel_args.h - include/grpc/event_engine/event_engine.h - include/grpc/event_engine/port.h - include/grpc/event_engine/slice_allocator.h - include/grpc/fork.h - include/grpc/grpc.h - include/grpc/grpc_posix.h - include/grpc/grpc_security.h - include/grpc/grpc_security_constants.h - include/grpc/load_reporting.h - include/grpc/slice.h - include/grpc/slice_buffer.h - include/grpc/status.h - include/grpc/support/workaround_list.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -if(gRPC_INSTALL) - install(TARGETS grpc EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -if(gRPC_BUILD_CSHARP_EXT) - -add_library(grpc_csharp_ext SHARED - src/csharp/ext/grpc_csharp_ext.c -) - -set_target_properties(grpc_csharp_ext PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc_csharp_ext PROPERTIES COMPILE_PDB_NAME "grpc_csharp_ext" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_csharp_ext.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc_csharp_ext - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(grpc_csharp_ext - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_library(grpc_test_util - test/core/util/cmdline.cc - test/core/util/fuzzer_util.cc - test/core/util/grpc_profiler.cc - test/core/util/histogram.cc - test/core/util/memory_counters.cc - test/core/util/mock_endpoint.cc - test/core/util/parse_hexstring.cc - test/core/util/passthru_endpoint.cc - test/core/util/port.cc - test/core/util/port_isolated_runtime_environment.cc - test/core/util/port_server_client.cc - test/core/util/reconnect_server.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - test/core/util/stack_tracer.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc - test/core/util/test_config.cc - test/core/util/test_tcp_server.cc - test/core/util/tls_utils.cc - test/core/util/tracer_util.cc - test/core/util/trickle_endpoint.cc -) - -set_target_properties(grpc_test_util PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc_test_util PROPERTIES COMPILE_PDB_NAME "grpc_test_util" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_test_util.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc_test_util - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(grpc_test_util - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::failure_signal_handler - absl::stacktrace - absl::symbolize - grpc -) -if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc_test_util "-framework CoreFoundation") -endif() - - -endif() -if(gRPC_BUILD_TESTS) - -add_library(grpc_test_util_unsecure - test/core/util/cmdline.cc - test/core/util/fuzzer_util.cc - test/core/util/grpc_profiler.cc - test/core/util/histogram.cc - test/core/util/memory_counters.cc - test/core/util/mock_endpoint.cc - test/core/util/parse_hexstring.cc - test/core/util/passthru_endpoint.cc - test/core/util/port.cc - test/core/util/port_isolated_runtime_environment.cc - test/core/util/port_server_client.cc - test/core/util/reconnect_server.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - test/core/util/stack_tracer.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc - test/core/util/test_config.cc - test/core/util/test_tcp_server.cc - test/core/util/tracer_util.cc - test/core/util/trickle_endpoint.cc -) - -set_target_properties(grpc_test_util_unsecure PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc_test_util_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_test_util_unsecure" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_test_util_unsecure.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc_test_util_unsecure - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(grpc_test_util_unsecure - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::failure_signal_handler - absl::stacktrace - absl::symbolize - grpc_unsecure -) -if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc_test_util_unsecure "-framework CoreFoundation") -endif() - - -endif() - -add_library(grpc_unsecure - src/core/ext/filters/census/grpc_context.cc - src/core/ext/filters/client_channel/backend_metric.cc - src/core/ext/filters/client_channel/backup_poller.cc - src/core/ext/filters/client_channel/channel_connectivity.cc - src/core/ext/filters/client_channel/client_channel.cc - src/core/ext/filters/client_channel/client_channel_channelz.cc - src/core/ext/filters/client_channel/client_channel_factory.cc - src/core/ext/filters/client_channel/client_channel_plugin.cc - src/core/ext/filters/client_channel/config_selector.cc - src/core/ext/filters/client_channel/dynamic_filters.cc - src/core/ext/filters/client_channel/global_subchannel_pool.cc - src/core/ext/filters/client_channel/health/health_check_client.cc - src/core/ext/filters/client_channel/http_connect_handshaker.cc - src/core/ext/filters/client_channel/http_proxy.cc - src/core/ext/filters/client_channel/lb_policy.cc - src/core/ext/filters/client_channel/lb_policy/address_filtering.cc - src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc - src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc - src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc - src/core/ext/filters/client_channel/lb_policy/priority/priority.cc - src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc - src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc - src/core/ext/filters/client_channel/lb_policy_registry.cc - src/core/ext/filters/client_channel/local_subchannel_pool.cc - src/core/ext/filters/client_channel/proxy_mapper_registry.cc - src/core/ext/filters/client_channel/resolver.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc - src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc - src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc - src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc - src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc - src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc - src/core/ext/filters/client_channel/resolver_registry.cc - src/core/ext/filters/client_channel/resolver_result_parsing.cc - src/core/ext/filters/client_channel/retry_filter.cc - src/core/ext/filters/client_channel/retry_service_config.cc - src/core/ext/filters/client_channel/retry_throttle.cc - src/core/ext/filters/client_channel/server_address.cc - src/core/ext/filters/client_channel/service_config.cc - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc - src/core/ext/filters/client_channel/service_config_parser.cc - src/core/ext/filters/client_channel/subchannel.cc - src/core/ext/filters/client_channel/subchannel_pool_interface.cc - src/core/ext/filters/client_idle/client_idle_filter.cc - src/core/ext/filters/deadline/deadline_filter.cc - src/core/ext/filters/fault_injection/fault_injection_filter.cc - src/core/ext/filters/fault_injection/service_config_parser.cc - src/core/ext/filters/http/client/http_client_filter.cc - src/core/ext/filters/http/client_authority_filter.cc - src/core/ext/filters/http/http_filters_plugin.cc - src/core/ext/filters/http/message_compress/message_compress_filter.cc - src/core/ext/filters/http/message_compress/message_decompress_filter.cc - src/core/ext/filters/http/server/http_server_filter.cc - src/core/ext/filters/max_age/max_age_filter.cc - src/core/ext/filters/message_size/message_size_filter.cc - src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc - src/core/ext/filters/workarounds/workaround_utils.cc - src/core/ext/transport/chttp2/alpn/alpn.cc - src/core/ext/transport/chttp2/client/authority.cc - src/core/ext/transport/chttp2/client/chttp2_connector.cc - src/core/ext/transport/chttp2/client/insecure/channel_create.cc - src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc - src/core/ext/transport/chttp2/server/chttp2_server.cc - src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc - src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc - src/core/ext/transport/chttp2/transport/bin_decoder.cc - src/core/ext/transport/chttp2/transport/bin_encoder.cc - src/core/ext/transport/chttp2/transport/chttp2_plugin.cc - src/core/ext/transport/chttp2/transport/chttp2_transport.cc - src/core/ext/transport/chttp2/transport/context_list.cc - src/core/ext/transport/chttp2/transport/flow_control.cc - src/core/ext/transport/chttp2/transport/frame_data.cc - src/core/ext/transport/chttp2/transport/frame_goaway.cc - src/core/ext/transport/chttp2/transport/frame_ping.cc - src/core/ext/transport/chttp2/transport/frame_rst_stream.cc - src/core/ext/transport/chttp2/transport/frame_settings.cc - src/core/ext/transport/chttp2/transport/frame_window_update.cc - src/core/ext/transport/chttp2/transport/hpack_encoder.cc - src/core/ext/transport/chttp2/transport/hpack_parser.cc - src/core/ext/transport/chttp2/transport/hpack_table.cc - src/core/ext/transport/chttp2/transport/http2_settings.cc - src/core/ext/transport/chttp2/transport/huffsyms.cc - src/core/ext/transport/chttp2/transport/incoming_metadata.cc - src/core/ext/transport/chttp2/transport/parsing.cc - src/core/ext/transport/chttp2/transport/stream_lists.cc - src/core/ext/transport/chttp2/transport/stream_map.cc - src/core/ext/transport/chttp2/transport/varint.cc - src/core/ext/transport/chttp2/transport/writing.cc - src/core/ext/transport/inproc/inproc_plugin.cc - src/core/ext/transport/inproc/inproc_transport.cc - src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c - src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c - src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c - src/core/ext/upb-generated/validate/validate.upb.c - src/core/lib/address_utils/parse_address.cc - src/core/lib/address_utils/sockaddr_utils.cc - src/core/lib/avl/avl.cc - src/core/lib/backoff/backoff.cc - src/core/lib/channel/channel_args.cc - src/core/lib/channel/channel_stack.cc - src/core/lib/channel/channel_stack_builder.cc - src/core/lib/channel/channel_trace.cc - src/core/lib/channel/channelz.cc - src/core/lib/channel/channelz_registry.cc - src/core/lib/channel/connected_channel.cc - src/core/lib/channel/handshaker.cc - src/core/lib/channel/handshaker_registry.cc - src/core/lib/channel/status_util.cc - src/core/lib/compression/compression.cc - src/core/lib/compression/compression_args.cc - src/core/lib/compression/compression_internal.cc - src/core/lib/compression/message_compress.cc - src/core/lib/compression/stream_compression.cc - src/core/lib/compression/stream_compression_gzip.cc - src/core/lib/compression/stream_compression_identity.cc - src/core/lib/debug/stats.cc - src/core/lib/debug/stats_data.cc - src/core/lib/debug/trace.cc - src/core/lib/event_engine/slice_allocator.cc - src/core/lib/event_engine/sockaddr.cc - src/core/lib/http/format_request.cc - src/core/lib/http/httpcli.cc - src/core/lib/http/parser.cc - src/core/lib/iomgr/buffer_list.cc - src/core/lib/iomgr/call_combiner.cc - src/core/lib/iomgr/cfstream_handle.cc - src/core/lib/iomgr/combiner.cc - src/core/lib/iomgr/dualstack_socket_posix.cc - src/core/lib/iomgr/endpoint.cc - src/core/lib/iomgr/endpoint_cfstream.cc - src/core/lib/iomgr/endpoint_pair_posix.cc - src/core/lib/iomgr/endpoint_pair_uv.cc - src/core/lib/iomgr/endpoint_pair_windows.cc - src/core/lib/iomgr/error.cc - src/core/lib/iomgr/error_cfstream.cc - src/core/lib/iomgr/ev_apple.cc - src/core/lib/iomgr/ev_epoll1_linux.cc - src/core/lib/iomgr/ev_epollex_linux.cc - src/core/lib/iomgr/ev_poll_posix.cc - src/core/lib/iomgr/ev_posix.cc - src/core/lib/iomgr/ev_windows.cc - src/core/lib/iomgr/exec_ctx.cc - src/core/lib/iomgr/executor.cc - src/core/lib/iomgr/executor/mpmcqueue.cc - src/core/lib/iomgr/executor/threadpool.cc - src/core/lib/iomgr/fork_posix.cc - src/core/lib/iomgr/fork_windows.cc - src/core/lib/iomgr/gethostname_fallback.cc - src/core/lib/iomgr/gethostname_host_name_max.cc - src/core/lib/iomgr/gethostname_sysconf.cc - src/core/lib/iomgr/grpc_if_nametoindex_posix.cc - src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc - src/core/lib/iomgr/internal_errqueue.cc - src/core/lib/iomgr/iocp_windows.cc - src/core/lib/iomgr/iomgr.cc - src/core/lib/iomgr/iomgr_custom.cc - src/core/lib/iomgr/iomgr_internal.cc - src/core/lib/iomgr/iomgr_posix.cc - src/core/lib/iomgr/iomgr_posix_cfstream.cc - src/core/lib/iomgr/iomgr_uv.cc - src/core/lib/iomgr/iomgr_windows.cc - src/core/lib/iomgr/is_epollexclusive_available.cc - src/core/lib/iomgr/load_file.cc - src/core/lib/iomgr/lockfree_event.cc - src/core/lib/iomgr/polling_entity.cc - src/core/lib/iomgr/pollset.cc - src/core/lib/iomgr/pollset_custom.cc - src/core/lib/iomgr/pollset_set.cc - src/core/lib/iomgr/pollset_set_custom.cc - src/core/lib/iomgr/pollset_set_windows.cc - src/core/lib/iomgr/pollset_uv.cc - src/core/lib/iomgr/pollset_windows.cc - src/core/lib/iomgr/resolve_address.cc - src/core/lib/iomgr/resolve_address_custom.cc - src/core/lib/iomgr/resolve_address_posix.cc - src/core/lib/iomgr/resolve_address_windows.cc - src/core/lib/iomgr/resource_quota.cc - src/core/lib/iomgr/socket_factory_posix.cc - src/core/lib/iomgr/socket_mutator.cc - src/core/lib/iomgr/socket_utils_common_posix.cc - src/core/lib/iomgr/socket_utils_linux.cc - src/core/lib/iomgr/socket_utils_posix.cc - src/core/lib/iomgr/socket_utils_uv.cc - src/core/lib/iomgr/socket_utils_windows.cc - src/core/lib/iomgr/socket_windows.cc - src/core/lib/iomgr/tcp_client.cc - src/core/lib/iomgr/tcp_client_cfstream.cc - src/core/lib/iomgr/tcp_client_custom.cc - src/core/lib/iomgr/tcp_client_posix.cc - src/core/lib/iomgr/tcp_client_windows.cc - src/core/lib/iomgr/tcp_custom.cc - src/core/lib/iomgr/tcp_posix.cc - src/core/lib/iomgr/tcp_server.cc - src/core/lib/iomgr/tcp_server_custom.cc - src/core/lib/iomgr/tcp_server_posix.cc - src/core/lib/iomgr/tcp_server_utils_posix_common.cc - src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc - src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc - src/core/lib/iomgr/tcp_server_windows.cc - src/core/lib/iomgr/tcp_uv.cc - src/core/lib/iomgr/tcp_windows.cc - src/core/lib/iomgr/time_averaged_stats.cc - src/core/lib/iomgr/timer.cc - src/core/lib/iomgr/timer_custom.cc - src/core/lib/iomgr/timer_generic.cc - src/core/lib/iomgr/timer_heap.cc - src/core/lib/iomgr/timer_manager.cc - src/core/lib/iomgr/timer_uv.cc - src/core/lib/iomgr/udp_server.cc - src/core/lib/iomgr/unix_sockets_posix.cc - src/core/lib/iomgr/unix_sockets_posix_noop.cc - src/core/lib/iomgr/wakeup_fd_eventfd.cc - src/core/lib/iomgr/wakeup_fd_nospecial.cc - src/core/lib/iomgr/wakeup_fd_pipe.cc - src/core/lib/iomgr/wakeup_fd_posix.cc - src/core/lib/iomgr/work_serializer.cc - src/core/lib/json/json_reader.cc - src/core/lib/json/json_util.cc - src/core/lib/json/json_writer.cc - src/core/lib/slice/b64.cc - src/core/lib/slice/percent_encoding.cc - src/core/lib/slice/slice.cc - src/core/lib/slice/slice_buffer.cc - src/core/lib/slice/slice_intern.cc - src/core/lib/slice/slice_string_helpers.cc - src/core/lib/surface/api_trace.cc - src/core/lib/surface/byte_buffer.cc - src/core/lib/surface/byte_buffer_reader.cc - src/core/lib/surface/call.cc - src/core/lib/surface/call_details.cc - src/core/lib/surface/call_log_batch.cc - src/core/lib/surface/channel.cc - src/core/lib/surface/channel_init.cc - src/core/lib/surface/channel_ping.cc - src/core/lib/surface/channel_stack_type.cc - src/core/lib/surface/completion_queue.cc - src/core/lib/surface/completion_queue_factory.cc - src/core/lib/surface/event_string.cc - src/core/lib/surface/init.cc - src/core/lib/surface/init_unsecure.cc - src/core/lib/surface/lame_client.cc - src/core/lib/surface/metadata_array.cc - src/core/lib/surface/server.cc - src/core/lib/surface/validate_metadata.cc - src/core/lib/surface/version.cc - src/core/lib/transport/authority_override.cc - src/core/lib/transport/bdp_estimator.cc - src/core/lib/transport/byte_stream.cc - src/core/lib/transport/connectivity_state.cc - src/core/lib/transport/error_utils.cc - src/core/lib/transport/metadata.cc - src/core/lib/transport/metadata_batch.cc - src/core/lib/transport/pid_controller.cc - src/core/lib/transport/static_metadata.cc - src/core/lib/transport/status_conversion.cc - src/core/lib/transport/status_metadata.cc - src/core/lib/transport/timeout_encoding.cc - src/core/lib/transport/transport.cc - src/core/lib/transport/transport_op_string.cc - src/core/lib/uri/uri_parser.cc - src/core/plugin_registry/grpc_unsecure_plugin_registry.cc -) - -set_target_properties(grpc_unsecure PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_unsecure" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_unsecure.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc_unsecure - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(grpc_unsecure - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_ZLIB_LIBRARIES} - ${_gRPC_CARES_LIBRARIES} - ${_gRPC_ADDRESS_SORTING_LIBRARIES} - ${_gRPC_RE2_LIBRARIES} - ${_gRPC_UPB_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flat_hash_map - absl::inlined_vector - absl::statusor - gpr - address_sorting -) -if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC) - target_link_libraries(grpc_unsecure "-framework CoreFoundation") -endif() - -foreach(_hdr - include/grpc/byte_buffer.h - include/grpc/byte_buffer_reader.h - include/grpc/census.h - include/grpc/compression.h - include/grpc/event_engine/channel_args.h - include/grpc/event_engine/event_engine.h - include/grpc/event_engine/port.h - include/grpc/event_engine/slice_allocator.h - include/grpc/fork.h - include/grpc/grpc.h - include/grpc/grpc_posix.h - include/grpc/grpc_security_constants.h - include/grpc/load_reporting.h - include/grpc/slice.h - include/grpc/slice_buffer.h - include/grpc/status.h - include/grpc/support/workaround_list.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -if(gRPC_INSTALL) - install(TARGETS grpc_unsecure EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -if(gRPC_BUILD_TESTS) - -if(gRPC_BUILD_CODEGEN) -add_library(benchmark_helpers - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_mock.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/microbenchmarks/helpers.cc -) - -set_target_properties(benchmark_helpers PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(benchmark_helpers PROPERTIES COMPILE_PDB_NAME "benchmark_helpers" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/benchmark_helpers.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(benchmark_helpers - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(benchmark_helpers - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - ${_gRPC_BENCHMARK_LIBRARIES} - grpc++_unsecure - grpc_test_util_unsecure - grpc++_test_config -) - -endif() - -endif() - -add_library(grpc++ - src/cpp/client/channel_cc.cc - src/cpp/client/client_callback.cc - src/cpp/client/client_context.cc - src/cpp/client/client_interceptor.cc - src/cpp/client/create_channel.cc - src/cpp/client/create_channel_internal.cc - src/cpp/client/create_channel_posix.cc - src/cpp/client/credentials_cc.cc - src/cpp/client/insecure_credentials.cc - src/cpp/client/secure_credentials.cc - src/cpp/client/xds_credentials.cc - src/cpp/codegen/codegen_init.cc - src/cpp/common/alarm.cc - src/cpp/common/auth_property_iterator.cc - src/cpp/common/channel_arguments.cc - src/cpp/common/channel_filter.cc - src/cpp/common/completion_queue_cc.cc - src/cpp/common/core_codegen.cc - src/cpp/common/resource_quota_cc.cc - src/cpp/common/rpc_method.cc - src/cpp/common/secure_auth_context.cc - src/cpp/common/secure_channel_arguments.cc - src/cpp/common/secure_create_auth_context.cc - src/cpp/common/tls_certificate_provider.cc - src/cpp/common/tls_credentials_options.cc - src/cpp/common/tls_credentials_options_util.cc - src/cpp/common/validate_service_config.cc - src/cpp/common/version_cc.cc - src/cpp/server/async_generic_service.cc - src/cpp/server/channel_argument_option.cc - src/cpp/server/create_default_thread_pool.cc - src/cpp/server/dynamic_thread_pool.cc - src/cpp/server/external_connection_acceptor_impl.cc - src/cpp/server/health/default_health_check_service.cc - src/cpp/server/health/health_check_service.cc - src/cpp/server/health/health_check_service_server_builder_option.cc - src/cpp/server/insecure_server_credentials.cc - src/cpp/server/secure_server_credentials.cc - src/cpp/server/server_builder.cc - src/cpp/server/server_callback.cc - src/cpp/server/server_cc.cc - src/cpp/server/server_context.cc - src/cpp/server/server_credentials.cc - src/cpp/server/server_posix.cc - src/cpp/server/xds_server_credentials.cc - src/cpp/thread_manager/thread_manager.cc - src/cpp/util/byte_buffer_cc.cc - src/cpp/util/status.cc - src/cpp/util/string_ref.cc - src/cpp/util/time_cc.cc - src/cpp/sgx/sgx_ra_tls_credentials.cc - src/cpp/sgx/sgx_ra_tls_options.cc - src/cpp/sgx/sgx_ra_tls_backends.cc - src/cpp/sgx/sgx_ra_tls_occlum.cc - src/cpp/sgx/sgx_ra_tls_utils.cc -) - -set_target_properties(grpc++ PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc++ PROPERTIES COMPILE_PDB_NAME "grpc++" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc++ - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc++ - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc -) - -foreach(_hdr - include/grpc++/alarm.h - include/grpc++/channel.h - include/grpc++/client_context.h - include/grpc++/completion_queue.h - include/grpc++/create_channel.h - include/grpc++/create_channel_posix.h - include/grpc++/ext/health_check_service_server_builder_option.h - include/grpc++/generic/async_generic_service.h - include/grpc++/generic/generic_stub.h - include/grpc++/grpc++.h - include/grpc++/health_check_service_interface.h - include/grpc++/impl/call.h - include/grpc++/impl/channel_argument_option.h - include/grpc++/impl/client_unary_call.h - include/grpc++/impl/codegen/async_stream.h - include/grpc++/impl/codegen/async_unary_call.h - include/grpc++/impl/codegen/byte_buffer.h - include/grpc++/impl/codegen/call.h - include/grpc++/impl/codegen/call_hook.h - include/grpc++/impl/codegen/channel_interface.h - include/grpc++/impl/codegen/client_context.h - include/grpc++/impl/codegen/client_unary_call.h - include/grpc++/impl/codegen/completion_queue.h - include/grpc++/impl/codegen/completion_queue_tag.h - include/grpc++/impl/codegen/config.h - include/grpc++/impl/codegen/config_protobuf.h - include/grpc++/impl/codegen/core_codegen.h - include/grpc++/impl/codegen/core_codegen_interface.h - include/grpc++/impl/codegen/create_auth_context.h - include/grpc++/impl/codegen/grpc_library.h - include/grpc++/impl/codegen/metadata_map.h - include/grpc++/impl/codegen/method_handler_impl.h - include/grpc++/impl/codegen/proto_utils.h - include/grpc++/impl/codegen/rpc_method.h - include/grpc++/impl/codegen/rpc_service_method.h - include/grpc++/impl/codegen/security/auth_context.h - include/grpc++/impl/codegen/serialization_traits.h - include/grpc++/impl/codegen/server_context.h - include/grpc++/impl/codegen/server_interface.h - include/grpc++/impl/codegen/service_type.h - include/grpc++/impl/codegen/slice.h - include/grpc++/impl/codegen/status.h - include/grpc++/impl/codegen/status_code_enum.h - include/grpc++/impl/codegen/string_ref.h - include/grpc++/impl/codegen/stub_options.h - include/grpc++/impl/codegen/sync_stream.h - include/grpc++/impl/codegen/time.h - include/grpc++/impl/grpc_library.h - include/grpc++/impl/method_handler_impl.h - include/grpc++/impl/rpc_method.h - include/grpc++/impl/rpc_service_method.h - include/grpc++/impl/serialization_traits.h - include/grpc++/impl/server_builder_option.h - include/grpc++/impl/server_builder_plugin.h - include/grpc++/impl/server_initializer.h - include/grpc++/impl/service_type.h - include/grpc++/resource_quota.h - include/grpc++/security/auth_context.h - include/grpc++/security/auth_metadata_processor.h - include/grpc++/security/credentials.h - include/grpc++/security/server_credentials.h - include/grpc++/server.h - include/grpc++/server_builder.h - include/grpc++/server_context.h - include/grpc++/server_posix.h - include/grpc++/support/async_stream.h - include/grpc++/support/async_unary_call.h - include/grpc++/support/byte_buffer.h - include/grpc++/support/channel_arguments.h - include/grpc++/support/config.h - include/grpc++/support/slice.h - include/grpc++/support/status.h - include/grpc++/support/status_code_enum.h - include/grpc++/support/string_ref.h - include/grpc++/support/stub_options.h - include/grpc++/support/sync_stream.h - include/grpc++/support/time.h - include/grpcpp/alarm.h - include/grpcpp/channel.h - include/grpcpp/client_context.h - include/grpcpp/completion_queue.h - include/grpcpp/create_channel.h - include/grpcpp/create_channel_posix.h - include/grpcpp/ext/health_check_service_server_builder_option.h - include/grpcpp/generic/async_generic_service.h - include/grpcpp/generic/generic_stub.h - include/grpcpp/grpcpp.h - include/grpcpp/health_check_service_interface.h - include/grpcpp/impl/call.h - include/grpcpp/impl/channel_argument_option.h - include/grpcpp/impl/client_unary_call.h - include/grpcpp/impl/codegen/async_generic_service.h - include/grpcpp/impl/codegen/async_stream.h - include/grpcpp/impl/codegen/async_unary_call.h - include/grpcpp/impl/codegen/byte_buffer.h - include/grpcpp/impl/codegen/call.h - include/grpcpp/impl/codegen/call_hook.h - include/grpcpp/impl/codegen/call_op_set.h - include/grpcpp/impl/codegen/call_op_set_interface.h - include/grpcpp/impl/codegen/callback_common.h - include/grpcpp/impl/codegen/channel_interface.h - include/grpcpp/impl/codegen/client_callback.h - include/grpcpp/impl/codegen/client_context.h - include/grpcpp/impl/codegen/client_interceptor.h - include/grpcpp/impl/codegen/client_unary_call.h - include/grpcpp/impl/codegen/completion_queue.h - include/grpcpp/impl/codegen/completion_queue_tag.h - include/grpcpp/impl/codegen/config.h - include/grpcpp/impl/codegen/config_protobuf.h - include/grpcpp/impl/codegen/core_codegen.h - include/grpcpp/impl/codegen/core_codegen_interface.h - include/grpcpp/impl/codegen/create_auth_context.h - include/grpcpp/impl/codegen/delegating_channel.h - include/grpcpp/impl/codegen/grpc_library.h - include/grpcpp/impl/codegen/intercepted_channel.h - include/grpcpp/impl/codegen/interceptor.h - include/grpcpp/impl/codegen/interceptor_common.h - include/grpcpp/impl/codegen/message_allocator.h - include/grpcpp/impl/codegen/metadata_map.h - include/grpcpp/impl/codegen/method_handler.h - include/grpcpp/impl/codegen/method_handler_impl.h - include/grpcpp/impl/codegen/proto_buffer_reader.h - include/grpcpp/impl/codegen/proto_buffer_writer.h - include/grpcpp/impl/codegen/proto_utils.h - include/grpcpp/impl/codegen/rpc_method.h - include/grpcpp/impl/codegen/rpc_service_method.h - include/grpcpp/impl/codegen/security/auth_context.h - include/grpcpp/impl/codegen/serialization_traits.h - include/grpcpp/impl/codegen/server_callback.h - include/grpcpp/impl/codegen/server_callback_handlers.h - include/grpcpp/impl/codegen/server_context.h - include/grpcpp/impl/codegen/server_interceptor.h - include/grpcpp/impl/codegen/server_interface.h - include/grpcpp/impl/codegen/service_type.h - include/grpcpp/impl/codegen/slice.h - include/grpcpp/impl/codegen/status.h - include/grpcpp/impl/codegen/status_code_enum.h - include/grpcpp/impl/codegen/string_ref.h - include/grpcpp/impl/codegen/stub_options.h - include/grpcpp/impl/codegen/sync.h - include/grpcpp/impl/codegen/sync_stream.h - include/grpcpp/impl/codegen/time.h - include/grpcpp/impl/grpc_library.h - include/grpcpp/impl/method_handler_impl.h - include/grpcpp/impl/rpc_method.h - include/grpcpp/impl/rpc_service_method.h - include/grpcpp/impl/serialization_traits.h - include/grpcpp/impl/server_builder_option.h - include/grpcpp/impl/server_builder_plugin.h - include/grpcpp/impl/server_initializer.h - include/grpcpp/impl/service_type.h - include/grpcpp/resource_quota.h - include/grpcpp/security/auth_context.h - include/grpcpp/security/auth_metadata_processor.h - include/grpcpp/security/credentials.h - include/grpcpp/security/server_credentials.h - include/grpcpp/security/tls_certificate_provider.h - include/grpcpp/security/sgx/sgx_ra_tls.h - include/grpcpp/security/sgx/sgx_ra_tls_options.h - include/grpcpp/server.h - include/grpcpp/server_builder.h - include/grpcpp/server_context.h - include/grpcpp/server_posix.h - include/grpcpp/support/async_stream.h - include/grpcpp/support/async_unary_call.h - include/grpcpp/support/byte_buffer.h - include/grpcpp/support/channel_arguments.h - include/grpcpp/support/client_callback.h - include/grpcpp/support/client_interceptor.h - include/grpcpp/support/config.h - include/grpcpp/support/interceptor.h - include/grpcpp/support/message_allocator.h - include/grpcpp/support/method_handler.h - include/grpcpp/support/proto_buffer_reader.h - include/grpcpp/support/proto_buffer_writer.h - include/grpcpp/support/server_callback.h - include/grpcpp/support/server_interceptor.h - include/grpcpp/support/slice.h - include/grpcpp/support/status.h - include/grpcpp/support/status_code_enum.h - include/grpcpp/support/string_ref.h - include/grpcpp/support/stub_options.h - include/grpcpp/support/sync_stream.h - include/grpcpp/support/time.h - include/grpcpp/support/validate_service_config.h - include/grpcpp/xds_server_builder.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -if(gRPC_INSTALL) - install(TARGETS grpc++ EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - - -add_library(grpc++_alts - src/cpp/common/alts_context.cc - src/cpp/common/alts_util.cc -) - -set_target_properties(grpc++_alts PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc++_alts PROPERTIES COMPILE_PDB_NAME "grpc++_alts" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_alts.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc++_alts - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc++_alts - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -) - -foreach(_hdr - include/grpcpp/security/alts_context.h - include/grpcpp/security/alts_util.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -if(gRPC_INSTALL) - install(TARGETS grpc++_alts EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - - -add_library(grpc++_error_details - src/cpp/util/error_details.cc -) - -set_target_properties(grpc++_error_details PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc++_error_details PROPERTIES COMPILE_PDB_NAME "grpc++_error_details" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_error_details.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc++_error_details - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc++_error_details - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -) - -foreach(_hdr - include/grpc++/support/error_details.h - include/grpcpp/support/error_details.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -if(gRPC_INSTALL) - install(TARGETS grpc++_error_details EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - - -if(gRPC_BUILD_CODEGEN) -add_library(grpc++_reflection - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h - src/cpp/ext/proto_server_reflection.cc - src/cpp/ext/proto_server_reflection_plugin.cc -) - -set_target_properties(grpc++_reflection PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc++_reflection PROPERTIES COMPILE_PDB_NAME "grpc++_reflection" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_reflection.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc++_reflection - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc++_reflection - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -) - -foreach(_hdr - include/grpc++/ext/proto_server_reflection_plugin.h - include/grpcpp/ext/proto_server_reflection_plugin.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() -endif() - -if(gRPC_BUILD_CODEGEN) - -if(gRPC_INSTALL) - install(TARGETS grpc++_reflection EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() -if(gRPC_BUILD_TESTS) - -add_library(grpc++_test - src/cpp/client/channel_test_peer.cc -) - -set_target_properties(grpc++_test PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc++_test PROPERTIES COMPILE_PDB_NAME "grpc++_test" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc++_test - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc++_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -) - -foreach(_hdr - include/grpc++/test/mock_stream.h - include/grpc++/test/server_context_test_spouse.h - include/grpcpp/test/channel_test_peer.h - include/grpcpp/test/default_reactor_test_peer.h - include/grpcpp/test/mock_stream.h - include/grpcpp/test/server_context_test_spouse.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - -endif() -if(gRPC_BUILD_TESTS) - -add_library(grpc++_test_config - test/cpp/util/test_config_cc.cc -) - -set_target_properties(grpc++_test_config PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc++_test_config PROPERTIES COMPILE_PDB_NAME "grpc++_test_config" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_config.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc++_test_config - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc++_test_config - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags_parse - gpr -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_library(grpc++_test_util - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/cpp/util/byte_buffer_proto_helper.cc - test/cpp/util/create_test_channel.cc - test/cpp/util/string_ref_helper.cc - test/cpp/util/subprocess.cc - test/cpp/util/test_credentials_provider.cc -) - -set_target_properties(grpc++_test_util PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc++_test_util PROPERTIES COMPILE_PDB_NAME "grpc++_test_util" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_test_util.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc++_test_util - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc++_test_util - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc++ - grpc_test_util -) - - -endif() - -add_library(grpc++_unsecure - src/cpp/client/channel_cc.cc - src/cpp/client/client_callback.cc - src/cpp/client/client_context.cc - src/cpp/client/client_interceptor.cc - src/cpp/client/create_channel.cc - src/cpp/client/create_channel_internal.cc - src/cpp/client/create_channel_posix.cc - src/cpp/client/credentials_cc.cc - src/cpp/client/insecure_credentials.cc - src/cpp/codegen/codegen_init.cc - src/cpp/common/alarm.cc - src/cpp/common/channel_arguments.cc - src/cpp/common/channel_filter.cc - src/cpp/common/completion_queue_cc.cc - src/cpp/common/core_codegen.cc - src/cpp/common/insecure_create_auth_context.cc - src/cpp/common/resource_quota_cc.cc - src/cpp/common/rpc_method.cc - src/cpp/common/validate_service_config.cc - src/cpp/common/version_cc.cc - src/cpp/server/async_generic_service.cc - src/cpp/server/channel_argument_option.cc - src/cpp/server/create_default_thread_pool.cc - src/cpp/server/dynamic_thread_pool.cc - src/cpp/server/external_connection_acceptor_impl.cc - src/cpp/server/health/default_health_check_service.cc - src/cpp/server/health/health_check_service.cc - src/cpp/server/health/health_check_service_server_builder_option.cc - src/cpp/server/insecure_server_credentials.cc - src/cpp/server/server_builder.cc - src/cpp/server/server_callback.cc - src/cpp/server/server_cc.cc - src/cpp/server/server_context.cc - src/cpp/server/server_credentials.cc - src/cpp/server/server_posix.cc - src/cpp/thread_manager/thread_manager.cc - src/cpp/util/byte_buffer_cc.cc - src/cpp/util/status.cc - src/cpp/util/string_ref.cc - src/cpp/util/time_cc.cc -) - -set_target_properties(grpc++_unsecure PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc++_unsecure PROPERTIES COMPILE_PDB_NAME "grpc++_unsecure" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc++_unsecure.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc++_unsecure - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc++_unsecure - ${_gRPC_BASELIB_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_unsecure -) - -foreach(_hdr - include/grpc++/alarm.h - include/grpc++/channel.h - include/grpc++/client_context.h - include/grpc++/completion_queue.h - include/grpc++/create_channel.h - include/grpc++/create_channel_posix.h - include/grpc++/ext/health_check_service_server_builder_option.h - include/grpc++/generic/async_generic_service.h - include/grpc++/generic/generic_stub.h - include/grpc++/grpc++.h - include/grpc++/health_check_service_interface.h - include/grpc++/impl/call.h - include/grpc++/impl/channel_argument_option.h - include/grpc++/impl/client_unary_call.h - include/grpc++/impl/codegen/async_stream.h - include/grpc++/impl/codegen/async_unary_call.h - include/grpc++/impl/codegen/byte_buffer.h - include/grpc++/impl/codegen/call.h - include/grpc++/impl/codegen/call_hook.h - include/grpc++/impl/codegen/channel_interface.h - include/grpc++/impl/codegen/client_context.h - include/grpc++/impl/codegen/client_unary_call.h - include/grpc++/impl/codegen/completion_queue.h - include/grpc++/impl/codegen/completion_queue_tag.h - include/grpc++/impl/codegen/config.h - include/grpc++/impl/codegen/config_protobuf.h - include/grpc++/impl/codegen/core_codegen.h - include/grpc++/impl/codegen/core_codegen_interface.h - include/grpc++/impl/codegen/create_auth_context.h - include/grpc++/impl/codegen/grpc_library.h - include/grpc++/impl/codegen/metadata_map.h - include/grpc++/impl/codegen/method_handler_impl.h - include/grpc++/impl/codegen/proto_utils.h - include/grpc++/impl/codegen/rpc_method.h - include/grpc++/impl/codegen/rpc_service_method.h - include/grpc++/impl/codegen/security/auth_context.h - include/grpc++/impl/codegen/serialization_traits.h - include/grpc++/impl/codegen/server_context.h - include/grpc++/impl/codegen/server_interface.h - include/grpc++/impl/codegen/service_type.h - include/grpc++/impl/codegen/slice.h - include/grpc++/impl/codegen/status.h - include/grpc++/impl/codegen/status_code_enum.h - include/grpc++/impl/codegen/string_ref.h - include/grpc++/impl/codegen/stub_options.h - include/grpc++/impl/codegen/sync_stream.h - include/grpc++/impl/codegen/time.h - include/grpc++/impl/grpc_library.h - include/grpc++/impl/method_handler_impl.h - include/grpc++/impl/rpc_method.h - include/grpc++/impl/rpc_service_method.h - include/grpc++/impl/serialization_traits.h - include/grpc++/impl/server_builder_option.h - include/grpc++/impl/server_builder_plugin.h - include/grpc++/impl/server_initializer.h - include/grpc++/impl/service_type.h - include/grpc++/resource_quota.h - include/grpc++/security/auth_context.h - include/grpc++/security/auth_metadata_processor.h - include/grpc++/security/credentials.h - include/grpc++/security/server_credentials.h - include/grpc++/server.h - include/grpc++/server_builder.h - include/grpc++/server_context.h - include/grpc++/server_posix.h - include/grpc++/support/async_stream.h - include/grpc++/support/async_unary_call.h - include/grpc++/support/byte_buffer.h - include/grpc++/support/channel_arguments.h - include/grpc++/support/config.h - include/grpc++/support/slice.h - include/grpc++/support/status.h - include/grpc++/support/status_code_enum.h - include/grpc++/support/string_ref.h - include/grpc++/support/stub_options.h - include/grpc++/support/sync_stream.h - include/grpc++/support/time.h - include/grpcpp/alarm.h - include/grpcpp/channel.h - include/grpcpp/client_context.h - include/grpcpp/completion_queue.h - include/grpcpp/create_channel.h - include/grpcpp/create_channel_posix.h - include/grpcpp/ext/health_check_service_server_builder_option.h - include/grpcpp/generic/async_generic_service.h - include/grpcpp/generic/generic_stub.h - include/grpcpp/grpcpp.h - include/grpcpp/health_check_service_interface.h - include/grpcpp/impl/call.h - include/grpcpp/impl/channel_argument_option.h - include/grpcpp/impl/client_unary_call.h - include/grpcpp/impl/codegen/async_generic_service.h - include/grpcpp/impl/codegen/async_stream.h - include/grpcpp/impl/codegen/async_unary_call.h - include/grpcpp/impl/codegen/byte_buffer.h - include/grpcpp/impl/codegen/call.h - include/grpcpp/impl/codegen/call_hook.h - include/grpcpp/impl/codegen/call_op_set.h - include/grpcpp/impl/codegen/call_op_set_interface.h - include/grpcpp/impl/codegen/callback_common.h - include/grpcpp/impl/codegen/channel_interface.h - include/grpcpp/impl/codegen/client_callback.h - include/grpcpp/impl/codegen/client_context.h - include/grpcpp/impl/codegen/client_interceptor.h - include/grpcpp/impl/codegen/client_unary_call.h - include/grpcpp/impl/codegen/completion_queue.h - include/grpcpp/impl/codegen/completion_queue_tag.h - include/grpcpp/impl/codegen/config.h - include/grpcpp/impl/codegen/config_protobuf.h - include/grpcpp/impl/codegen/core_codegen.h - include/grpcpp/impl/codegen/core_codegen_interface.h - include/grpcpp/impl/codegen/create_auth_context.h - include/grpcpp/impl/codegen/delegating_channel.h - include/grpcpp/impl/codegen/grpc_library.h - include/grpcpp/impl/codegen/intercepted_channel.h - include/grpcpp/impl/codegen/interceptor.h - include/grpcpp/impl/codegen/interceptor_common.h - include/grpcpp/impl/codegen/message_allocator.h - include/grpcpp/impl/codegen/metadata_map.h - include/grpcpp/impl/codegen/method_handler.h - include/grpcpp/impl/codegen/method_handler_impl.h - include/grpcpp/impl/codegen/proto_buffer_reader.h - include/grpcpp/impl/codegen/proto_buffer_writer.h - include/grpcpp/impl/codegen/proto_utils.h - include/grpcpp/impl/codegen/rpc_method.h - include/grpcpp/impl/codegen/rpc_service_method.h - include/grpcpp/impl/codegen/security/auth_context.h - include/grpcpp/impl/codegen/serialization_traits.h - include/grpcpp/impl/codegen/server_callback.h - include/grpcpp/impl/codegen/server_callback_handlers.h - include/grpcpp/impl/codegen/server_context.h - include/grpcpp/impl/codegen/server_interceptor.h - include/grpcpp/impl/codegen/server_interface.h - include/grpcpp/impl/codegen/service_type.h - include/grpcpp/impl/codegen/slice.h - include/grpcpp/impl/codegen/status.h - include/grpcpp/impl/codegen/status_code_enum.h - include/grpcpp/impl/codegen/string_ref.h - include/grpcpp/impl/codegen/stub_options.h - include/grpcpp/impl/codegen/sync.h - include/grpcpp/impl/codegen/sync_stream.h - include/grpcpp/impl/codegen/time.h - include/grpcpp/impl/grpc_library.h - include/grpcpp/impl/method_handler_impl.h - include/grpcpp/impl/rpc_method.h - include/grpcpp/impl/rpc_service_method.h - include/grpcpp/impl/serialization_traits.h - include/grpcpp/impl/server_builder_option.h - include/grpcpp/impl/server_builder_plugin.h - include/grpcpp/impl/server_initializer.h - include/grpcpp/impl/service_type.h - include/grpcpp/resource_quota.h - include/grpcpp/security/auth_context.h - include/grpcpp/security/auth_metadata_processor.h - include/grpcpp/security/credentials.h - include/grpcpp/security/server_credentials.h - include/grpcpp/security/tls_certificate_provider.h - include/grpcpp/security/tls_credentials_options.h - include/grpcpp/security/sgx/sgx_ra_tls.h - include/grpcpp/security/sgx/sgx_ra_tls_options.h - include/grpcpp/server.h - include/grpcpp/server_builder.h - include/grpcpp/server_context.h - include/grpcpp/server_posix.h - include/grpcpp/support/async_stream.h - include/grpcpp/support/async_unary_call.h - include/grpcpp/support/byte_buffer.h - include/grpcpp/support/channel_arguments.h - include/grpcpp/support/client_callback.h - include/grpcpp/support/client_interceptor.h - include/grpcpp/support/config.h - include/grpcpp/support/interceptor.h - include/grpcpp/support/message_allocator.h - include/grpcpp/support/method_handler.h - include/grpcpp/support/proto_buffer_reader.h - include/grpcpp/support/proto_buffer_writer.h - include/grpcpp/support/server_callback.h - include/grpcpp/support/server_interceptor.h - include/grpcpp/support/slice.h - include/grpcpp/support/status.h - include/grpcpp/support/status_code_enum.h - include/grpcpp/support/string_ref.h - include/grpcpp/support/stub_options.h - include/grpcpp/support/sync_stream.h - include/grpcpp/support/time.h - include/grpcpp/support/validate_service_config.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -if(gRPC_INSTALL) - install(TARGETS grpc++_unsecure EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - - -add_library(grpc_plugin_support - src/compiler/cpp_generator.cc - src/compiler/csharp_generator.cc - src/compiler/node_generator.cc - src/compiler/objective_c_generator.cc - src/compiler/php_generator.cc - src/compiler/python_generator.cc - src/compiler/ruby_generator.cc -) - -set_target_properties(grpc_plugin_support PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpc_plugin_support PROPERTIES COMPILE_PDB_NAME "grpc_plugin_support" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_plugin_support.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpc_plugin_support - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpc_plugin_support - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} -) - -foreach(_hdr - include/grpc++/impl/codegen/config_protobuf.h - include/grpcpp/impl/codegen/config_protobuf.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() - - -if(gRPC_INSTALL) - install(TARGETS grpc_plugin_support EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - - -# grpcpp_channelz doesn't build with protobuf-lite -# See https://github.com/grpc/grpc/issues/19473 -if(gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE) -add_library(grpcpp_channelz - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h - src/cpp/server/channelz/channelz_service.cc - src/cpp/server/channelz/channelz_service_plugin.cc -) - -set_target_properties(grpcpp_channelz PROPERTIES - VERSION ${gRPC_CPP_VERSION} - SOVERSION ${gRPC_CPP_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(grpcpp_channelz PROPERTIES COMPILE_PDB_NAME "grpcpp_channelz" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpcpp_channelz.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(grpcpp_channelz - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) -target_link_libraries(grpcpp_channelz - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ -) - -foreach(_hdr - include/grpcpp/ext/channelz_service_plugin.h -) - string(REPLACE "include/" "" _path ${_hdr}) - get_filename_component(_path ${_path} PATH) - install(FILES ${_hdr} - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) -endforeach() -endif() - -if(gRPC_BUILD_CODEGEN) - -# grpcpp_channelz doesn't build with protobuf-lite, so no install required -# See https://github.com/grpc/grpc/issues/22826 -if(gRPC_INSTALL AND NOT gRPC_USE_PROTO_LITE) - install(TARGETS grpcpp_channelz EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() - -add_library(upb - third_party/upb/upb/decode_fast.c - third_party/upb/upb/decode.c - third_party/upb/upb/def.c - third_party/upb/upb/encode.c - third_party/upb/upb/msg.c - third_party/upb/upb/reflection.c - third_party/upb/upb/table.c - third_party/upb/upb/text_encode.c - third_party/upb/upb/upb.c - src/core/ext/upb-generated/google/protobuf/descriptor.upb.c - src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c -) - -set_target_properties(upb PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -) - -if(WIN32 AND MSVC) - set_target_properties(upb PROPERTIES COMPILE_PDB_NAME "upb" - COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" - ) - if(gRPC_INSTALL) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/upb.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) - endif() -endif() - -target_include_directories(upb - PUBLIC $ $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) -target_link_libraries(upb - ${_gRPC_ALLTARGETS_LIBRARIES} -) - - - -if(gRPC_INSTALL) - install(TARGETS upb EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - - - -add_executable(check_epollexclusive - test/build/check_epollexclusive.c -) - -target_include_directories(check_epollexclusive - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(check_epollexclusive - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc - gpr -) - - - -add_executable(gen_hpack_tables - tools/codegen/core/gen_hpack_tables.cc -) - -target_include_directories(gen_hpack_tables - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(gen_hpack_tables - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc - gpr -) - - - -add_executable(gen_legal_metadata_characters - tools/codegen/core/gen_legal_metadata_characters.cc -) - -target_include_directories(gen_legal_metadata_characters - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(gen_legal_metadata_characters - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} -) - - - -add_executable(gen_percent_encoding_tables - tools/codegen/core/gen_percent_encoding_tables.cc -) - -target_include_directories(gen_percent_encoding_tables - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(gen_percent_encoding_tables - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} -) - - -if(gRPC_BUILD_TESTS) - -add_executable(algorithm_test - test/core/compression/algorithm_test.cc -) - -target_include_directories(algorithm_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(algorithm_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alloc_test - test/core/gpr/alloc_test.cc -) - -target_include_directories(alloc_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alloc_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alpn_test - test/core/transport/chttp2/alpn_test.cc -) - -target_include_directories(alpn_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alpn_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_counter_test - test/core/tsi/alts/crypt/gsec_test_util.cc - test/core/tsi/alts/frame_protector/alts_counter_test.cc -) - -target_include_directories(alts_counter_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_counter_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_crypt_test - test/core/tsi/alts/crypt/aes_gcm_test.cc - test/core/tsi/alts/crypt/gsec_test_util.cc -) - -target_include_directories(alts_crypt_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_crypt_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_crypter_test - test/core/tsi/alts/crypt/gsec_test_util.cc - test/core/tsi/alts/frame_protector/alts_crypter_test.cc -) - -target_include_directories(alts_crypter_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_crypter_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_frame_protector_test - test/core/tsi/alts/crypt/gsec_test_util.cc - test/core/tsi/alts/frame_protector/alts_frame_protector_test.cc - test/core/tsi/transport_security_test_lib.cc -) - -target_include_directories(alts_frame_protector_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_frame_protector_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_grpc_record_protocol_test - test/core/tsi/alts/crypt/gsec_test_util.cc - test/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_test.cc -) - -target_include_directories(alts_grpc_record_protocol_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_grpc_record_protocol_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_handshaker_client_test - test/core/tsi/alts/handshaker/alts_handshaker_client_test.cc - test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc -) - -target_include_directories(alts_handshaker_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_handshaker_client_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_iovec_record_protocol_test - test/core/tsi/alts/crypt/gsec_test_util.cc - test/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol_test.cc -) - -target_include_directories(alts_iovec_record_protocol_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_iovec_record_protocol_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_security_connector_test - test/core/security/alts_security_connector_test.cc -) - -target_include_directories(alts_security_connector_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_security_connector_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_tsi_handshaker_test - test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc - test/core/tsi/alts/handshaker/alts_tsi_handshaker_test.cc -) - -target_include_directories(alts_tsi_handshaker_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_tsi_handshaker_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_tsi_utils_test - test/core/tsi/alts/handshaker/alts_handshaker_service_api_test_lib.cc - test/core/tsi/alts/handshaker/alts_tsi_utils_test.cc -) - -target_include_directories(alts_tsi_utils_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_tsi_utils_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_zero_copy_grpc_protector_test - test/core/tsi/alts/crypt/gsec_test_util.cc - test/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector_test.cc -) - -target_include_directories(alts_zero_copy_grpc_protector_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(alts_zero_copy_grpc_protector_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(arena_test - test/core/gpr/arena_test.cc -) - -target_include_directories(arena_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(arena_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(auth_context_test - test/core/security/auth_context_test.cc -) - -target_include_directories(auth_context_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(auth_context_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(avl_test - test/core/avl/avl_test.cc -) - -target_include_directories(avl_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(avl_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(b64_test - test/core/slice/b64_test.cc -) - -target_include_directories(b64_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(b64_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(bad_server_response_test - test/core/end2end/bad_server_response_test.cc - test/core/end2end/cq_verifier.cc -) - -target_include_directories(bad_server_response_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(bad_server_response_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(bad_ssl_alpn_test - test/core/bad_ssl/bad_ssl_test.cc - test/core/end2end/cq_verifier.cc - ) - - target_include_directories(bad_ssl_alpn_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(bad_ssl_alpn_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(bad_ssl_cert_test - test/core/bad_ssl/bad_ssl_test.cc - test/core/end2end/cq_verifier.cc - ) - - target_include_directories(bad_ssl_cert_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(bad_ssl_cert_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(bin_decoder_test - test/core/transport/chttp2/bin_decoder_test.cc -) - -target_include_directories(bin_decoder_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(bin_decoder_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(bin_encoder_test - test/core/transport/chttp2/bin_encoder_test.cc -) - -target_include_directories(bin_encoder_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(bin_encoder_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(buffer_list_test - test/core/iomgr/buffer_list_test.cc -) - -target_include_directories(buffer_list_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(buffer_list_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channel_args_test - test/core/channel/channel_args_test.cc -) - -target_include_directories(channel_args_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(channel_args_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channel_create_test - test/core/surface/channel_create_test.cc -) - -target_include_directories(channel_create_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(channel_create_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channel_stack_builder_test - test/core/channel/channel_stack_builder_test.cc -) - -target_include_directories(channel_stack_builder_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(channel_stack_builder_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channel_stack_test - test/core/channel/channel_stack_test.cc -) - -target_include_directories(channel_stack_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(channel_stack_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(check_gcp_environment_linux_test - test/core/security/check_gcp_environment_linux_test.cc -) - -target_include_directories(check_gcp_environment_linux_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(check_gcp_environment_linux_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(check_gcp_environment_windows_test - test/core/security/check_gcp_environment_windows_test.cc -) - -target_include_directories(check_gcp_environment_windows_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(check_gcp_environment_windows_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(client_ssl_test - test/core/handshake/client_ssl.cc - ) - - target_include_directories(client_ssl_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(client_ssl_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(cmdline_test - test/core/util/cmdline_test.cc -) - -target_include_directories(cmdline_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(cmdline_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(combiner_test - test/core/iomgr/combiner_test.cc - ) - - target_include_directories(combiner_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(combiner_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(completion_queue_threading_test - test/core/surface/completion_queue_threading_test.cc -) - -target_include_directories(completion_queue_threading_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(completion_queue_threading_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(compression_test - test/core/compression/compression_test.cc -) - -target_include_directories(compression_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(compression_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(concurrent_connectivity_test - test/core/surface/concurrent_connectivity_test.cc -) - -target_include_directories(concurrent_connectivity_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(concurrent_connectivity_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(connection_refused_test - test/core/end2end/connection_refused_test.cc - test/core/end2end/cq_verifier.cc -) - -target_include_directories(connection_refused_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(connection_refused_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(cpu_test - test/core/gpr/cpu_test.cc -) - -target_include_directories(cpu_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(cpu_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(dns_resolver_connectivity_using_ares_test - test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc -) - -target_include_directories(dns_resolver_connectivity_using_ares_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(dns_resolver_connectivity_using_ares_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(dns_resolver_connectivity_using_native_test - test/core/client_channel/resolvers/dns_resolver_connectivity_test.cc -) - -target_include_directories(dns_resolver_connectivity_using_native_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(dns_resolver_connectivity_using_native_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(dns_resolver_cooldown_test - test/core/client_channel/resolvers/dns_resolver_cooldown_test.cc -) - -target_include_directories(dns_resolver_cooldown_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(dns_resolver_cooldown_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(dns_resolver_test - test/core/client_channel/resolvers/dns_resolver_test.cc -) - -target_include_directories(dns_resolver_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(dns_resolver_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(dualstack_socket_test - test/core/end2end/cq_verifier.cc - test/core/end2end/dualstack_socket_test.cc - ) - - target_include_directories(dualstack_socket_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(dualstack_socket_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(endpoint_pair_test - test/core/iomgr/endpoint_pair_test.cc - test/core/iomgr/endpoint_tests.cc -) - -target_include_directories(endpoint_pair_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(endpoint_pair_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(env_test - test/core/gpr/env_test.cc -) - -target_include_directories(env_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(env_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(error_test - test/core/iomgr/endpoint_tests.cc - test/core/iomgr/error_test.cc -) - -target_include_directories(error_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(error_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(ev_epollex_linux_test - test/core/iomgr/ev_epollex_linux_test.cc - ) - - target_include_directories(ev_epollex_linux_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(ev_epollex_linux_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(fake_resolver_test - test/core/client_channel/resolvers/fake_resolver_test.cc -) - -target_include_directories(fake_resolver_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(fake_resolver_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(fake_transport_security_test - test/core/tsi/fake_transport_security_test.cc - test/core/tsi/transport_security_test_lib.cc -) - -target_include_directories(fake_transport_security_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(fake_transport_security_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(fd_conservation_posix_test - test/core/iomgr/fd_conservation_posix_test.cc - ) - - target_include_directories(fd_conservation_posix_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(fd_conservation_posix_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(fd_posix_test - test/core/iomgr/fd_posix_test.cc - ) - - target_include_directories(fd_posix_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(fd_posix_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(fling_stream_test - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/core/fling/fling_stream_test.cc - ) - - target_include_directories(fling_stream_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(fling_stream_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(fling_test - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/core/fling/fling_test.cc - ) - - target_include_directories(fling_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(fling_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(fork_test - test/core/gprpp/fork_test.cc - ) - - target_include_directories(fork_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(fork_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(format_request_test - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/core/http/format_request_test.cc -) - -target_include_directories(format_request_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(format_request_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(frame_handler_test - test/core/tsi/alts/crypt/gsec_test_util.cc - test/core/tsi/alts/frame_protector/frame_handler_test.cc -) - -target_include_directories(frame_handler_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(frame_handler_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(goaway_server_test - test/core/end2end/cq_verifier.cc - test/core/end2end/goaway_server_test.cc -) - -target_include_directories(goaway_server_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(goaway_server_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_alts_credentials_options_test - test/core/security/grpc_alts_credentials_options_test.cc -) - -target_include_directories(grpc_alts_credentials_options_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(grpc_alts_credentials_options_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_byte_buffer_reader_test - test/core/surface/byte_buffer_reader_test.cc -) - -target_include_directories(grpc_byte_buffer_reader_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(grpc_byte_buffer_reader_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_completion_queue_test - test/core/surface/completion_queue_test.cc -) - -target_include_directories(grpc_completion_queue_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(grpc_completion_queue_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_ipv6_loopback_available_test - test/core/iomgr/grpc_ipv6_loopback_available_test.cc -) - -target_include_directories(grpc_ipv6_loopback_available_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(grpc_ipv6_loopback_available_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(handshake_server_with_readahead_handshaker_test - test/core/handshake/readahead_handshaker_server_ssl.cc - test/core/handshake/server_ssl_common.cc - ) - - target_include_directories(handshake_server_with_readahead_handshaker_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(handshake_server_with_readahead_handshaker_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(handshake_verify_peer_options_test - test/core/handshake/verify_peer_options.cc - ) - - target_include_directories(handshake_verify_peer_options_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(handshake_verify_peer_options_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(histogram_test - test/core/util/histogram_test.cc -) - -target_include_directories(histogram_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(histogram_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(host_port_test - test/core/gprpp/host_port_test.cc -) - -target_include_directories(host_port_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(host_port_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(hpack_encoder_test - test/core/transport/chttp2/hpack_encoder_test.cc -) - -target_include_directories(hpack_encoder_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(hpack_encoder_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(hpack_parser_test - test/core/transport/chttp2/hpack_parser_test.cc -) - -target_include_directories(hpack_parser_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(hpack_parser_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(hpack_table_test - test/core/transport/chttp2/hpack_table_test.cc -) - -target_include_directories(hpack_table_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(hpack_table_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(httpcli_test - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/core/http/httpcli_test.cc - ) - - target_include_directories(httpcli_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(httpcli_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(httpscli_test - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/core/http/httpscli_test.cc - ) - - target_include_directories(httpscli_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(httpscli_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(inproc_callback_test - test/core/end2end/inproc_callback_test.cc -) - -target_include_directories(inproc_callback_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(inproc_callback_test - ${_gRPC_ALLTARGETS_LIBRARIES} - end2end_tests -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(invalid_call_argument_test - test/core/end2end/cq_verifier.cc - test/core/end2end/invalid_call_argument_test.cc -) - -target_include_directories(invalid_call_argument_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(invalid_call_argument_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(json_token_test - test/core/security/json_token_test.cc -) - -target_include_directories(json_token_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(json_token_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(jwt_verifier_test - test/core/security/jwt_verifier_test.cc -) - -target_include_directories(jwt_verifier_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(jwt_verifier_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(lame_client_test - test/core/end2end/cq_verifier.cc - test/core/surface/lame_client_test.cc -) - -target_include_directories(lame_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(lame_client_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(load_file_test - test/core/iomgr/load_file_test.cc -) - -target_include_directories(load_file_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(load_file_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(manual_constructor_test - test/core/gprpp/manual_constructor_test.cc -) - -target_include_directories(manual_constructor_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(manual_constructor_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(message_compress_test - test/core/compression/message_compress_test.cc -) - -target_include_directories(message_compress_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(message_compress_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(metadata_test - test/core/transport/metadata_test.cc -) - -target_include_directories(metadata_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(metadata_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(minimal_stack_is_minimal_test - test/core/channel/minimal_stack_is_minimal_test.cc -) - -target_include_directories(minimal_stack_is_minimal_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(minimal_stack_is_minimal_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(mpmcqueue_test - test/core/iomgr/mpmcqueue_test.cc -) - -target_include_directories(mpmcqueue_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(mpmcqueue_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(mpscq_test - test/core/gprpp/mpscq_test.cc - ) - - target_include_directories(mpscq_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(mpscq_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(multiple_server_queues_test - test/core/end2end/cq_verifier.cc - test/core/end2end/multiple_server_queues_test.cc -) - -target_include_directories(multiple_server_queues_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(multiple_server_queues_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(murmur_hash_test - test/core/gpr/murmur_hash_test.cc -) - -target_include_directories(murmur_hash_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(murmur_hash_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(no_server_test - test/core/end2end/cq_verifier.cc - test/core/end2end/no_server_test.cc -) - -target_include_directories(no_server_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(no_server_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(num_external_connectivity_watchers_test - test/core/surface/num_external_connectivity_watchers_test.cc -) - -target_include_directories(num_external_connectivity_watchers_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(num_external_connectivity_watchers_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(parse_address_test - test/core/address_utils/parse_address_test.cc -) - -target_include_directories(parse_address_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(parse_address_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(parse_address_with_named_scope_id_test - test/core/address_utils/parse_address_with_named_scope_id_test.cc - ) - - target_include_directories(parse_address_with_named_scope_id_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(parse_address_with_named_scope_id_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(parser_test - test/core/end2end/data/client_certs.cc - test/core/end2end/data/server1_cert.cc - test/core/end2end/data/server1_key.cc - test/core/end2end/data/test_root_cert.cc - test/core/http/parser_test.cc -) - -target_include_directories(parser_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(parser_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(percent_encoding_test - test/core/slice/percent_encoding_test.cc -) - -target_include_directories(percent_encoding_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(percent_encoding_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(public_headers_must_be_c89 - test/core/surface/public_headers_must_be_c89.c -) - -target_include_directories(public_headers_must_be_c89 - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(public_headers_must_be_c89 - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(resolve_address_using_ares_resolver_posix_test - test/core/iomgr/resolve_address_posix_test.cc - ) - - target_include_directories(resolve_address_using_ares_resolver_posix_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(resolve_address_using_ares_resolver_posix_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(resolve_address_using_ares_resolver_test - test/core/iomgr/resolve_address_test.cc -) - -target_include_directories(resolve_address_using_ares_resolver_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(resolve_address_using_ares_resolver_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(resolve_address_using_native_resolver_posix_test - test/core/iomgr/resolve_address_posix_test.cc - ) - - target_include_directories(resolve_address_using_native_resolver_posix_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(resolve_address_using_native_resolver_posix_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(resolve_address_using_native_resolver_test - test/core/iomgr/resolve_address_test.cc -) - -target_include_directories(resolve_address_using_native_resolver_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(resolve_address_using_native_resolver_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(resource_quota_test - test/core/iomgr/resource_quota_test.cc -) - -target_include_directories(resource_quota_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(resource_quota_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(secure_channel_create_test - test/core/surface/secure_channel_create_test.cc -) - -target_include_directories(secure_channel_create_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(secure_channel_create_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(secure_endpoint_test - test/core/iomgr/endpoint_tests.cc - test/core/security/secure_endpoint_test.cc -) - -target_include_directories(secure_endpoint_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(secure_endpoint_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(security_connector_test - test/core/security/security_connector_test.cc -) - -target_include_directories(security_connector_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(security_connector_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(sequential_connectivity_test - test/core/surface/sequential_connectivity_test.cc -) - -target_include_directories(sequential_connectivity_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(sequential_connectivity_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(server_ssl_test - test/core/handshake/server_ssl.cc - test/core/handshake/server_ssl_common.cc - ) - - target_include_directories(server_ssl_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(server_ssl_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_test - test/core/surface/server_test.cc -) - -target_include_directories(server_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(server_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(slice_buffer_test - test/core/slice/slice_buffer_test.cc -) - -target_include_directories(slice_buffer_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(slice_buffer_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(slice_string_helpers_test - test/core/slice/slice_string_helpers_test.cc -) - -target_include_directories(slice_string_helpers_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(slice_string_helpers_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(sockaddr_resolver_test - test/core/client_channel/resolvers/sockaddr_resolver_test.cc -) - -target_include_directories(sockaddr_resolver_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(sockaddr_resolver_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(socket_utils_test - test/core/iomgr/socket_utils_test.cc - ) - - target_include_directories(socket_utils_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(socket_utils_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(spinlock_test - test/core/gpr/spinlock_test.cc -) - -target_include_directories(spinlock_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(spinlock_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(ssl_credentials_test - test/core/security/ssl_credentials_test.cc -) - -target_include_directories(ssl_credentials_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(ssl_credentials_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(ssl_transport_security_test - test/core/tsi/ssl_transport_security_test.cc - test/core/tsi/transport_security_test_lib.cc - ) - - target_include_directories(ssl_transport_security_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(ssl_transport_security_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(status_conversion_test - test/core/transport/status_conversion_test.cc -) - -target_include_directories(status_conversion_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(status_conversion_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(stream_compression_test - test/core/compression/stream_compression_test.cc -) - -target_include_directories(stream_compression_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(stream_compression_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(stream_map_test - test/core/transport/chttp2/stream_map_test.cc -) - -target_include_directories(stream_map_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(stream_map_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(stream_owned_slice_test - test/core/transport/stream_owned_slice_test.cc -) - -target_include_directories(stream_owned_slice_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(stream_owned_slice_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(string_test - test/core/gpr/string_test.cc -) - -target_include_directories(string_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(string_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(sync_test - test/core/gpr/sync_test.cc -) - -target_include_directories(sync_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(sync_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(tcp_client_posix_test - test/core/iomgr/tcp_client_posix_test.cc - ) - - target_include_directories(tcp_client_posix_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(tcp_client_posix_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(tcp_posix_test - test/core/iomgr/endpoint_tests.cc - test/core/iomgr/tcp_posix_test.cc - ) - - target_include_directories(tcp_posix_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(tcp_posix_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(tcp_server_posix_test - test/core/iomgr/tcp_server_posix_test.cc - ) - - target_include_directories(tcp_server_posix_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(tcp_server_posix_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_core_gpr_time_test - test/core/gpr/time_test.cc -) - -target_include_directories(test_core_gpr_time_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(test_core_gpr_time_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_core_security_credentials_test - test/core/security/credentials_test.cc -) - -target_include_directories(test_core_security_credentials_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(test_core_security_credentials_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_core_slice_slice_test - test/core/slice/slice_test.cc -) - -target_include_directories(test_core_slice_slice_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(test_core_slice_slice_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(thd_test - test/core/gprpp/thd_test.cc -) - -target_include_directories(thd_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(thd_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(threadpool_test - test/core/iomgr/threadpool_test.cc -) - -target_include_directories(threadpool_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(threadpool_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(time_averaged_stats_test - test/core/iomgr/time_averaged_stats_test.cc -) - -target_include_directories(time_averaged_stats_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(time_averaged_stats_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(timeout_encoding_test - test/core/transport/timeout_encoding_test.cc -) - -target_include_directories(timeout_encoding_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(timeout_encoding_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(timer_heap_test - test/core/iomgr/timer_heap_test.cc -) - -target_include_directories(timer_heap_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(timer_heap_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(timer_list_test - test/core/iomgr/timer_list_test.cc -) - -target_include_directories(timer_list_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(timer_list_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(tls_test - test/core/gpr/tls_test.cc -) - -target_include_directories(tls_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(tls_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(transport_security_common_api_test - test/core/tsi/alts/handshaker/transport_security_common_api_test.cc -) - -target_include_directories(transport_security_common_api_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(transport_security_common_api_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(transport_security_test - test/core/tsi/transport_security_test.cc -) - -target_include_directories(transport_security_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(transport_security_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(udp_server_test - test/core/iomgr/udp_server_test.cc - ) - - target_include_directories(udp_server_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ) - - target_link_libraries(udp_server_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(useful_test - test/core/gpr/useful_test.cc -) - -target_include_directories(useful_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(useful_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(varint_test - test/core/transport/chttp2/varint_test.cc -) - -target_include_directories(varint_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} -) - -target_link_libraries(varint_test - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(address_sorting_test - test/cpp/naming/address_sorting_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(address_sorting_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(address_sorting_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(address_sorting_test_unsecure - test/cpp/naming/address_sorting_test.cc - test/cpp/util/byte_buffer_proto_helper.cc - test/cpp/util/string_ref_helper.cc - test/cpp/util/subprocess.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(address_sorting_test_unsecure - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(address_sorting_test_unsecure - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_unsecure - grpc_test_util_unsecure - grpc++_test_config - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(admin_services_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.h - src/cpp/server/admin/admin_services.cc - src/cpp/server/csds/csds.cc - test/cpp/end2end/admin_services_end2end_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(admin_services_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(admin_services_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_reflection - grpcpp_channelz - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(alarm_test - test/cpp/common/alarm_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(alarm_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(alarm_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_unsecure - grpc_test_util_unsecure - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(alts_concurrent_connectivity_test - ${_gRPC_PROTO_GENS_DIR}/test/core/tsi/alts/fake_handshaker/handshaker.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/tsi/alts/fake_handshaker/handshaker.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/tsi/alts/fake_handshaker/handshaker.pb.h - ${_gRPC_PROTO_GENS_DIR}/test/core/tsi/alts/fake_handshaker/handshaker.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/test/core/tsi/alts/fake_handshaker/transport_security_common.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/tsi/alts/fake_handshaker/transport_security_common.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/test/core/tsi/alts/fake_handshaker/transport_security_common.pb.h - ${_gRPC_PROTO_GENS_DIR}/test/core/tsi/alts/fake_handshaker/transport_security_common.grpc.pb.h - test/core/end2end/cq_verifier.cc - test/core/tsi/alts/fake_handshaker/fake_handshaker_server.cc - test/core/tsi/alts/handshaker/alts_concurrent_connectivity_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(alts_concurrent_connectivity_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(alts_concurrent_connectivity_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_util_test - test/cpp/common/alts_util_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(alts_util_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(alts_util_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_alts - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(async_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/async_end2end_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(async_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(async_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(auth_property_iterator_test - test/cpp/common/auth_property_iterator_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(auth_property_iterator_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(auth_property_iterator_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(authorization_matchers_test - src/core/lib/security/authorization/evaluate_args.cc - src/core/lib/security/authorization/grpc_authorization_engine.cc - src/core/lib/security/authorization/matchers.cc - src/core/lib/security/authorization/rbac_policy.cc - test/core/security/authorization_matchers_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(authorization_matchers_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(authorization_matchers_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(aws_request_signer_test - test/core/security/aws_request_signer_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(aws_request_signer_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(aws_request_signer_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(backoff_test - test/core/backoff/backoff_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(backoff_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(backoff_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(bad_streaming_id_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/bad_streaming_id.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(bad_streaming_id_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(bad_streaming_id_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(badreq_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/badreq.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(badreq_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(badreq_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(bdp_estimator_test - test/core/transport/bdp_estimator_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bdp_estimator_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bdp_estimator_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_alarm - test/cpp/microbenchmarks/bm_alarm.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_alarm - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_alarm - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_arena - test/cpp/microbenchmarks/bm_arena.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_arena - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_arena - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_byte_buffer - test/cpp/microbenchmarks/bm_byte_buffer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_byte_buffer - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_byte_buffer - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_call_create - test/cpp/microbenchmarks/bm_call_create.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_call_create - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_call_create - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_callback_streaming_ping_pong - test/cpp/microbenchmarks/bm_callback_streaming_ping_pong.cc - test/cpp/microbenchmarks/callback_test_service.cc - test/cpp/util/byte_buffer_proto_helper.cc - test/cpp/util/string_ref_helper.cc - test/cpp/util/subprocess.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_callback_streaming_ping_pong - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_callback_streaming_ping_pong - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_callback_unary_ping_pong - test/cpp/microbenchmarks/bm_callback_unary_ping_pong.cc - test/cpp/microbenchmarks/callback_test_service.cc - test/cpp/util/byte_buffer_proto_helper.cc - test/cpp/util/string_ref_helper.cc - test/cpp/util/subprocess.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_callback_unary_ping_pong - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_callback_unary_ping_pong - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_channel - test/cpp/microbenchmarks/bm_channel.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_channel - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_channel - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_chttp2_hpack - test/cpp/microbenchmarks/bm_chttp2_hpack.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_chttp2_hpack - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_chttp2_hpack - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_chttp2_transport - test/cpp/microbenchmarks/bm_chttp2_transport.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_chttp2_transport - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_chttp2_transport - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_closure - test/cpp/microbenchmarks/bm_closure.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_closure - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_closure - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_cq - test/cpp/microbenchmarks/bm_cq.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_cq - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_cq - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_cq_multiple_threads - test/cpp/microbenchmarks/bm_cq_multiple_threads.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_cq_multiple_threads - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_cq_multiple_threads - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_error - test/cpp/microbenchmarks/bm_error.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_error - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_error - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_fullstack_streaming_ping_pong - test/cpp/microbenchmarks/bm_fullstack_streaming_ping_pong.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_fullstack_streaming_ping_pong - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_fullstack_streaming_ping_pong - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_fullstack_streaming_pump - test/cpp/microbenchmarks/bm_fullstack_streaming_pump.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_fullstack_streaming_pump - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_fullstack_streaming_pump - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_fullstack_trickle - test/cpp/microbenchmarks/bm_fullstack_trickle.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_fullstack_trickle - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_fullstack_trickle - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_fullstack_unary_ping_pong - test/cpp/microbenchmarks/bm_fullstack_unary_ping_pong.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_fullstack_unary_ping_pong - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_fullstack_unary_ping_pong - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_metadata - test/cpp/microbenchmarks/bm_metadata.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_metadata - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_metadata - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_pollset - test/cpp/microbenchmarks/bm_pollset.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_pollset - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_pollset - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_threadpool - test/cpp/microbenchmarks/bm_threadpool.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_threadpool - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_threadpool - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) - - add_executable(bm_timer - test/cpp/microbenchmarks/bm_timer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(bm_timer - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(bm_timer - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - benchmark_helpers - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(byte_buffer_test - test/cpp/util/byte_buffer_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(byte_buffer_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(byte_buffer_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(byte_stream_test - test/core/transport/byte_stream_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(byte_stream_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(byte_stream_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(cancel_ares_query_test - test/core/end2end/cq_verifier.cc - test/cpp/naming/cancel_ares_query_test.cc - test/cpp/naming/dns_test_util.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(cancel_ares_query_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(cancel_ares_query_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(cel_authorization_engine_test - src/core/lib/security/authorization/cel_authorization_engine.cc - src/core/lib/security/authorization/evaluate_args.cc - src/core/lib/security/authorization/grpc_authorization_engine.cc - src/core/lib/security/authorization/matchers.cc - src/core/lib/security/authorization/rbac_policy.cc - test/core/security/cel_authorization_engine_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(cel_authorization_engine_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(cel_authorization_engine_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flat_hash_set - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(certificate_provider_registry_test - test/core/client_channel/certificate_provider_registry_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(certificate_provider_registry_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(certificate_provider_registry_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(certificate_provider_store_test - test/core/xds/certificate_provider_store_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(certificate_provider_store_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(certificate_provider_store_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(cfstream_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/cfstream_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(cfstream_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(cfstream_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channel_arguments_test - test/cpp/common/channel_arguments_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(channel_arguments_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(channel_arguments_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channel_filter_test - test/cpp/common/channel_filter_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(channel_filter_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(channel_filter_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channel_trace_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h - test/core/channel/channel_trace_test.cc - test/cpp/util/channel_trace_proto_helper.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(channel_trace_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(channel_trace_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channelz_registry_test - test/core/channel/channelz_registry_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(channelz_registry_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(channelz_registry_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channelz_service_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/channelz_service_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(channelz_service_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(channelz_service_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpcpp_channelz - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(channelz_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/channelz/channelz.grpc.pb.h - test/core/channel/channelz_test.cc - test/cpp/util/channel_trace_proto_helper.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(channelz_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(channelz_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(cli_call_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/util/cli_call.cc - test/cpp/util/cli_call_test.cc - test/cpp/util/cli_credentials.cc - test/cpp/util/grpc_tool.cc - test/cpp/util/proto_file_parser.cc - test/cpp/util/proto_reflection_descriptor_database.cc - test/cpp/util/service_describer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(cli_call_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(cli_call_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(client_callback_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/client_callback_end2end_test.cc - test/cpp/end2end/interceptors_util.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(client_callback_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(client_callback_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(client_channel_stress_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/client/client_channel_stress_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(client_channel_stress_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(client_channel_stress_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(client_interceptors_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/client_interceptors_end2end_test.cc - test/cpp/end2end/interceptors_util.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(client_interceptors_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(client_interceptors_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(client_lb_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/orca_load_report_for_test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/orca_load_report_for_test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/orca_load_report_for_test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/orca_load_report_for_test.grpc.pb.h - test/core/util/test_lb_policies.cc - test/cpp/end2end/client_lb_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(client_lb_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(client_lb_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(codegen_test_full - test/cpp/codegen/codegen_test_full.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(codegen_test_full - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(codegen_test_full - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(codegen_test_minimal - test/cpp/codegen/codegen_test_minimal.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(codegen_test_minimal - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(codegen_test_minimal - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(connection_prefix_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/connection_prefix.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(connection_prefix_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(connection_prefix_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(connectivity_state_test - test/core/transport/connectivity_state_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(connectivity_state_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(connectivity_state_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(context_allocator_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/context_allocator_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(context_allocator_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(context_allocator_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(context_list_test - test/core/transport/chttp2/context_list_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(context_list_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(context_list_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(delegating_channel_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/delegating_channel_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(delegating_channel_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(delegating_channel_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(destroy_grpclb_channel_with_active_connect_stress_test - test/cpp/client/destroy_grpclb_channel_with_active_connect_stress_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(destroy_grpclb_channel_with_active_connect_stress_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(destroy_grpclb_channel_with_active_connect_stress_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(dual_ref_counted_test - test/core/gprpp/dual_ref_counted_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(dual_ref_counted_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(dual_ref_counted_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(duplicate_header_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/duplicate_header.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(duplicate_header_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(duplicate_header_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/end2end_test.cc - test/cpp/end2end/interceptors_util.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(error_details_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - test/cpp/util/error_details_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(error_details_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(error_details_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_error_details - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(error_utils_test - test/core/transport/error_utils_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(error_utils_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(error_utils_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(evaluate_args_test - src/core/lib/security/authorization/evaluate_args.cc - src/core/lib/security/authorization/grpc_authorization_engine.cc - src/core/lib/security/authorization/matchers.cc - src/core/lib/security/authorization/rbac_policy.cc - test/core/security/evaluate_args_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(evaluate_args_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(evaluate_args_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(examine_stack_test - test/core/gprpp/examine_stack_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(examine_stack_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(examine_stack_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(exception_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/exception_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(exception_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(exception_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(file_watcher_certificate_provider_factory_test - test/core/xds/file_watcher_certificate_provider_factory_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(file_watcher_certificate_provider_factory_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(file_watcher_certificate_provider_factory_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(filter_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/filter_end2end_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(filter_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(filter_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(flaky_network_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/flaky_network_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(flaky_network_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(flaky_network_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(generic_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/generic_end2end_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(generic_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(generic_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(global_config_env_test - test/core/gprpp/global_config_env_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(global_config_env_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(global_config_env_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(global_config_test - test/core/gprpp/global_config_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(global_config_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(global_config_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(google_mesh_ca_certificate_provider_factory_test - src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc - test/core/xds/google_mesh_ca_certificate_provider_factory_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(google_mesh_ca_certificate_provider_factory_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(google_mesh_ca_certificate_provider_factory_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_authorization_engine_test - src/core/lib/security/authorization/evaluate_args.cc - src/core/lib/security/authorization/grpc_authorization_engine.cc - src/core/lib/security/authorization/matchers.cc - src/core/lib/security/authorization/rbac_policy.cc - test/core/security/grpc_authorization_engine_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(grpc_authorization_engine_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_authorization_engine_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_cli - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h - test/cpp/util/cli_call.cc - test/cpp/util/cli_credentials.cc - test/cpp/util/grpc_cli.cc - test/cpp/util/grpc_tool.cc - test/cpp/util/proto_file_parser.cc - test/cpp/util/proto_reflection_descriptor_database.cc - test/cpp/util/service_describer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(grpc_cli - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_cli - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc++ - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN) - -add_executable(grpc_cpp_plugin - src/compiler/cpp_plugin.cc -) - -target_include_directories(grpc_cpp_plugin - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_cpp_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_plugin_support -) - - - -if(gRPC_INSTALL) - install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CSHARP_PLUGIN) - -add_executable(grpc_csharp_plugin - src/compiler/csharp_plugin.cc -) - -target_include_directories(grpc_csharp_plugin - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_csharp_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_plugin_support -) - - - -if(gRPC_INSTALL) - install(TARGETS grpc_csharp_plugin EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_NODE_PLUGIN) - -add_executable(grpc_node_plugin - src/compiler/node_plugin.cc -) - -target_include_directories(grpc_node_plugin - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_node_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_plugin_support -) - - - -if(gRPC_INSTALL) - install(TARGETS grpc_node_plugin EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN) - -add_executable(grpc_objective_c_plugin - src/compiler/objective_c_plugin.cc -) - -target_include_directories(grpc_objective_c_plugin - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_objective_c_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_plugin_support -) - - - -if(gRPC_INSTALL) - install(TARGETS grpc_objective_c_plugin EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_PHP_PLUGIN) - -add_executable(grpc_php_plugin - src/compiler/php_plugin.cc -) - -target_include_directories(grpc_php_plugin - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_php_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_plugin_support -) - - - -if(gRPC_INSTALL) - install(TARGETS grpc_php_plugin EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_PYTHON_PLUGIN) - -add_executable(grpc_python_plugin - src/compiler/python_plugin.cc -) - -target_include_directories(grpc_python_plugin - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_python_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_plugin_support -) - - - -if(gRPC_INSTALL) - install(TARGETS grpc_python_plugin EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_RUBY_PLUGIN) - -add_executable(grpc_ruby_plugin - src/compiler/ruby_plugin.cc -) - -target_include_directories(grpc_ruby_plugin - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_ruby_plugin - ${_gRPC_PROTOBUF_PROTOC_LIBRARIES} - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_plugin_support -) - - - -if(gRPC_INSTALL) - install(TARGETS grpc_ruby_plugin EXPORT gRPCTargets - RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} - LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) -endif() - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_tls_certificate_distributor_test - test/core/security/grpc_tls_certificate_distributor_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(grpc_tls_certificate_distributor_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_tls_certificate_distributor_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_tls_certificate_provider_test - test/core/security/grpc_tls_certificate_provider_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(grpc_tls_certificate_provider_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_tls_certificate_provider_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_tls_credentials_options_test - test/core/security/grpc_tls_credentials_options_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(grpc_tls_credentials_options_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_tls_credentials_options_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(grpc_tool_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/util/cli_call.cc - test/cpp/util/cli_credentials.cc - test/cpp/util/grpc_tool.cc - test/cpp/util/grpc_tool_test.cc - test/cpp/util/proto_file_parser.cc - test/cpp/util/proto_reflection_descriptor_database.cc - test/cpp/util/service_describer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(grpc_tool_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(grpc_tool_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_reflection - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpclb_api_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h - test/cpp/grpclb/grpclb_api_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(grpclb_api_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpclb_api_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(grpclb_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/lb/v1/load_balancer.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/grpclb_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(grpclb_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(grpclb_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(h2_ssl_session_reuse_test - test/core/end2end/h2_ssl_session_reuse_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(h2_ssl_session_reuse_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(h2_ssl_session_reuse_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - end2end_tests -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(head_of_line_blocking_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/head_of_line_blocking.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(head_of_line_blocking_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(head_of_line_blocking_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(headers_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/headers.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(headers_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(headers_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(health_service_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/health_service_end2end_test.cc - test/cpp/end2end/test_health_check_service_impl.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(health_service_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(health_service_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(http2_client - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h - test/cpp/interop/http2_client.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(http2_client - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(http2_client - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(hybrid_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/hybrid_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(hybrid_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(hybrid_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(init_test - test/core/surface/init_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(init_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(init_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(initial_settings_frame_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/initial_settings_frame.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(initial_settings_frame_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(initial_settings_frame_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(insecure_security_connector_test - test/core/security/insecure_security_connector_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(insecure_security_connector_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(insecure_security_connector_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(interop_client - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h - test/core/security/oauth2_utils.cc - test/cpp/interop/client.cc - test/cpp/interop/client_helper.cc - test/cpp/interop/interop_client.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(interop_client - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(interop_client - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(interop_server - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h - test/cpp/interop/interop_server.cc - test/cpp/interop/interop_server_bootstrap.cc - test/cpp/interop/server_helper.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(interop_server - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(interop_server - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(interop_test - test/cpp/interop/interop_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(interop_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(interop_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(json_test - test/core/json/json_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(json_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(json_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(large_metadata_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/large_metadata.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(large_metadata_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(large_metadata_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(lb_get_cpu_stats_test - src/cpp/server/load_reporter/get_cpu_stats_linux.cc - src/cpp/server/load_reporter/get_cpu_stats_macos.cc - src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc - src/cpp/server/load_reporter/get_cpu_stats_windows.cc - test/cpp/server/load_reporter/get_cpu_stats_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(lb_get_cpu_stats_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(lb_get_cpu_stats_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(lb_load_data_store_test - src/cpp/server/load_reporter/load_data_store.cc - test/cpp/server/load_reporter/load_data_store_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(lb_load_data_store_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(lb_load_data_store_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(linux_system_roots_test - test/core/security/linux_system_roots_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(linux_system_roots_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(linux_system_roots_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(log_test - test/core/gpr/log_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(log_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(log_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(matchers_test - test/core/security/matchers_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(matchers_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(matchers_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(message_allocator_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/message_allocator_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(message_allocator_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(message_allocator_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(mock_stream_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/test/mock_stream_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(mock_stream_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(mock_stream_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(mock_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/mock_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(mock_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(mock_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(nonblocking_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/nonblocking_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(nonblocking_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(nonblocking_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(noop-benchmark - test/cpp/microbenchmarks/noop-benchmark.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(noop-benchmark - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(noop-benchmark - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - ${_gRPC_BENCHMARK_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(orphanable_test - test/core/gprpp/orphanable_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(orphanable_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(orphanable_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(out_of_bounds_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/out_of_bounds.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(out_of_bounds_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(out_of_bounds_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(pid_controller_test - test/core/transport/pid_controller_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(pid_controller_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(pid_controller_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(port_sharing_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/port_sharing_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(port_sharing_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(port_sharing_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(proto_server_reflection_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/proto_server_reflection_test.cc - test/cpp/end2end/test_service_impl.cc - test/cpp/util/proto_reflection_descriptor_database.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(proto_server_reflection_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(proto_server_reflection_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_reflection - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(proto_utils_test - test/cpp/codegen/proto_utils_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(proto_utils_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(proto_utils_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(qps_json_driver - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.h - src/cpp/util/core_stats.cc - test/cpp/qps/benchmark_config.cc - test/cpp/qps/client_async.cc - test/cpp/qps/client_callback.cc - test/cpp/qps/client_sync.cc - test/cpp/qps/driver.cc - test/cpp/qps/parse_json.cc - test/cpp/qps/qps_json_driver.cc - test/cpp/qps/qps_server_builder.cc - test/cpp/qps/qps_worker.cc - test/cpp/qps/report.cc - test/cpp/qps/server_async.cc - test/cpp/qps/server_callback.cc - test/cpp/qps/server_sync.cc - test/cpp/qps/usage_timer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(qps_json_driver - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(qps_json_driver - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(qps_worker - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/core/stats.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/benchmark_service.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/control.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/payloads.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/stats.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/worker_service.grpc.pb.h - src/cpp/util/core_stats.cc - test/cpp/qps/client_async.cc - test/cpp/qps/client_callback.cc - test/cpp/qps/client_sync.cc - test/cpp/qps/qps_server_builder.cc - test/cpp/qps/qps_worker.cc - test/cpp/qps/server_async.cc - test/cpp/qps/server_callback.cc - test/cpp/qps/server_sync.cc - test/cpp/qps/usage_timer.cc - test/cpp/qps/worker.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(qps_worker - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(qps_worker - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(raw_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/raw_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(raw_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(raw_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(rbac_translator_test - src/core/lib/security/authorization/evaluate_args.cc - src/core/lib/security/authorization/grpc_authorization_engine.cc - src/core/lib/security/authorization/matchers.cc - src/core/lib/security/authorization/rbac_policy.cc - src/core/lib/security/authorization/rbac_translator.cc - test/core/security/rbac_translator_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(rbac_translator_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(rbac_translator_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(ref_counted_ptr_test - test/core/gprpp/ref_counted_ptr_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(ref_counted_ptr_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(ref_counted_ptr_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(ref_counted_test - test/core/gprpp/ref_counted_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(ref_counted_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(ref_counted_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(remove_stream_from_stalled_lists_test - test/core/transport/chttp2/remove_stream_from_stalled_lists_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(remove_stream_from_stalled_lists_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(remove_stream_from_stalled_lists_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(retry_throttle_test - test/core/client_channel/retry_throttle_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(retry_throttle_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(retry_throttle_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(secure_auth_context_test - test/cpp/common/secure_auth_context_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(secure_auth_context_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(secure_auth_context_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_builder_plugin_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/server_builder_plugin_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(server_builder_plugin_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(server_builder_plugin_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(server_builder_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/server/server_builder_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(server_builder_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(server_builder_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_unsecure - grpc_test_util_unsecure - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(server_builder_with_socket_mutator_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/server/server_builder_with_socket_mutator_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(server_builder_with_socket_mutator_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(server_builder_with_socket_mutator_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_unsecure - grpc_test_util_unsecure - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_chttp2_test - test/core/surface/server_chttp2_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(server_chttp2_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(server_chttp2_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_context_test_spouse_test - test/cpp/test/server_context_test_spouse_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(server_context_test_spouse_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(server_context_test_spouse_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_early_return_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/server_early_return_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(server_early_return_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(server_early_return_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_interceptors_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/interceptors_util.cc - test/cpp/end2end/server_interceptors_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(server_interceptors_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(server_interceptors_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_registered_method_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/server_registered_method.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(server_registered_method_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(server_registered_method_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(server_request_call_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/server/server_request_call_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(server_request_call_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(server_request_call_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_unsecure - grpc_test_util_unsecure - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(service_config_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/service_config_end2end_test.cc - test/cpp/end2end/test_service_impl.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(service_config_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(service_config_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(service_config_test - test/core/client_channel/service_config_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(service_config_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(service_config_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(settings_timeout_test - test/core/transport/chttp2/settings_timeout_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(settings_timeout_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(settings_timeout_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(shutdown_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/shutdown_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(shutdown_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(shutdown_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(simple_request_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/simple_request.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(simple_request_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(simple_request_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(sockaddr_utils_test - test/core/address_utils/sockaddr_utils_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(sockaddr_utils_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(sockaddr_utils_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(stack_tracer_test - test/core/util/stack_tracer_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(stack_tracer_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(stack_tracer_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(stat_test - test/core/gprpp/stat_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(stat_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(stat_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(static_metadata_test - test/core/transport/static_metadata_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(static_metadata_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(static_metadata_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(stats_test - test/core/debug/stats_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(stats_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(stats_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(status_helper_test - test/core/gprpp/status_helper_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(status_helper_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(status_helper_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(status_metadata_test - test/core/transport/status_metadata_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(status_metadata_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(status_metadata_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(status_util_test - test/core/channel/status_util_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(status_util_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(status_util_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(stranded_event_test - test/core/end2end/cq_verifier.cc - test/core/iomgr/stranded_event_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(stranded_event_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(stranded_event_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(streaming_throughput_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/streaming_throughput_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(streaming_throughput_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(streaming_throughput_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(string_ref_test - test/cpp/util/string_ref_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(string_ref_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(string_ref_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_cpp_client_credentials_test - test/cpp/client/credentials_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(test_cpp_client_credentials_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(test_cpp_client_credentials_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_cpp_server_credentials_test - test/cpp/server/credentials_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(test_cpp_server_credentials_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(test_cpp_server_credentials_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_cpp_util_slice_test - test/cpp/util/slice_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(test_cpp_util_slice_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(test_cpp_util_slice_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(test_cpp_util_time_test - test/cpp/util/time_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(test_cpp_util_time_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(test_cpp_util_time_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(thread_manager_test - test/cpp/thread_manager/thread_manager_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(thread_manager_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(thread_manager_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(thread_stress_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/thread_stress_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(thread_stress_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(thread_stress_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(time_jump_test - test/cpp/common/time_jump_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(time_jump_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(time_jump_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(time_util_test - test/core/gprpp/time_util_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(time_util_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(time_util_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(timer_test - test/cpp/common/timer_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(timer_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(timer_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++ - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(tls_security_connector_test - test/core/security/tls_security_connector_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(tls_security_connector_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(tls_security_connector_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(too_many_pings_test - test/core/end2end/cq_verifier.cc - test/core/transport/chttp2/too_many_pings_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(too_many_pings_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(too_many_pings_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_config - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(unknown_frame_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/unknown_frame.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(unknown_frame_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(unknown_frame_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(uri_parser_test - test/core/uri/uri_parser_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(uri_parser_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(uri_parser_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(window_overflow_bad_client_test - test/core/bad_client/bad_client.cc - test/core/bad_client/tests/window_overflow.cc - test/core/end2end/cq_verifier.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(window_overflow_bad_client_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(window_overflow_bad_client_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(work_serializer_test - test/core/iomgr/work_serializer_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(work_serializer_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(work_serializer_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(writes_per_rpc_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/core/util/cmdline.cc - test/core/util/fuzzer_util.cc - test/core/util/grpc_profiler.cc - test/core/util/histogram.cc - test/core/util/memory_counters.cc - test/core/util/mock_endpoint.cc - test/core/util/parse_hexstring.cc - test/core/util/passthru_endpoint.cc - test/core/util/port.cc - test/core/util/port_isolated_runtime_environment.cc - test/core/util/port_server_client.cc - test/core/util/reconnect_server.cc - test/core/util/resolve_localhost_ip46.cc - test/core/util/slice_splitter.cc - test/core/util/stack_tracer.cc - test/core/util/subprocess_posix.cc - test/core/util/subprocess_windows.cc - test/core/util/test_config.cc - test/core/util/test_tcp_server.cc - test/core/util/tracer_util.cc - test/core/util/trickle_endpoint.cc - test/cpp/performance/writes_per_rpc_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(writes_per_rpc_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(writes_per_rpc_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::failure_signal_handler - absl::stacktrace - absl::symbolize - grpc++ - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(xds_bootstrap_test - test/core/xds/xds_bootstrap_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(xds_bootstrap_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(xds_bootstrap_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(xds_certificate_provider_test - test/core/xds/xds_certificate_provider_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(xds_certificate_provider_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(xds_certificate_provider_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(xds_credentials_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - test/cpp/end2end/test_service_impl.cc - test/cpp/end2end/xds_credentials_end2end_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(xds_credentials_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(xds_credentials_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(xds_credentials_test - test/core/security/xds_credentials_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(xds_credentials_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(xds_credentials_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc_test_util -) - - -endif() -if(gRPC_BUILD_TESTS) -if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX) - - add_executable(xds_end2end_test - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/ads_for_test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/ads_for_test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/cds_for_test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/cds_for_test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/cds_for_test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/cds_for_test.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/eds_for_test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/eds_for_test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lds_rds_for_test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lds_rds_for_test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lds_rds_for_test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lds_rds_for_test.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lrs_for_test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lrs_for_test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/address.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/address.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/address.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/ads.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/ads.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/ads.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/ads.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/aggregate_cluster.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/aggregate_cluster.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/aggregate_cluster.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/aggregate_cluster.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/endpoint.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/endpoint.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/fault.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/fault.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/fault.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/fault.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/fault_common.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/fault_common.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/fault_common.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/fault_common.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/listener.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/listener.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/listener.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/listener.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/load_report.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/load_report.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/lrs.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/lrs.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/protocol.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/protocol.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/protocol.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/protocol.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/range.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/range.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/range.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/range.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/regex.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/regex.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/regex.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/regex.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/route.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/route.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/route.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/route.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/router.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/router.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/router.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/router.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/string.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/string.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/string.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/string.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/tls.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/tls.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/tls.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/tls.grpc.pb.h - src/cpp/server/csds/csds.cc - test/cpp/end2end/test_service_impl.cc - test/cpp/end2end/xds_end2end_test.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc - ) - - target_include_directories(xds_end2end_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} - ) - - target_link_libraries(xds_end2end_test - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - grpc++_test_util - ) - - -endif() -endif() -if(gRPC_BUILD_TESTS) - -add_executable(xds_interop_client - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.h - src/cpp/server/admin/admin_services.cc - src/cpp/server/csds/csds.cc - test/cpp/interop/xds_interop_client.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(xds_interop_client - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(xds_interop_client - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc++_reflection - grpcpp_channelz - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(xds_interop_server - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/health/v1/health.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/empty.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/messages.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/test.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_dump.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/csds.grpc.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.h - src/cpp/server/admin/admin_services.cc - src/cpp/server/csds/csds.cc - test/cpp/end2end/test_health_check_service_impl.cc - test/cpp/interop/xds_interop_server.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(xds_interop_server - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(xds_interop_server - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc++_reflection - grpcpp_channelz - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(alts_credentials_fuzzer_one_entry - test/core/security/alts_credentials_fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(alts_credentials_fuzzer_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(alts_credentials_fuzzer_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(client_fuzzer_one_entry - test/core/end2end/fuzzers/client_fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(client_fuzzer_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(client_fuzzer_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(hpack_parser_fuzzer_test_one_entry - test/core/transport/chttp2/hpack_parser_fuzzer_test.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(hpack_parser_fuzzer_test_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(hpack_parser_fuzzer_test_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(http_request_fuzzer_test_one_entry - test/core/http/request_fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(http_request_fuzzer_test_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(http_request_fuzzer_test_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(http_response_fuzzer_test_one_entry - test/core/http/response_fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(http_response_fuzzer_test_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(http_response_fuzzer_test_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(json_fuzzer_test_one_entry - test/core/json/fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(json_fuzzer_test_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(json_fuzzer_test_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(nanopb_fuzzer_response_test_one_entry - test/core/nanopb/fuzzer_response.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(nanopb_fuzzer_response_test_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(nanopb_fuzzer_response_test_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(nanopb_fuzzer_serverlist_test_one_entry - test/core/nanopb/fuzzer_serverlist.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(nanopb_fuzzer_serverlist_test_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(nanopb_fuzzer_serverlist_test_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(percent_decode_fuzzer_one_entry - test/core/slice/percent_decode_fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(percent_decode_fuzzer_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(percent_decode_fuzzer_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(percent_encode_fuzzer_one_entry - test/core/slice/percent_encode_fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(percent_encode_fuzzer_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(percent_encode_fuzzer_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(server_fuzzer_one_entry - test/core/end2end/fuzzers/server_fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(server_fuzzer_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(server_fuzzer_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(ssl_server_fuzzer_one_entry - test/core/security/ssl_server_fuzzer.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(ssl_server_fuzzer_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(ssl_server_fuzzer_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() -if(gRPC_BUILD_TESTS) - -add_executable(uri_fuzzer_test_one_entry - test/core/uri/uri_fuzzer_test.cc - test/core/util/one_corpus_entry_fuzzer.cc - third_party/googletest/googletest/src/gtest-all.cc - third_party/googletest/googlemock/src/gmock-all.cc -) - -target_include_directories(uri_fuzzer_test_one_entry - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(uri_fuzzer_test_one_entry - ${_gRPC_PROTOBUF_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flags - grpc_test_util - grpc++_test_config -) - - -endif() - - - - - - - -if(gRPC_INSTALL) - install(EXPORT gRPCTargets - DESTINATION ${gRPC_INSTALL_CMAKEDIR} - NAMESPACE gRPC:: - ) -endif() - -include(CMakePackageConfigHelpers) - -configure_file(cmake/gRPCConfig.cmake.in - gRPCConfig.cmake @ONLY) -write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/gRPCConfigVersion.cmake - VERSION ${gRPC_CPP_VERSION} - COMPATIBILITY AnyNewerVersion) -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/gRPCConfig.cmake - ${CMAKE_CURRENT_BINARY_DIR}/gRPCConfigVersion.cmake - DESTINATION ${gRPC_INSTALL_CMAKEDIR} -) -install(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/Findc-ares.cmake - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/Findre2.cmake - DESTINATION ${gRPC_INSTALL_CMAKEDIR}/modules -) - -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/etc/roots.pem - DESTINATION ${gRPC_INSTALL_SHAREDIR}) - -# Function to generate pkg-config files. -function(generate_pkgconfig name description version requires - libs libs_private output_filename) - set(PC_NAME "${name}") - set(PC_DESCRIPTION "${description}") - set(PC_VERSION "${version}") - set(PC_REQUIRES "${requires}") - set(PC_LIB "${libs}") - set(PC_LIBS_PRIVATE "${libs_private}") - set(output_filepath "${grpc_BINARY_DIR}/libs/opt/pkgconfig/${output_filename}") - configure_file( - "${grpc_SOURCE_DIR}/cmake/pkg-config-template.pc.in" - "${output_filepath}" - @ONLY) - install(FILES "${output_filepath}" - DESTINATION "lib/pkgconfig/") -endfunction() - -# gpr .pc file -generate_pkgconfig( - "gpr" - "gRPC platform support library" - "${gRPC_CORE_VERSION}" - "absl_base absl_memory absl_optional absl_status absl_str_format absl_strings absl_synchronization absl_time" - "-lgpr" - "" - "gpr.pc") - -# grpc .pc file -generate_pkgconfig( - "gRPC" - "high performance general RPC framework" - "${gRPC_CORE_VERSION}" - "gpr openssl absl_base absl_bind_front absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time" - "-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz" - "" - "grpc.pc") - -# grpc_unsecure .pc file -generate_pkgconfig( - "gRPC unsecure" - "high performance general RPC framework without SSL" - "${gRPC_CORE_VERSION}" - "gpr absl_base absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time" - "-lgrpc_unsecure" - "" - "grpc_unsecure.pc") - -# grpc++ .pc file -generate_pkgconfig( - "gRPC++" - "C++ wrapper for gRPC" - "${gRPC_CPP_VERSION}" - "grpc absl_base absl_bind_front absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time" - "-lgrpc++" - "" - "grpc++.pc") - -# grpc++_unsecure .pc file -generate_pkgconfig( - "gRPC++ unsecure" - "C++ wrapper for gRPC without SSL" - "${gRPC_CPP_VERSION}" - "grpc_unsecure absl_base absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time" - "-lgrpc++_unsecure" - "" - "grpc++_unsecure.pc") diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/CMakeLists.txt b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/CMakeLists.txt deleted file mode 100644 index 200583db..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/CMakeLists.txt +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (c) 2022 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -cmake_minimum_required(VERSION 3.5.1) - -project(RA-TLS C CXX) - -include(../cmake/common.cmake) - -# Proto file -get_filename_component(hw_proto "../../protos/ratls.proto" ABSOLUTE) -get_filename_component(hw_proto_path "${hw_proto}" PATH) - -# Generated sources -set(hw_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/ratls.pb.cc") -set(hw_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/ratls.pb.h") -set(hw_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/ratls.grpc.pb.cc") -set(hw_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/ratls.grpc.pb.h") -add_custom_command( - OUTPUT "${hw_proto_srcs}" "${hw_proto_hdrs}" "${hw_grpc_srcs}" "${hw_grpc_hdrs}" - COMMAND ${_PROTOBUF_PROTOC} - ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}" - --cpp_out "${CMAKE_CURRENT_BINARY_DIR}" - -I "${hw_proto_path}" - --plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}" - "${hw_proto}" - DEPENDS "${hw_proto}") - -# Include generated *.pb.h files -include_directories("${CMAKE_CURRENT_BINARY_DIR}") - -# hw_grpc_proto -add_library(hw_grpc_proto SHARED - ${hw_grpc_srcs} - ${hw_grpc_hdrs} - ${hw_proto_srcs} - ${hw_proto_hdrs}) -target_link_libraries(hw_grpc_proto - ${_REFLECTION} - ${_GRPC_GRPCPP} - ${_PROTOBUF_LIBPROTOBUF}) - -foreach(_target grpc_ratls_client grpc_ratls_server) - add_library(${_target} SHARED "${_target}.cc") - target_link_libraries(${_target} - hw_grpc_proto) -endforeach() - -foreach(_target client server) - add_executable(${_target} "${_target}.cc") - target_link_libraries(${_target} - grpc_ratls_${_target}) -endforeach() diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/README.md b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/README.md deleted file mode 100644 index 4b3d8307..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# gRPC - -This directory contains the Makefile and the template manifest for the most -recent version of gRPC (as of this writing, version 3.18.0). This was tested -on a machine with SGX v1 and Ubuntu 18.04. - -The Makefile and the template manifest contain extensive comments and are made -self-explanatory. Please review them to gain understanding of Gramine-SGX -and requirements for applications running under Gramine-SGX. - -# Quick Start - -``` -./build.sh -``` diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/build.sh b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/build.sh deleted file mode 100644 index b6ed9c8a..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/build.sh +++ /dev/null @@ -1,27 +0,0 @@ -# -# Copyright (c) 2022 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -ex - -export BUILD_TYPE=Release -export EXP_PATH=`dirname $0` - -# build c++ example -cd ${EXP_PATH} -mkdir -p build -cd build -cmake -D CMAKE_PREFIX_PATH=${INSTALL_PREFIX} -D CMAKE_BUILD_TYPE=${BUILD_TYPE} .. -make -j `nproc` -cd - diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/client.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/client.cc deleted file mode 100644 index db13031d..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/client.cc +++ /dev/null @@ -1,41 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -#include -#include -#include - -#include "../grpc_ratls_client.h" - - -int main(int argc, char** argv) { - // Parse arguments - if (argc < 4) { - printf("[ERROR] Three arguments must be provided\n\n"); - printf("Usage: client \n"); - return -1; - } - - grpc_ratls_get_secret( - argv[1], - "dynamic_config.json", - argv[2], - argv[3] - ); - - return 0; -} diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_client.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_client.cc deleted file mode 100644 index 1c2fd75a..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_client.cc +++ /dev/null @@ -1,212 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -#include -#include -#include -#include - -#include -#include - -#ifdef BAZEL_BUILD -#include "examples/protos/ratls.grpc.pb.h" -#else -#include "ratls.grpc.pb.h" -#endif - -#include "../grpc_ratls_client.h" - -using ratls::GrSecret; -using ratls::SecretRequest; -using ratls::SecretReply; - -typedef enum { - GRPC_RATLS_SUCCESS = 0, /// Success - GRPC_RATLS_ERR = -1, /// General error - GRPC_RATLS_INVALID_PARAM = -2, /// Invalid parameter - GRPC_RATLS_BUF_ERR = -3, /// Invalid buffer or buffer allocation failure - GRPC_RATLS_NO_SECRET = -4, /// No valid secret - GRPC_RATLS_BUF_TOO_SMALL = -5 /// Buffer is too small -} grpc_ratls_result_t; - -// Client -class GrSecretClient { - public: - GrSecretClient(std::shared_ptr channel) : stub_(GrSecret::NewStub(channel)) {} - - std::string GetSecret(const std::string& name) { - SecretRequest request; - request.set_name(name); - - SecretReply reply; - - grpc::ClientContext context; - - grpc::Status status = stub_->GetSecret(&context, request, &reply); - - if (status.ok()) { - return reply.secret(); - } else { - std::cout << status.error_code() << ": " << status.error_message() << std::endl; - return ""; - } - } - - private: - std::unique_ptr stub_; -}; - -static const unsigned char base64_table[65] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - -static size_t base64_decode_len(const char *b64input) { - size_t len = strlen(b64input), padding = 0; - - if (b64input[len - 1] == '=' && b64input[len - 2] == '=') { //last two chars are = - padding = 2; - } else if (b64input[len - 1] == '=') { //last char is = - padding = 1; - } - - return (len * 3) / 4 - padding; -} - -/** - * base64_decode - Base64 decode - */ -void base64_decode(const char *b64input, unsigned char *dest, size_t dest_len) { - unsigned char dtable[256], *pos, block[4], tmp; - size_t i, count, olen; - size_t len = strlen(b64input); - - memset(dtable, 0x80, 256); - for (i = 0; i < sizeof(base64_table) - 1; i++) { - dtable[base64_table[i]] = (unsigned char) i; - } - dtable['='] = 0; - - olen = base64_decode_len(b64input); - if (olen > dest_len) { - printf("Base64 encoded length %ld is biggeer than %ld\n", olen, dest_len); - return; - } - - pos = dest; - count = 0; - for (i = 0; i < len; i++) { - tmp = dtable[(unsigned char)b64input[i]]; - if (tmp == 0x80) { - continue; - } - block[count] = tmp; - count++; - if (count == 4) { - *pos++ = (block[0] << 2) | (block[1] >> 4); - *pos++ = (block[1] << 4) | (block[2] >> 2); - *pos++ = (block[2] << 6) | block[3]; - count = 0; - } - } -} - -static grpc_ratls_result_t grpc_ratls_get_secret_string( - const char *server_addr, - const char *config_json, - const char *name, - std::string* secret_string -) -{ - auto cred = grpc::sgx::TlsCredentials(config_json); - auto channel = grpc::CreateChannel(server_addr, cred); - - GrSecretClient gr_secret(channel); - - std::string secret = gr_secret.GetSecret(name); - // std::cout << "secret received: " << secret << "len: " << secret.length() << std::endl; - - if (secret.empty()) { - return GRPC_RATLS_NO_SECRET; - } else { - //Decode From Base64 - size_t len = base64_decode_len(secret.c_str()); - if (len) { - char *secret_orig = (char *)malloc(len); - if (!secret_orig) { - return GRPC_RATLS_BUF_ERR; - } - base64_decode(secret.c_str(), (unsigned char *)secret_orig, len); - secret_string->assign(secret_orig, secret_orig + len - 1); - free(secret_orig); - - return GRPC_RATLS_SUCCESS; - } - - return GRPC_RATLS_ERR; - } -} - -// Get secret to file -int grpc_ratls_get_secret( - const char *server_addr, - const char *config_json, - const char *name, - const char *secret_file -) -{ - std::string secret_string; - grpc_ratls_result_t ret = grpc_ratls_get_secret_string( - server_addr, config_json, name, &secret_string - ); - - if (ret == GRPC_RATLS_SUCCESS) { - //write to file - std::ofstream myfile; - myfile.open(secret_file); - myfile << secret_string; - myfile.close(); - } - - return ret; -} - -// Get secret to buffer -int grpc_ratls_get_secret_to_buf( - const char *server_addr, - const char *config_json, - const char *name, - char *secret_buf, - unsigned int *buf_len -) -{ - std::string secret_string; - grpc_ratls_result_t ret = grpc_ratls_get_secret_string( - server_addr, config_json, name, &secret_string - ); - - if (ret == GRPC_RATLS_SUCCESS) { - if (*buf_len < secret_string.size()) { - std::cout << "buffer size is smaller than the secret string length " << secret_string.size() << std::endl;; - return GRPC_RATLS_BUF_TOO_SMALL; - } - //write to buffer - memcpy(secret_buf, secret_string.data(), secret_string.size()); - *buf_len = secret_string.size(); - } - - return ret; -} diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_client.h b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_client.h deleted file mode 100644 index 10b39c74..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_client.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _GRPC_RATLS_CLIENT_H_ -#define _GRPC_RATLS_CLIENT_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -// client get secret -extern int grpc_ratls_get_secret( - const char *server_addr, // grpc server address+port, such as "localhost:50051" - const char *config_json, // ratls handshake config json file - const char *name, // secret name to be requested - const char *secret_file // secret file to be saved -); - -extern int grpc_ratls_get_secret_to_buf( - const char *server_addr, // grpc server address+port, such as "localhost:50051" - const char *config_json, // ratls handshake config json file - const char *name, // secret name to be requested - char *secret_buf, // buffer to save secret - unsigned int *buf_len // buffer size -); - -#ifdef __cplusplus -} -#endif - -#endif // _GRPC_RATLS_CLIENT_H_ \ No newline at end of file diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_server.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_server.cc deleted file mode 100644 index 0a88c301..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_server.cc +++ /dev/null @@ -1,96 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include -#include -#include - -#ifdef BAZEL_BUILD -#include "examples/protos/ratls.grpc.pb.h" -#else -#include "ratls.grpc.pb.h" -#endif - -#include "../grpc_ratls_server.h" - -using ratls::GrSecret; -using ratls::SecretRequest; -using ratls::SecretReply; - - -// Logic and data behind the server's behavior. -class GrSecretServiceImpl final: public GrSecret::Service { - public: - grpc::Status GetSecret( - grpc::ServerContext* context, const SecretRequest* request, SecretReply* reply) override { - //std::cout << "Request: " << request->name() << std::endl; - auto secret = this->get_secret_string(request->name().c_str()); - if (!secret.empty()) { - reply->set_secret(secret); - return grpc::Status::OK; - } else { - return grpc::Status::CANCELLED; - } - } - - GrSecretServiceImpl(const char* file) : secret_file(nullptr) { - this->secret_file = file; - } - - private: - std::string get_secret_string(const char *name) { - std::string secret = ""; - class grpc::sgx::json_engine secret_config(this->secret_file); - auto item = secret_config.get_item(secret_config.get_handle(), name); - if (item) { - secret = secret_config.print_item(item); - } - - return secret; - } - - const char *secret_file; -}; - - -int grpc_ratls_start_server( - const char *server_addr, - const char *config_json, - const char *secret_json -) -{ - GrSecretServiceImpl service(secret_json); - - grpc::EnableDefaultHealthCheckService(true); - grpc::reflection::InitProtoReflectionServerBuilderPlugin(); - grpc::ServerBuilder builder; - - auto creds = grpc::sgx::TlsServerCredentials(config_json); - GPR_ASSERT(creds.get() != nullptr); - - builder.AddListeningPort(server_addr, creds); - builder.RegisterService(&service); - - std::unique_ptr server(builder.BuildAndStart()); - std::cout << "Server listening on " << server_addr << std::endl; - - server->Wait(); - - return 0; -} - diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_server.h b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_server.h deleted file mode 100644 index 1aee644a..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/grpc_ratls_server.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _GRPC_RATLS_SERVER_H_ -#define _GRPC_RATLS_SERVER_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -// start server -extern int grpc_ratls_start_server( - const char *server_addr, // grpc server address+port, such as "localhost:50051" - const char *config_json, // ratls handshake config json file - const char *secret_json // secret config json file -); - -#ifdef __cplusplus -} -#endif - -#endif // _GRPC_RATLS_SERVER_H_ \ No newline at end of file diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/server.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/server.cc deleted file mode 100644 index 38479703..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/cpp/ratls/server.cc +++ /dev/null @@ -1,37 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -#include -#include -#include "../grpc_ratls_server.h" - - -int main(int argc, char** argv) { - if (argc < 2) { - printf("[ERROR] One argument must be provided\n\n"); - printf("Usage: server \n"); - return -1; - } - - grpc_ratls_start_server( - argv[1], - "dynamic_config.json", - "secret_config.json" - ); - - return 0; -} \ No newline at end of file diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/protos/ratls.proto b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/protos/ratls.proto deleted file mode 100644 index 0bae7047..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/examples/protos/ratls.proto +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) 2022 Intel Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -option java_multiple_files = true; -option java_package = "io.grpc.examples.ratls"; -option java_outer_classname = "RATLSProto"; -option objc_class_prefix = "HLW"; - -package ratls; - -// The GRPC_RATLS secret service definition. -service GrSecret { - // Sends a greeting - rpc GetSecret (SecretRequest) returns (SecretReply) {} -} - -// The request message containing the request's name. -message SecretRequest { - string name = 1; -} - -// The response message containing the secret (base64 encoded string) -message SecretReply { - string secret = 1; -} diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/include/grpcpp/security/sgx/sgx_ra_tls.h b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/include/grpcpp/security/sgx/sgx_ra_tls.h deleted file mode 100644 index 2ea167d2..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/include/grpcpp/security/sgx/sgx_ra_tls.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef SGX_RA_TLS_H -#define SGX_RA_TLS_H - -#include - -#include -#include - -#include - -namespace grpc { -namespace sgx { - -struct sgx_config; - -std::vector ra_tls_get_key_cert(); - -void ra_tls_parse_sgx_config(sgx_config sgx_cfg); - -void ra_tls_parse_sgx_config(const char* file); - -void ra_tls_verify_init(); - -int ra_tls_auth_check_schedule(void* /* config_user_data */, - grpc_tls_server_authorization_check_arg* arg); - -std::shared_ptr TlsCredentials(sgx_config sgx_cfg); - -std::shared_ptr TlsCredentials(const char* sgx_cfg_json); - -std::shared_ptr TlsServerCredentials(sgx_config sgx_cfg); - -std::shared_ptr TlsServerCredentials(const char* sgx_cfg_json); - -std::shared_ptr CreateSecureChannel( - string target_str, std::shared_ptr channel_creds); - -class json_engine { - public: - json_engine(); - - json_engine(const char*); - - ~json_engine(); - - bool open(const char*); - - void close(); - - cJSON* get_handle(); - - cJSON* get_item(cJSON* obj, const char* item); - - char* print_item(cJSON* obj); - - bool compare_item(cJSON* obj, const char* item); - - private: - cJSON* handle; -}; - -} // namespace sgx -} // namespace grpc - -#endif // SGX_RA_TLS_H diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/include/grpcpp/security/sgx/sgx_ra_tls_options.h b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/include/grpcpp/security/sgx/sgx_ra_tls_options.h deleted file mode 100644 index cb942b09..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/include/grpcpp/security/sgx/sgx_ra_tls_options.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef SGX_RA_TLS_OPTIONS_H -#define SGX_RA_TLS_OPTIONS_H - -#include -#include -#include -#include -#include -#include - -#include -#include - -namespace grpc { -namespace sgx { - -// Contains configurable options on the client side. -// Client side doesn't need to always use certificate provider. When the -// certificate provider is not set, we will use the root certificates stored -// in the system default locations, and assume client won't provide any -// identity certificates(single side TLS). -// It is used for experimental purposes for now and it is subject to change. -class CredentialsOptions final : public grpc::experimental::TlsCredentialsOptions { - public: - - explicit CredentialsOptions() : TlsCredentialsOptions() {} - - // Sets option to request the certificates from the client. - // The default is GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE. - void set_cert_request_type( - grpc_ssl_client_certificate_request_type cert_request_type); - - // Sets the option to verify the server. - // The default is GRPC_TLS_SERVER_VERIFICATION. - void set_verification_option( - grpc_tls_server_verification_option server_verification_option); - - // Sets the custom authorization config. - void set_authorization_check_config( - std::shared_ptr - authorization_check_config); - - private: -}; - -} // namespace sgx -} // namespace grpc - -#endif // SGX_RA_TLS_OPTIONS_H diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/credentials/tls/tls_credentials.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/credentials/tls/tls_credentials.cc deleted file mode 100644 index ab80b225..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/credentials/tls/tls_credentials.cc +++ /dev/null @@ -1,133 +0,0 @@ -/* - * - * Copyright 2018 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include "src/core/lib/security/credentials/tls/tls_credentials.h" - -#include - -#include -#include -#include -#include - -#include "src/core/lib/channel/channel_args.h" -#include "src/core/lib/security/security_connector/tls/tls_security_connector.h" - -#define GRPC_CREDENTIALS_TYPE_TLS "Tls" - -namespace { - -bool CredentialOptionSanityCheck(const grpc_tls_credentials_options* options, - bool is_client) { - if (options == nullptr) { - gpr_log(GPR_ERROR, "TLS credentials options is nullptr."); - return false; - } - // TODO(ZhenLian): remove this when it is also supported on server side. - // if (!is_client && options->server_authorization_check_config() != nullptr) { - // gpr_log(GPR_INFO, - // "Server's credentials options should not contain server " - // "authorization check config."); - // } - if (options->server_verification_option() != GRPC_TLS_SERVER_VERIFICATION && - options->server_authorization_check_config() == nullptr) { - gpr_log(GPR_ERROR, - "Should provider custom verifications if bypassing default ones."); - return false; - } - return true; -} - -} // namespace - -TlsCredentials::TlsCredentials( - grpc_core::RefCountedPtr options) - : grpc_channel_credentials(GRPC_CREDENTIALS_TYPE_TLS), - options_(std::move(options)) {} - -TlsCredentials::~TlsCredentials() {} - -grpc_core::RefCountedPtr -TlsCredentials::create_security_connector( - grpc_core::RefCountedPtr call_creds, - const char* target_name, const grpc_channel_args* args, - grpc_channel_args** new_args) { - const char* overridden_target_name = nullptr; - tsi_ssl_session_cache* ssl_session_cache = nullptr; - for (size_t i = 0; args != nullptr && i < args->num_args; i++) { - grpc_arg* arg = &args->args[i]; - if (strcmp(arg->key, GRPC_SSL_TARGET_NAME_OVERRIDE_ARG) == 0 && - arg->type == GRPC_ARG_STRING) { - overridden_target_name = arg->value.string; - } - if (strcmp(arg->key, GRPC_SSL_SESSION_CACHE_ARG) == 0 && - arg->type == GRPC_ARG_POINTER) { - ssl_session_cache = - static_cast(arg->value.pointer.p); - } - } - grpc_core::RefCountedPtr sc = - grpc_core::TlsChannelSecurityConnector::CreateTlsChannelSecurityConnector( - this->Ref(), options_, std::move(call_creds), target_name, - overridden_target_name, ssl_session_cache); - if (sc == nullptr) { - return nullptr; - } - if (args != nullptr) { - grpc_arg new_arg = grpc_channel_arg_string_create( - const_cast(GRPC_ARG_HTTP2_SCHEME), const_cast("https")); - *new_args = grpc_channel_args_copy_and_add(args, &new_arg, 1); - } - return sc; -} - -TlsServerCredentials::TlsServerCredentials( - grpc_core::RefCountedPtr options) - : grpc_server_credentials(GRPC_CREDENTIALS_TYPE_TLS), - options_(std::move(options)) {} - -TlsServerCredentials::~TlsServerCredentials() {} - -grpc_core::RefCountedPtr -TlsServerCredentials::create_security_connector( - const grpc_channel_args* /* args */) { - return grpc_core::TlsServerSecurityConnector:: - CreateTlsServerSecurityConnector(this->Ref(), options_); -} - -/** -- Wrapper APIs declared in grpc_security.h -- **/ - -grpc_channel_credentials* grpc_tls_credentials_create( - grpc_tls_credentials_options* options) { - if (!CredentialOptionSanityCheck(options, true /* is_client */)) { - return nullptr; - } - return new TlsCredentials( - grpc_core::RefCountedPtr(options)); -} - -grpc_server_credentials* grpc_tls_server_credentials_create( - grpc_tls_credentials_options* options) { - if (!CredentialOptionSanityCheck(options, false /* is_client */)) { - return nullptr; - } - return new TlsServerCredentials( - grpc_core::RefCountedPtr(options)); -} diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/security_connector/tls/tls_security_connector.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/security_connector/tls/tls_security_connector.cc deleted file mode 100644 index db21ed0f..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/security_connector/tls/tls_security_connector.cc +++ /dev/null @@ -1,863 +0,0 @@ -/* - * - * Copyright 2018 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include - -#include "src/core/lib/security/security_connector/tls/tls_security_connector.h" - -#include -#include - -#include "absl/strings/str_cat.h" -#include "absl/strings/string_view.h" - -#include -#include -#include -#include - -#include "src/core/lib/gprpp/host_port.h" -#include "src/core/lib/security/credentials/ssl/ssl_credentials.h" -#include "src/core/lib/security/credentials/tls/tls_credentials.h" -#include "src/core/lib/security/security_connector/ssl_utils.h" -#include "src/core/lib/security/transport/security_handshaker.h" -#include "src/core/lib/slice/slice_internal.h" -#include "src/core/lib/transport/transport.h" -#include "src/core/tsi/ssl_transport_security.h" -#include "src/core/tsi/transport_security.h" - -namespace grpc_core { - -namespace { - -tsi_ssl_pem_key_cert_pair* ConvertToTsiPemKeyCertPair( - const PemKeyCertPairList& cert_pair_list) { - tsi_ssl_pem_key_cert_pair* tsi_pairs = nullptr; - size_t num_key_cert_pairs = cert_pair_list.size(); - if (num_key_cert_pairs > 0) { - GPR_ASSERT(cert_pair_list.data() != nullptr); - tsi_pairs = static_cast( - gpr_zalloc(num_key_cert_pairs * sizeof(tsi_ssl_pem_key_cert_pair))); - } - for (size_t i = 0; i < num_key_cert_pairs; i++) { - GPR_ASSERT(!cert_pair_list[i].private_key().empty()); - GPR_ASSERT(!cert_pair_list[i].cert_chain().empty()); - tsi_pairs[i].cert_chain = - gpr_strdup(cert_pair_list[i].cert_chain().c_str()); - tsi_pairs[i].private_key = - gpr_strdup(cert_pair_list[i].private_key().c_str()); - } - return tsi_pairs; -} - -} // namespace - -void gpr_check_free(void* p) { - if (p) { - gpr_free(p); - p = nullptr; - } -} - -// -------------------channel security connector------------------- -RefCountedPtr -TlsChannelSecurityConnector::CreateTlsChannelSecurityConnector( - RefCountedPtr channel_creds, - RefCountedPtr options, - RefCountedPtr request_metadata_creds, - const char* target_name, const char* overridden_target_name, - tsi_ssl_session_cache* ssl_session_cache) { - if (channel_creds == nullptr) { - gpr_log(GPR_ERROR, - "channel_creds is nullptr in " - "TlsChannelSecurityConnectorCreate()"); - return nullptr; - } - if (options == nullptr) { - gpr_log(GPR_ERROR, - "options is nullptr in " - "TlsChannelSecurityConnectorCreate()"); - return nullptr; - } - if (target_name == nullptr) { - gpr_log(GPR_ERROR, - "target_name is nullptr in " - "TlsChannelSecurityConnectorCreate()"); - return nullptr; - } - return MakeRefCounted( - std::move(channel_creds), std::move(options), - std::move(request_metadata_creds), target_name, overridden_target_name, - ssl_session_cache); -} - -TlsChannelSecurityConnector::TlsChannelSecurityConnector( - RefCountedPtr channel_creds, - RefCountedPtr options, - RefCountedPtr request_metadata_creds, - const char* target_name, const char* overridden_target_name, - tsi_ssl_session_cache* ssl_session_cache) - : grpc_channel_security_connector(GRPC_SSL_URL_SCHEME, - std::move(channel_creds), - std::move(request_metadata_creds)), - options_(std::move(options)), - overridden_target_name_( - overridden_target_name == nullptr ? "" : overridden_target_name), - ssl_session_cache_(ssl_session_cache) { - if (ssl_session_cache_ != nullptr) { - tsi_ssl_session_cache_ref(ssl_session_cache_); - } - check_arg_ = ServerAuthorizationCheckArgCreate(this); - absl::string_view host; - absl::string_view port; - SplitHostPort(target_name, &host, &port); - target_name_ = std::string(host); - // Create a watcher. - auto watcher_ptr = absl::make_unique(this); - certificate_watcher_ = watcher_ptr.get(); - // Register the watcher with the distributor. - grpc_tls_certificate_distributor* distributor = - options_->certificate_distributor(); - absl::optional watched_root_cert_name; - if (options_->watch_root_cert()) { - watched_root_cert_name = options_->root_cert_name(); - } - absl::optional watched_identity_cert_name; - if (options_->watch_identity_pair()) { - watched_identity_cert_name = options_->identity_cert_name(); - } - // We will use the root certs stored in system default locations if not - // watching root certs on the client side. We will handle this case - // differently here, because "watching a default roots without the identity - // certs" is a valid case(and hence we will need to call - // OnCertificatesChanged), but it requires nothing from the provider, and - // hence no need to register the watcher. - bool use_default_roots = !options_->watch_root_cert(); - if (use_default_roots && !options_->watch_identity_pair()) { - watcher_ptr->OnCertificatesChanged(absl::nullopt, absl::nullopt); - } else { - distributor->WatchTlsCertificates(std::move(watcher_ptr), - watched_root_cert_name, - watched_identity_cert_name); - } -} - -TlsChannelSecurityConnector::~TlsChannelSecurityConnector() { - if (ssl_session_cache_ != nullptr) { - tsi_ssl_session_cache_unref(ssl_session_cache_); - } - // Cancel all the watchers. - grpc_tls_certificate_distributor* distributor = - options_->certificate_distributor(); - if (distributor != nullptr) { - distributor->CancelTlsCertificatesWatch(certificate_watcher_); - } - if (client_handshaker_factory_ != nullptr) { - tsi_ssl_client_handshaker_factory_unref(client_handshaker_factory_); - } - if (check_arg_ != nullptr) { - ServerAuthorizationCheckArgDestroy(check_arg_); - } -} - -void TlsChannelSecurityConnector::add_handshakers( - const grpc_channel_args* args, grpc_pollset_set* /*interested_parties*/, - HandshakeManager* handshake_mgr) { - MutexLock lock(&mu_); - if (client_handshaker_factory_ != nullptr) { - // Instantiate TSI handshaker. - tsi_handshaker* tsi_hs = nullptr; - tsi_result result = tsi_ssl_client_handshaker_factory_create_handshaker( - client_handshaker_factory_, - overridden_target_name_.empty() ? target_name_.c_str() - : overridden_target_name_.c_str(), - &tsi_hs); - if (result != TSI_OK) { - gpr_log(GPR_ERROR, "Handshaker creation failed with error %s.", - tsi_result_to_string(result)); - return; - } - // Create handshakers. - handshake_mgr->Add(SecurityHandshakerCreate(tsi_hs, this, args)); - return; - } - // TODO(ZhenLian): Implement the logic(delegation to - // BlockOnInitialCredentialHandshaker) when certificates are not ready. - gpr_log(GPR_ERROR, "%s not supported yet.", - "Client BlockOnInitialCredentialHandshaker"); -} - -void TlsChannelSecurityConnector::check_peer( - tsi_peer peer, grpc_endpoint* /*ep*/, - RefCountedPtr* auth_context, - grpc_closure* on_peer_checked) { - const char* target_name = overridden_target_name_.empty() - ? target_name_.c_str() - : overridden_target_name_.c_str(); - grpc_error_handle error = grpc_ssl_check_alpn(&peer); - if (error != GRPC_ERROR_NONE) { - ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); - tsi_peer_destruct(&peer); - return; - } - *auth_context = - grpc_ssl_peer_to_auth_context(&peer, GRPC_TLS_TRANSPORT_SECURITY_TYPE); - if (options_->server_verification_option() == GRPC_TLS_SERVER_VERIFICATION) { - /* Do the default host name check if specifying the target name. */ - error = internal::TlsCheckHostName(target_name, &peer); - if (error != GRPC_ERROR_NONE) { - ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); - tsi_peer_destruct(&peer); - return; - } - } - /* Do the custom server authorization check, if specified by the user. */ - const grpc_tls_server_authorization_check_config* config = - options_->server_authorization_check_config(); - /* If server authorization config is not null, use it to perform - * server authorization check. */ - if (config != nullptr) { - const tsi_peer_property* p = - tsi_peer_get_property_by_name(&peer, TSI_X509_PEM_CERT_PROPERTY); - if (p == nullptr) { - error = GRPC_ERROR_CREATE_FROM_STATIC_STRING( - "Cannot check peer: missing pem cert property."); - } else { - char* peer_pem = static_cast(gpr_zalloc(p->value.length + 1)); - memcpy(peer_pem, p->value.data, p->value.length); - GPR_ASSERT(check_arg_ != nullptr); - check_arg_->peer_cert = check_arg_->peer_cert == nullptr - ? gpr_strdup(peer_pem) - : check_arg_->peer_cert; - check_arg_->target_name = check_arg_->target_name == nullptr - ? gpr_strdup(target_name) - : check_arg_->target_name; - on_peer_checked_ = on_peer_checked; - gpr_check_free(peer_pem); - const tsi_peer_property* chain = tsi_peer_get_property_by_name( - &peer, TSI_X509_PEM_CERT_CHAIN_PROPERTY); - if (chain != nullptr) { - char* peer_pem_chain = - static_cast(gpr_zalloc(chain->value.length + 1)); - memcpy(peer_pem_chain, chain->value.data, chain->value.length); - check_arg_->peer_cert_full_chain = - check_arg_->peer_cert_full_chain == nullptr - ? gpr_strdup(peer_pem_chain) - : check_arg_->peer_cert_full_chain; - gpr_check_free(peer_pem_chain); - } - // TODO(zhenlian) - This should be cleaned up as part of the custom - // verification changes. Fill in the subject alternative names - std::vector subject_alternative_names; - for (size_t i = 0; i < peer.property_count; i++) { - const tsi_peer_property* prop = &peer.properties[i]; - if (strcmp(prop->name, - TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY) == 0) { - char* san = new char[prop->value.length + 1]; - memcpy(san, prop->value.data, prop->value.length); - san[prop->value.length] = '\0'; - subject_alternative_names.emplace_back(san); - } - } - if (check_arg_->subject_alternative_names != nullptr) { - for (size_t i = 0; i < check_arg_->subject_alternative_names_size; - ++i) { - delete[] check_arg_->subject_alternative_names[i]; - } - delete[] check_arg_->subject_alternative_names; - } - check_arg_->subject_alternative_names_size = - subject_alternative_names.size(); - if (subject_alternative_names.empty()) { - check_arg_->subject_alternative_names = nullptr; - } else { - check_arg_->subject_alternative_names = - new char*[check_arg_->subject_alternative_names_size]; - for (size_t i = 0; i < check_arg_->subject_alternative_names_size; - ++i) { - check_arg_->subject_alternative_names[i] = - subject_alternative_names[i]; - } - } - int callback_status = config->Schedule(check_arg_); - /* Server authorization check is handled asynchronously. */ - if (callback_status) { - tsi_peer_destruct(&peer); - return; - } - /* Server authorization check is handled synchronously. */ - error = ProcessServerAuthorizationCheckResult(check_arg_); - } - } - ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); - tsi_peer_destruct(&peer); -} - -int TlsChannelSecurityConnector::cmp( - const grpc_security_connector* other_sc) const { - auto* other = reinterpret_cast(other_sc); - int c = channel_security_connector_cmp(other); - if (c != 0) { - return c; - } - return grpc_ssl_cmp_target_name( - target_name_.c_str(), other->target_name_.c_str(), - overridden_target_name_.c_str(), other->overridden_target_name_.c_str()); -} - -bool TlsChannelSecurityConnector::check_call_host( - absl::string_view host, grpc_auth_context* auth_context, - grpc_closure* /*on_call_host_checked*/, grpc_error_handle* error) { - if (options_->server_verification_option() == - GRPC_TLS_SKIP_HOSTNAME_VERIFICATION || - options_->server_verification_option() == - GRPC_TLS_SKIP_ALL_SERVER_VERIFICATION) { - return true; - } - return grpc_ssl_check_call_host(host, target_name_.c_str(), - overridden_target_name_.c_str(), auth_context, - error); -} - -void TlsChannelSecurityConnector::cancel_check_call_host( - grpc_closure* /*on_call_host_checked*/, grpc_error_handle error) { - GRPC_ERROR_UNREF(error); -} - -void TlsChannelSecurityConnector::TlsChannelCertificateWatcher:: - OnCertificatesChanged(absl::optional root_certs, - absl::optional key_cert_pairs) { - GPR_ASSERT(security_connector_ != nullptr); - MutexLock lock(&security_connector_->mu_); - if (root_certs.has_value()) { - security_connector_->pem_root_certs_ = root_certs; - } - if (key_cert_pairs.has_value()) { - security_connector_->pem_key_cert_pair_list_ = std::move(key_cert_pairs); - } - const bool root_ready = !security_connector_->options_->watch_root_cert() || - security_connector_->pem_root_certs_.has_value(); - const bool identity_ready = - !security_connector_->options_->watch_identity_pair() || - security_connector_->pem_key_cert_pair_list_.has_value(); - if (root_ready && identity_ready) { - if (security_connector_->UpdateHandshakerFactoryLocked() != - GRPC_SECURITY_OK) { - gpr_log(GPR_ERROR, "Update handshaker factory failed."); - } - } -} - -// TODO(ZhenLian): implement the logic to signal waiting handshakers once -// BlockOnInitialCredentialHandshaker is implemented. -void TlsChannelSecurityConnector::TlsChannelCertificateWatcher::OnError( - grpc_error_handle root_cert_error, grpc_error_handle identity_cert_error) { - if (root_cert_error != GRPC_ERROR_NONE) { - gpr_log(GPR_ERROR, - "TlsChannelCertificateWatcher getting root_cert_error: %s", - grpc_error_std_string(root_cert_error).c_str()); - } - if (identity_cert_error != GRPC_ERROR_NONE) { - gpr_log(GPR_ERROR, - "TlsChannelCertificateWatcher getting identity_cert_error: %s", - grpc_error_std_string(identity_cert_error).c_str()); - } - GRPC_ERROR_UNREF(root_cert_error); - GRPC_ERROR_UNREF(identity_cert_error); -} - -// TODO(ZhenLian): implement the logic to signal waiting handshakers once -// BlockOnInitialCredentialHandshaker is implemented. -grpc_security_status -TlsChannelSecurityConnector::UpdateHandshakerFactoryLocked() { - bool skip_server_certificate_verification = - options_->server_verification_option() == - GRPC_TLS_SKIP_ALL_SERVER_VERIFICATION; - /* Free the client handshaker factory if exists. */ - if (client_handshaker_factory_ != nullptr) { - tsi_ssl_client_handshaker_factory_unref(client_handshaker_factory_); - } - std::string pem_root_certs; - if (pem_root_certs_.has_value()) { - // TODO(ZhenLian): update the underlying TSI layer to use C++ types like - // std::string and absl::string_view to avoid making another copy here. - pem_root_certs = std::string(*pem_root_certs_); - } - tsi_ssl_pem_key_cert_pair* pem_key_cert_pair = nullptr; - if (pem_key_cert_pair_list_.has_value()) { - pem_key_cert_pair = ConvertToTsiPemKeyCertPair(*pem_key_cert_pair_list_); - } - bool use_default_roots = !options_->watch_root_cert(); - grpc_security_status status = grpc_ssl_tsi_client_handshaker_factory_init( - pem_key_cert_pair, - pem_root_certs.empty() || use_default_roots ? nullptr - : pem_root_certs.c_str(), - skip_server_certificate_verification, - grpc_get_tsi_tls_version(options_->min_tls_version()), - grpc_get_tsi_tls_version(options_->max_tls_version()), ssl_session_cache_, - &client_handshaker_factory_); - /* Free memory. */ - if (pem_key_cert_pair != nullptr) { - grpc_tsi_ssl_pem_key_cert_pairs_destroy(pem_key_cert_pair, 1); - } - return status; -} - -void TlsChannelSecurityConnector::ServerAuthorizationCheckDone( - grpc_tls_server_authorization_check_arg* arg) { - GPR_ASSERT(arg != nullptr); - ExecCtx exec_ctx; - grpc_error_handle error = ProcessServerAuthorizationCheckResult(arg); - TlsChannelSecurityConnector* connector = - static_cast(arg->cb_user_data); - ExecCtx::Run(DEBUG_LOCATION, connector->on_peer_checked_, error); -} - -grpc_error_handle -TlsChannelSecurityConnector::ProcessServerAuthorizationCheckResult( - grpc_tls_server_authorization_check_arg* arg) { - grpc_error_handle error = GRPC_ERROR_NONE; - /* Server authorization check is cancelled by caller. */ - if (arg->status == GRPC_STATUS_CANCELLED) { - error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( - absl::StrCat("Server authorization check is cancelled by the caller " - "with error: ", - arg->error_details->error_details()) - .c_str()); - } else if (arg->status == GRPC_STATUS_OK) { - /* Server authorization check completed successfully but returned check - * failure. */ - if (!arg->success) { - error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( - absl::StrCat("Server authorization check failed with error: ", - arg->error_details->error_details()) - .c_str()); - } - /* Server authorization check did not complete correctly. */ - } else { - error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( - absl::StrCat( - "Server authorization check did not finish correctly with error: ", - arg->error_details->error_details()) - .c_str()); - } - return error; -} - -grpc_tls_server_authorization_check_arg* -TlsChannelSecurityConnector::ServerAuthorizationCheckArgCreate( - void* user_data) { - grpc_tls_server_authorization_check_arg* arg = - new grpc_tls_server_authorization_check_arg(); - arg->target_name = nullptr; - arg->peer_cert = nullptr; - arg->peer_cert_full_chain = nullptr; - arg->subject_alternative_names = nullptr; - arg->subject_alternative_names_size = 0; - arg->error_details = new grpc_tls_error_details(); - arg->cb = ServerAuthorizationCheckDone; - arg->cb_user_data = user_data; - arg->status = GRPC_STATUS_OK; - return arg; -} - -void TlsChannelSecurityConnector::ServerAuthorizationCheckArgDestroy( - grpc_tls_server_authorization_check_arg* arg) { - if (arg == nullptr) { - return; - } - gpr_check_free(const_cast(arg->target_name)); - gpr_check_free(const_cast(arg->peer_cert)); - gpr_check_free(const_cast(arg->peer_cert_full_chain)); - for (size_t i = 0; i < arg->subject_alternative_names_size; ++i) { - delete[] arg->subject_alternative_names[i]; - } - delete[] arg->subject_alternative_names; - delete arg->error_details; - if (arg->destroy_context != nullptr) { - arg->destroy_context(arg->context); - } - delete arg; - arg = nullptr; -} - -// -------------------server security connector------------------- -RefCountedPtr -TlsServerSecurityConnector::CreateTlsServerSecurityConnector( - RefCountedPtr server_creds, - RefCountedPtr options) { - if (server_creds == nullptr) { - gpr_log(GPR_ERROR, - "server_creds is nullptr in " - "TlsServerSecurityConnectorCreate()"); - return nullptr; - } - if (options == nullptr) { - gpr_log(GPR_ERROR, - "options is nullptr in " - "TlsServerSecurityConnectorCreate()"); - return nullptr; - } - return MakeRefCounted(std::move(server_creds), - std::move(options)); -} - -void TlsServerSecurityConnector::ClientAuthorizationCheckDone( - grpc_tls_server_authorization_check_arg* arg) { - GPR_ASSERT(arg != nullptr); - ExecCtx exec_ctx; - grpc_error_handle error = ProcessClientAuthorizationCheckResult(arg); - TlsServerSecurityConnector* connector = - static_cast(arg->cb_user_data); - ExecCtx::Run(DEBUG_LOCATION, connector->on_peer_checked_, error); -} - -grpc_error_handle -TlsServerSecurityConnector::ProcessClientAuthorizationCheckResult( - grpc_tls_server_authorization_check_arg* arg) { - grpc_error_handle error = GRPC_ERROR_NONE; - /* Client authorization check is cancelled by caller. */ - if (arg->status == GRPC_STATUS_CANCELLED) { - error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( - absl::StrCat("Client authorization check is cancelled by the caller " - "with error: ", - arg->error_details->error_details()) - .c_str()); - } else if (arg->status == GRPC_STATUS_OK) { - /* Client authorization check completed successfully but returned check - * failure. */ - if (!arg->success) { - error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( - absl::StrCat("Client authorization check failed with error: ", - arg->error_details->error_details()) - .c_str()); - } - /* Client authorization check did not complete correctly. */ - } else { - error = GRPC_ERROR_CREATE_FROM_COPIED_STRING( - absl::StrCat( - "Client authorization check did not finish correctly with error: ", - arg->error_details->error_details()) - .c_str()); - } - return error; -} - -grpc_tls_server_authorization_check_arg* -TlsServerSecurityConnector::ClientAuthorizationCheckArgCreate( - void* user_data) { - grpc_tls_server_authorization_check_arg* arg = - new grpc_tls_server_authorization_check_arg(); - arg->target_name = nullptr; - arg->peer_cert = nullptr; - arg->peer_cert_full_chain = nullptr; - arg->subject_alternative_names = nullptr; - arg->subject_alternative_names_size = 0; - arg->error_details = new grpc_tls_error_details(); - arg->cb = ClientAuthorizationCheckDone; - arg->cb_user_data = user_data; - arg->status = GRPC_STATUS_OK; - return arg; -} - -void TlsServerSecurityConnector::ClientAuthorizationCheckArgDestroy( - grpc_tls_server_authorization_check_arg* arg) { - if (arg == nullptr) { - return; - } - gpr_check_free(const_cast(arg->target_name)); - gpr_check_free(const_cast(arg->peer_cert)); - gpr_check_free(const_cast(arg->peer_cert_full_chain)); - for (size_t i = 0; i < arg->subject_alternative_names_size; ++i) { - delete[] arg->subject_alternative_names[i]; - } - delete[] arg->subject_alternative_names; - delete arg->error_details; - if (arg->destroy_context != nullptr) { - arg->destroy_context(arg->context); - } - delete arg; - arg = nullptr; -} - -TlsServerSecurityConnector::TlsServerSecurityConnector( - RefCountedPtr server_creds, - RefCountedPtr options) - : grpc_server_security_connector(GRPC_SSL_URL_SCHEME, - std::move(server_creds)), - options_(std::move(options)) { - check_arg_ = ClientAuthorizationCheckArgCreate(this); - // Create a watcher. - auto watcher_ptr = absl::make_unique(this); - certificate_watcher_ = watcher_ptr.get(); - // Register the watcher with the distributor. - grpc_tls_certificate_distributor* distributor = - options_->certificate_distributor(); - absl::optional watched_root_cert_name; - if (options_->watch_root_cert()) { - watched_root_cert_name = options_->root_cert_name(); - } - absl::optional watched_identity_cert_name; - if (options_->watch_identity_pair()) { - watched_identity_cert_name = options_->identity_cert_name(); - } - // Server side won't use default system roots at any time. - distributor->WatchTlsCertificates(std::move(watcher_ptr), - watched_root_cert_name, - watched_identity_cert_name); -} - -TlsServerSecurityConnector::~TlsServerSecurityConnector() { - // Cancel all the watchers. - grpc_tls_certificate_distributor* distributor = - options_->certificate_distributor(); - if (distributor != nullptr) { - distributor->CancelTlsCertificatesWatch(certificate_watcher_); - } - if (server_handshaker_factory_ != nullptr) { - tsi_ssl_server_handshaker_factory_unref(server_handshaker_factory_); - } - if (check_arg_ != nullptr) { - ClientAuthorizationCheckArgDestroy(check_arg_); - } -} - -void TlsServerSecurityConnector::add_handshakers( - const grpc_channel_args* args, grpc_pollset_set* /*interested_parties*/, - HandshakeManager* handshake_mgr) { - MutexLock lock(&mu_); - if (server_handshaker_factory_ != nullptr) { - // Instantiate TSI handshaker. - tsi_handshaker* tsi_hs = nullptr; - tsi_result result = tsi_ssl_server_handshaker_factory_create_handshaker( - server_handshaker_factory_, &tsi_hs); - if (result != TSI_OK) { - gpr_log(GPR_ERROR, "Handshaker creation failed with error %s.", - tsi_result_to_string(result)); - return; - } - // Create handshakers. - handshake_mgr->Add(SecurityHandshakerCreate(tsi_hs, this, args)); - return; - } - // TODO(ZhenLian): Implement the logic(delegation to - // BlockOnInitialCredentialHandshaker) when certificates are not ready. - gpr_log(GPR_ERROR, "%s not supported yet.", - "Server BlockOnInitialCredentialHandshaker"); -} - -void TlsServerSecurityConnector::check_peer( - tsi_peer peer, grpc_endpoint* /*ep*/, - RefCountedPtr* auth_context, - grpc_closure* on_peer_checked) { - grpc_error_handle error = grpc_ssl_check_alpn(&peer); - if (error != GRPC_ERROR_NONE) { - ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); - tsi_peer_destruct(&peer); - return; - } - *auth_context = - grpc_ssl_peer_to_auth_context(&peer, GRPC_TLS_TRANSPORT_SECURITY_TYPE); - if (options_->server_verification_option() == GRPC_TLS_SERVER_VERIFICATION) { - /* Do the default host name check if specifying the target name. */ - error = internal::TlsCheckHostName("", &peer); - if (error != GRPC_ERROR_NONE) { - ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); - tsi_peer_destruct(&peer); - return; - } - } - /* Do the custom client authorization check, if specified by the user. */ - const grpc_tls_server_authorization_check_config* config = - options_->server_authorization_check_config(); - /* If client authorization config is not null, use it to perform - * client authorization check. */ - if (config != nullptr) { - const tsi_peer_property* p = - tsi_peer_get_property_by_name(&peer, TSI_X509_PEM_CERT_PROPERTY); - if (p == nullptr) { - error = GRPC_ERROR_CREATE_FROM_STATIC_STRING( - "Cannot check peer: missing pem cert property."); - } else { - char* peer_pem = static_cast(gpr_zalloc(p->value.length + 1)); - memcpy(peer_pem, p->value.data, p->value.length); - GPR_ASSERT(check_arg_ != nullptr); - check_arg_->peer_cert = gpr_strdup(peer_pem); - check_arg_->target_name = gpr_strdup(""); - on_peer_checked_ = on_peer_checked; - gpr_check_free(peer_pem); - const tsi_peer_property* chain = tsi_peer_get_property_by_name( - &peer, TSI_X509_PEM_CERT_CHAIN_PROPERTY); - if (chain != nullptr) { - char* peer_pem_chain = - static_cast(gpr_zalloc(chain->value.length + 1)); - memcpy(peer_pem_chain, chain->value.data, chain->value.length); - check_arg_->peer_cert_full_chain = - check_arg_->peer_cert_full_chain == nullptr - ? gpr_strdup(peer_pem_chain) - : check_arg_->peer_cert_full_chain; - gpr_check_free(peer_pem_chain); - } - // TODO(zhenlian) - This should be cleaned up as part of the custom - // verification changes. Fill in the subject alternative names - std::vector subject_alternative_names; - for (size_t i = 0; i < peer.property_count; i++) { - const tsi_peer_property* prop = &peer.properties[i]; - if (strcmp(prop->name, - TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY) == 0) { - char* san = new char[prop->value.length + 1]; - memcpy(san, prop->value.data, prop->value.length); - san[prop->value.length] = '\0'; - subject_alternative_names.emplace_back(san); - } - } - if (check_arg_->subject_alternative_names != nullptr) { - for (size_t i = 0; i < check_arg_->subject_alternative_names_size; - ++i) { - delete[] check_arg_->subject_alternative_names[i]; - } - delete[] check_arg_->subject_alternative_names; - } - check_arg_->subject_alternative_names_size = - subject_alternative_names.size(); - if (subject_alternative_names.empty()) { - check_arg_->subject_alternative_names = nullptr; - } else { - check_arg_->subject_alternative_names = - new char*[check_arg_->subject_alternative_names_size]; - for (size_t i = 0; i < check_arg_->subject_alternative_names_size; - ++i) { - check_arg_->subject_alternative_names[i] = - subject_alternative_names[i]; - } - } - int callback_status = config->Schedule(check_arg_); - /* Client authorization check is handled asynchronously. */ - if (callback_status) { - tsi_peer_destruct(&peer); - return; - } - /* Client authorization check is handled synchronously. */ - error = ProcessClientAuthorizationCheckResult(check_arg_); - } - } - ExecCtx::Run(DEBUG_LOCATION, on_peer_checked, error); - tsi_peer_destruct(&peer); -} - -int TlsServerSecurityConnector::cmp( - const grpc_security_connector* other) const { - return server_security_connector_cmp( - static_cast(other)); -} - -void TlsServerSecurityConnector::TlsServerCertificateWatcher:: - OnCertificatesChanged(absl::optional root_certs, - absl::optional key_cert_pairs) { - GPR_ASSERT(security_connector_ != nullptr); - MutexLock lock(&security_connector_->mu_); - if (root_certs.has_value()) { - security_connector_->pem_root_certs_ = root_certs; - } - if (key_cert_pairs.has_value()) { - security_connector_->pem_key_cert_pair_list_ = std::move(key_cert_pairs); - } - bool root_being_watched = security_connector_->options_->watch_root_cert(); - bool root_has_value = security_connector_->pem_root_certs_.has_value(); - bool identity_being_watched = - security_connector_->options_->watch_identity_pair(); - bool identity_has_value = - security_connector_->pem_key_cert_pair_list_.has_value(); - if ((root_being_watched && root_has_value && identity_being_watched && - identity_has_value) || - (root_being_watched && root_has_value && !identity_being_watched) || - (!root_being_watched && identity_being_watched && identity_has_value)) { - if (security_connector_->UpdateHandshakerFactoryLocked() != - GRPC_SECURITY_OK) { - gpr_log(GPR_ERROR, "Update handshaker factory failed."); - } - } -} - -// TODO(ZhenLian): implement the logic to signal waiting handshakers once -// BlockOnInitialCredentialHandshaker is implemented. -void TlsServerSecurityConnector::TlsServerCertificateWatcher::OnError( - grpc_error_handle root_cert_error, grpc_error_handle identity_cert_error) { - if (root_cert_error != GRPC_ERROR_NONE) { - gpr_log(GPR_ERROR, - "TlsServerCertificateWatcher getting root_cert_error: %s", - grpc_error_std_string(root_cert_error).c_str()); - } - if (identity_cert_error != GRPC_ERROR_NONE) { - gpr_log(GPR_ERROR, - "TlsServerCertificateWatcher getting identity_cert_error: %s", - grpc_error_std_string(identity_cert_error).c_str()); - } - GRPC_ERROR_UNREF(root_cert_error); - GRPC_ERROR_UNREF(identity_cert_error); -} - -// TODO(ZhenLian): implement the logic to signal waiting handshakers once -// BlockOnInitialCredentialHandshaker is implemented. -grpc_security_status -TlsServerSecurityConnector::UpdateHandshakerFactoryLocked() { - /* Free the server handshaker factory if exists. */ - if (server_handshaker_factory_ != nullptr) { - tsi_ssl_server_handshaker_factory_unref(server_handshaker_factory_); - } - // The identity certs on the server side shouldn't be empty. - GPR_ASSERT(pem_key_cert_pair_list_.has_value()); - GPR_ASSERT(!(*pem_key_cert_pair_list_).empty()); - std::string pem_root_certs; - if (pem_root_certs_.has_value()) { - // TODO(ZhenLian): update the underlying TSI layer to use C++ types like - // std::string and absl::string_view to avoid making another copy here. - pem_root_certs = std::string(*pem_root_certs_); - } - tsi_ssl_pem_key_cert_pair* pem_key_cert_pairs = nullptr; - pem_key_cert_pairs = ConvertToTsiPemKeyCertPair(*pem_key_cert_pair_list_); - size_t num_key_cert_pairs = (*pem_key_cert_pair_list_).size(); - grpc_security_status status = grpc_ssl_tsi_server_handshaker_factory_init( - pem_key_cert_pairs, num_key_cert_pairs, - pem_root_certs.empty() ? nullptr : pem_root_certs.c_str(), - options_->cert_request_type(), - grpc_get_tsi_tls_version(options_->min_tls_version()), - grpc_get_tsi_tls_version(options_->max_tls_version()), - &server_handshaker_factory_); - /* Free memory. */ - grpc_tsi_ssl_pem_key_cert_pairs_destroy(pem_key_cert_pairs, - num_key_cert_pairs); - return status; -} - -namespace internal { - -grpc_error_handle TlsCheckHostName(const char* peer_name, - const tsi_peer* peer) { - /* Check the peer name if specified. */ - if (peer_name != nullptr && !grpc_ssl_host_matches_name(peer, peer_name)) { - return GRPC_ERROR_CREATE_FROM_COPIED_STRING( - absl::StrCat("Peer name ", peer_name, " is not in peer certificate") - .c_str()); - } - return GRPC_ERROR_NONE; -} - -} // namespace internal - -} // namespace grpc_core diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/security_connector/tls/tls_security_connector.h b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/security_connector/tls/tls_security_connector.h deleted file mode 100644 index cd830b9b..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/core/lib/security/security_connector/tls/tls_security_connector.h +++ /dev/null @@ -1,267 +0,0 @@ -/* - * - * Copyright 2018 gRPC authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_TLS_TLS_SECURITY_CONNECTOR_H -#define GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_TLS_TLS_SECURITY_CONNECTOR_H - -#include - -#include "src/core/lib/gprpp/sync.h" -#include "src/core/lib/security/context/security_context.h" -#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h" -#include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h" - -#define GRPC_TLS_TRANSPORT_SECURITY_TYPE "tls" - -namespace grpc_core { - -// Channel security connector using TLS as transport security protocol. -class TlsChannelSecurityConnector final - : public grpc_channel_security_connector { - public: - // static factory method to create a TLS channel security connector. - static RefCountedPtr - CreateTlsChannelSecurityConnector( - RefCountedPtr channel_creds, - RefCountedPtr options, - RefCountedPtr request_metadata_creds, - const char* target_name, const char* overridden_target_name, - tsi_ssl_session_cache* ssl_session_cache); - - TlsChannelSecurityConnector( - RefCountedPtr channel_creds, - RefCountedPtr options, - RefCountedPtr request_metadata_creds, - const char* target_name, const char* overridden_target_name, - tsi_ssl_session_cache* ssl_session_cache); - - ~TlsChannelSecurityConnector() override; - - void add_handshakers(const grpc_channel_args* args, - grpc_pollset_set* interested_parties, - HandshakeManager* handshake_mgr) override; - - void check_peer(tsi_peer peer, grpc_endpoint* ep, - RefCountedPtr* auth_context, - grpc_closure* on_peer_checked) override; - - void cancel_check_peer(grpc_closure* /*on_peer_checked*/, - grpc_error_handle error) override { - // TODO(ZhenLian): call verifier->cancel() once the verifier is ready. - GRPC_ERROR_UNREF(error); - } - - int cmp(const grpc_security_connector* other_sc) const override; - - bool check_call_host(absl::string_view host, grpc_auth_context* auth_context, - grpc_closure* on_call_host_checked, - grpc_error_handle* error) override; - - void cancel_check_call_host(grpc_closure* on_call_host_checked, - grpc_error_handle error) override; - - tsi_ssl_client_handshaker_factory* ClientHandshakerFactoryForTesting() { - MutexLock lock(&mu_); - return client_handshaker_factory_; - }; - - absl::optional RootCertsForTesting() { - MutexLock lock(&mu_); - return pem_root_certs_; - } - - absl::optional KeyCertPairListForTesting() { - MutexLock lock(&mu_); - return pem_key_cert_pair_list_; - } - - private: - // A watcher that watches certificate updates from - // grpc_tls_certificate_distributor. It will never outlive - // |security_connector_|. - class TlsChannelCertificateWatcher : public grpc_tls_certificate_distributor:: - TlsCertificatesWatcherInterface { - public: - explicit TlsChannelCertificateWatcher( - TlsChannelSecurityConnector* security_connector) - : security_connector_(security_connector) {} - void OnCertificatesChanged( - absl::optional root_certs, - absl::optional key_cert_pairs) override; - void OnError(grpc_error_handle root_cert_error, - grpc_error_handle identity_cert_error) override; - - private: - TlsChannelSecurityConnector* security_connector_ = nullptr; - }; - - // Updates |client_handshaker_factory_| when the certificates that - // |certificate_watcher_| is watching get updated. - grpc_security_status UpdateHandshakerFactoryLocked() - ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_); - - // gRPC-provided callback executed by application, which servers to bring the - // control back to gRPC core. - static void ServerAuthorizationCheckDone( - grpc_tls_server_authorization_check_arg* arg); - - // A util function to process server authorization check result. - static grpc_error_handle ProcessServerAuthorizationCheckResult( - grpc_tls_server_authorization_check_arg* arg); - - // A util function to create a server authorization check arg instance. - static grpc_tls_server_authorization_check_arg* - ServerAuthorizationCheckArgCreate(void* user_data); - - // A util function to destroy a server authorization check arg instance. - static void ServerAuthorizationCheckArgDestroy( - grpc_tls_server_authorization_check_arg* arg); - - RefCountedPtr options_; - grpc_tls_certificate_distributor::TlsCertificatesWatcherInterface* - certificate_watcher_ = nullptr; - grpc_closure* on_peer_checked_ = nullptr; - std::string target_name_; - std::string overridden_target_name_; - grpc_tls_server_authorization_check_arg* check_arg_ = nullptr; - - Mutex mu_; - tsi_ssl_client_handshaker_factory* client_handshaker_factory_ - ABSL_GUARDED_BY(mu_) = nullptr; - tsi_ssl_session_cache* ssl_session_cache_ ABSL_GUARDED_BY(mu_) = nullptr; - absl::optional pem_root_certs_ ABSL_GUARDED_BY(mu_); - absl::optional pem_key_cert_pair_list_ - ABSL_GUARDED_BY(mu_); -}; - -// Server security connector using TLS as transport security protocol. -class TlsServerSecurityConnector final : public grpc_server_security_connector { - public: - // static factory method to create a TLS server security connector. - static RefCountedPtr - CreateTlsServerSecurityConnector( - RefCountedPtr server_creds, - RefCountedPtr options); - - TlsServerSecurityConnector( - RefCountedPtr server_creds, - RefCountedPtr options); - ~TlsServerSecurityConnector() override; - - void add_handshakers(const grpc_channel_args* args, - grpc_pollset_set* interested_parties, - HandshakeManager* handshake_mgr) override; - - void check_peer(tsi_peer peer, grpc_endpoint* ep, - RefCountedPtr* auth_context, - grpc_closure* on_peer_checked) override; - - void cancel_check_peer(grpc_closure* /*on_peer_checked*/, - grpc_error_handle error) override { - // TODO(ZhenLian): call verifier->cancel() once the verifier is ready. - GRPC_ERROR_UNREF(error); - } - - int cmp(const grpc_security_connector* other) const override; - - tsi_ssl_server_handshaker_factory* ServerHandshakerFactoryForTesting() { - MutexLock lock(&mu_); - return server_handshaker_factory_; - }; - - const absl::optional& RootCertsForTesting() { - MutexLock lock(&mu_); - return pem_root_certs_; - } - - const absl::optional& KeyCertPairListForTesting() { - MutexLock lock(&mu_); - return pem_key_cert_pair_list_; - } - - private: - // A watcher that watches certificate updates from - // grpc_tls_certificate_distributor. It will never outlive - // |security_connector_|. - class TlsServerCertificateWatcher : public grpc_tls_certificate_distributor:: - TlsCertificatesWatcherInterface { - public: - explicit TlsServerCertificateWatcher( - TlsServerSecurityConnector* security_connector) - : security_connector_(security_connector) {} - void OnCertificatesChanged( - absl::optional root_certs, - absl::optional key_cert_pairs) override; - void OnError(grpc_error_handle root_cert_error, - grpc_error_handle identity_cert_error) override; - - private: - TlsServerSecurityConnector* security_connector_ = nullptr; - }; - - // Updates |server_handshaker_factory_| when the certificates that - // |certificate_watcher_| is watching get updated. - grpc_security_status UpdateHandshakerFactoryLocked() - ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_); - - // gRPC-provided callback executed by application, which servers to bring the - // control back to gRPC core. - static void ClientAuthorizationCheckDone( - grpc_tls_server_authorization_check_arg* arg); - - // A util function to process server authorization check result. - static grpc_error_handle ProcessClientAuthorizationCheckResult( - grpc_tls_server_authorization_check_arg* arg); - - // A util function to create a server authorization check arg instance. - static grpc_tls_server_authorization_check_arg* - ClientAuthorizationCheckArgCreate(void* user_data); - - // A util function to destroy a server authorization check arg instance. - static void ClientAuthorizationCheckArgDestroy( - grpc_tls_server_authorization_check_arg* arg); - - RefCountedPtr options_; - - grpc_tls_certificate_distributor::TlsCertificatesWatcherInterface* - certificate_watcher_ = nullptr; - grpc_closure* on_peer_checked_ = nullptr; - std::string target_name_ = "localhost"; - std::string overridden_target_name_= "localhost"; - grpc_tls_server_authorization_check_arg* check_arg_ = nullptr; - - Mutex mu_; - tsi_ssl_server_handshaker_factory* server_handshaker_factory_ - ABSL_GUARDED_BY(mu_) = nullptr; - absl::optional pem_root_certs_ ABSL_GUARDED_BY(mu_); - absl::optional pem_key_cert_pair_list_ - ABSL_GUARDED_BY(mu_); -}; - -// ---- Functions below are exposed for testing only ----------------------- -namespace internal { - -// TlsCheckHostName checks if |peer_name| matches the identity information -// contained in |peer|. This is AKA hostname check. -grpc_error_handle TlsCheckHostName(const char* peer_name, const tsi_peer* peer); - -} // namespace internal - -} // namespace grpc_core - -#endif // GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_TLS_TLS_SECURITY_CONNECTOR_H diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_backends.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_backends.cc deleted file mode 100644 index 2ac4bff0..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_backends.cc +++ /dev/null @@ -1,260 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "sgx_ra_tls_backends.h" - -namespace grpc { -namespace sgx { - -struct ra_tls_context _ctx_; - -std::vector ra_tls_get_key_cert() { -#ifdef SGX_RA_TLS_OCCLUM_BACKEND - return occlum_get_key_cert(); -#endif -} - -static std::vector get_identity_key_cert_pairs( - std::vector key_cert) { - grpc::experimental::IdentityKeyCertPair key_cert_pair; - key_cert_pair.private_key = key_cert[0]; - key_cert_pair.certificate_chain = key_cert[1]; - std::vector identity_key_cert_pairs; - identity_key_cert_pairs.emplace_back(key_cert_pair); - return identity_key_cert_pairs; -} - -void credential_option_set_certificate_provider(grpc::sgx::CredentialsOptions& options) { - std::lock_guard lock(_ctx_.mtx); - - _ctx_.cache.id++; - - auto certificate_provider = _ctx_.cache.certificate_provider.insert({ - _ctx_.cache.id, - std::make_shared( - get_identity_key_cert_pairs(ra_tls_get_key_cert())) - }).first; - - options.set_certificate_provider(certificate_provider->second); - options.watch_identity_key_cert_pairs(); - options.set_cert_request_type(GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY); - options.set_root_cert_name(""); - options.set_identity_cert_name(""); -} - -static sgx_config parse_sgx_config_json(const char* file) { - class json_engine sgx_json(file); - struct sgx_config sgx_cfg; - - sgx_cfg.verify_mr_enclave = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_mr_enclave"), "on"); - sgx_cfg.verify_mr_signer = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_mr_signer"), "on"); - sgx_cfg.verify_isv_prod_id = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_isv_prod_id"), "on"); - sgx_cfg.verify_isv_svn = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_isv_svn"), "on"); - sgx_cfg.verify_config_svn = sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_config_svn"), "on"); - sgx_cfg.verify_enclave_debuggable = - sgx_json.compare_item(sgx_json.get_item(sgx_json.get_handle(), "verify_enclave_debuggable"), "on"); - - auto objs = sgx_json.get_item(sgx_json.get_handle(), "sgx_mrs"); - auto obj_num = std::min(cJSON_GetArraySize(objs), SGX_MESUREMENTS_MAX_SIZE); - - sgx_cfg.sgx_mrs = std::vector(obj_num, sgx_measurement()); - for (auto i = 0; i < obj_num; i++) { - auto obj = cJSON_GetArrayItem(objs, i); - - auto mr_enclave = sgx_json.print_item(sgx_json.get_item(obj, "mr_enclave")); - memset(sgx_cfg.sgx_mrs[i].mr_enclave, 0, sizeof(sgx_cfg.sgx_mrs[i].mr_enclave)); - hex_to_byte(mr_enclave+1, sgx_cfg.sgx_mrs[i].mr_enclave, sizeof(sgx_cfg.sgx_mrs[i].mr_enclave)); - - auto mr_signer = sgx_json.print_item(sgx_json.get_item(obj, "mr_signer")); - memset(sgx_cfg.sgx_mrs[i].mr_signer, 0, sizeof(sgx_cfg.sgx_mrs[i].mr_signer)); - hex_to_byte(mr_signer+1, sgx_cfg.sgx_mrs[i].mr_signer, sizeof(sgx_cfg.sgx_mrs[i].mr_signer)); - - auto isv_prod_id = sgx_json.print_item(sgx_json.get_item(obj, "isv_prod_id")); - sgx_cfg.sgx_mrs[i].isv_prod_id = strtoul(isv_prod_id, nullptr, 10); - - auto isv_svn = sgx_json.print_item(sgx_json.get_item(obj, "isv_svn")); - sgx_cfg.sgx_mrs[i].isv_svn = strtoul(isv_svn, nullptr, 10); - - auto config_svn = sgx_json.print_item(sgx_json.get_item(obj, "config_svn")); - sgx_cfg.sgx_mrs[i].config_svn = strtoul(config_svn, nullptr, 10); - - if (cJSON_IsTrue(sgx_json.get_item(obj, "debuggable")) == 0) - sgx_cfg.sgx_mrs[i].debuggable = false; - else - sgx_cfg.sgx_mrs[i].debuggable = true; - }; - return sgx_cfg; -} - -void ra_tls_parse_sgx_config(sgx_config sgx_cfg) { - std::lock_guard lock(_ctx_.mtx); - _ctx_.sgx_cfg = sgx_cfg; -} - -void ra_tls_parse_sgx_config(const char* file) { - ra_tls_parse_sgx_config(parse_sgx_config_json(file)); -} - -void ra_tls_verify_init() { - std::lock_guard lock(_ctx_.mtx); -} - -static bool verify_measurement_internal(const char* mr_enclave, const char* mr_signer, - const char* isv_prod_id, const char* isv_svn, - const char* config_svn, bool debuggable) { - bool status = false; - auto & sgx_cfg = _ctx_.sgx_cfg; - for (auto & obj : sgx_cfg.sgx_mrs) { - status = true; - - if (status && sgx_cfg.verify_mr_enclave && \ - memcmp(obj.mr_enclave, mr_enclave, 32)) { - status = false; - } - - if (status && sgx_cfg.verify_mr_signer && \ - memcmp(obj.mr_signer, mr_signer, 32)) { - status = false; - } - - if (status && sgx_cfg.verify_isv_prod_id && \ - (obj.isv_prod_id != *(uint16_t*)isv_prod_id)) { - status = false; - } - - if (status && sgx_cfg.verify_isv_svn && \ - (obj.isv_svn != *(uint16_t*)isv_svn)) { - status = false; - } - - if (status && sgx_cfg.verify_config_svn && \ - (obj.config_svn != *(uint16_t*)config_svn)) { - status = false; - } - - if (status && sgx_cfg.verify_enclave_debuggable && \ - (obj.debuggable != debuggable)) { - status = false; - } - - if (status) { - break; - } - } - return status; -} - -int verify_measurement(const char* mr_enclave, const char* mr_signer, - const char* isv_prod_id, const char* isv_svn, - const char* config_svn, bool debuggable) { - std::lock_guard lock(_ctx_.mtx); - bool status = false; - try { - assert(mr_enclave && mr_signer && isv_prod_id && isv_svn && config_svn); - status = verify_measurement_internal( - mr_enclave, mr_signer, isv_prod_id, isv_svn, config_svn, debuggable - ); - if (status) { - grpc_printf(" |- verify result : success\n"); - } else { - grpc_printf("Below remote sgx measurements is not in the allowable list.\n"); - grpc_printf(" |- mr_enclave : %s\n", byte_to_hex(mr_enclave, 32).c_str()); - grpc_printf(" |- mr_signer : %s\n", byte_to_hex(mr_signer, 32).c_str()); - grpc_printf(" |- isv_prod_id : %hu\n", *((uint16_t*)isv_prod_id)); - grpc_printf(" |- isv_svn : %hu\n", *((uint16_t*)isv_svn)); - grpc_printf(" |- config_svn : %hu\n", *((uint16_t*)config_svn)); - grpc_printf(" |- debuggable : %s\n", debuggable?"true":"false"); - grpc_printf(" |- verify result : failed\n"); - } - } catch (...) { - grpc_printf("unable to verify measurement!"); - } - - fflush(stdout); - return status ? 0 : -1; -} - -int TlsAuthorizationCheck::Schedule(grpc::experimental::TlsServerAuthorizationCheckArg* arg) { - GPR_ASSERT(arg != nullptr); - - char der_crt[16000] = ""; - auto peer_cert_buf = arg->peer_cert(); - peer_cert_buf.copy(der_crt, peer_cert_buf.length(), 0); - -#ifdef SGX_RA_TLS_OCCLUM_BACKEND - int ret = occlum_verify_cert((const unsigned char *)der_crt, 16000); -#endif - - if (ret != 0) { - grpc_printf("something went wrong while verifying quote\n"); - arg->set_success(0); - arg->set_status(GRPC_STATUS_UNAUTHENTICATED); - } else { - arg->set_success(1); - arg->set_status(GRPC_STATUS_OK); - } - return 0; -}; - -void TlsAuthorizationCheck::Cancel(grpc::experimental::TlsServerAuthorizationCheckArg* arg) { - GPR_ASSERT(arg != nullptr); - arg->set_status(GRPC_STATUS_PERMISSION_DENIED); - arg->set_error_details("cancelled"); -}; - -int ra_tls_auth_check_schedule(void* /* confiuser_data */, - grpc_tls_server_authorization_check_arg* arg) { - char der_crt[16000] = ""; - memcpy(der_crt, arg->peer_cert, strlen(arg->peer_cert)); - -#ifdef SGX_RA_TLS_OCCLUM_BACKEND - int ret = occlum_verify_cert((const unsigned char *)der_crt, 16000); -#endif - - if (ret != 0) { - grpc_printf("something went wrong while verifying quote\n"); - arg->success = 0; - arg->status = GRPC_STATUS_UNAUTHENTICATED; - } else { - arg->success = 1; - arg->status = GRPC_STATUS_OK; - } - return 0; -} - -void credential_option_set_authorization_check(grpc::sgx::CredentialsOptions& options) { - std::lock_guard lock(_ctx_.mtx); - - _ctx_.cache.id++; - - auto authorization_check = _ctx_.cache.authorization_check.insert({ - _ctx_.cache.id, std::make_shared() - }).first; - - auto authorization_check_config = _ctx_.cache.authorization_check_config.insert({ - _ctx_.cache.id, - std::make_shared( - authorization_check->second) - }).first; - - options.set_authorization_check_config(authorization_check_config->second); - options.set_verification_option(GRPC_TLS_SKIP_ALL_SERVER_VERIFICATION); -} - -} // namespace sgx -} // namespace grpc diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_backends.h b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_backends.h deleted file mode 100644 index 0c28518e..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_backends.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef SGX_RA_TLS_BACKENDS_H -#define SGX_RA_TLS_BACKENDS_H - -#include "sgx_ra_tls_utils.h" - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -// Set 1 for strict safety checks -#define SGX_MESUREMENTS_MAX_SIZE 16 - -namespace grpc { -namespace sgx { - -class TlsAuthorizationCheck - : public grpc::experimental::TlsServerAuthorizationCheckInterface { - int Schedule(grpc::experimental::TlsServerAuthorizationCheckArg* arg) override; - void Cancel(grpc::experimental::TlsServerAuthorizationCheckArg* arg) override; -}; - -struct sgx_measurement { - char mr_enclave[32]; - char mr_signer[32]; - uint16_t isv_prod_id; - uint16_t isv_svn; - uint16_t config_svn; - bool debuggable; -}; - -struct sgx_config { - bool verify_mr_enclave = true; - bool verify_mr_signer = true; - bool verify_isv_prod_id = true; - bool verify_isv_svn = true; - bool verify_config_svn = true; - bool verify_enclave_debuggable = true; - std::vector sgx_mrs; -}; - -struct ra_tls_cache { - int id = 0; - std::unordered_map< - int, std::shared_ptr - > certificate_provider; - std::unordered_map< - int, std::shared_ptr - > authorization_check; - std::unordered_map< - int, std::shared_ptr - > authorization_check_config; -}; - -struct ra_tls_context { - std::mutex mtx; - struct sgx_config sgx_cfg; - struct ra_tls_cache cache; -}; - -extern struct ra_tls_context _ctx_; - - -#ifdef SGX_RA_TLS_OCCLUM_BACKEND - -std::vector occlum_get_key_cert(); - -int occlum_verify_cert(const unsigned char * der_crt, size_t len); - -#endif // SGX_RA_TLS_OCCLUM_BACKEND - -void ra_tls_parse_sgx_config(sgx_config sgx_cfg); - -void ra_tls_parse_sgx_config(const char* file); - -void ra_tls_verify_init(); - -int verify_measurement(const char* mr_enclave, const char* mr_signer, - const char* isv_prod_id, const char* isv_svn, - const char* config_svn, bool debuggable); - -void credential_option_set_certificate_provider(grpc::sgx::CredentialsOptions& options); - -void credential_option_set_authorization_check(grpc::sgx::CredentialsOptions& options); - -} // namespace sgx -} // namespace grpc - -#endif // SGX_RA_TLS_BACKENDS_H diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_credentials.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_credentials.cc deleted file mode 100644 index c0acf5fb..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_credentials.cc +++ /dev/null @@ -1,98 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "sgx_ra_tls_backends.h" - -namespace grpc { -namespace sgx { - -/* -RA-TLS: on client, only need to register ra_tls_verify_callback() for cert verification - 1. extract SGX quote from "quote" OID extension from crt - 2. compare public key's hash from cert against quote's report_data - 3. prepare user-supplied verification parameter "allow outdated TCB" - 4. call into libsgx_dcap_quoteverify to verify ECDSA/based SGX quote - 5. verify all measurements from the SGX quote -*/ - -std::shared_ptr TlsCredentials(sgx_config sgx_cfg) { - grpc::sgx::CredentialsOptions options; - - ra_tls_parse_sgx_config(sgx_cfg); - - credential_option_set_certificate_provider(options); - - ra_tls_verify_init(); - credential_option_set_authorization_check(options); - - return grpc::experimental::TlsCredentials( - reinterpret_cast(options)); -}; - -std::shared_ptr TlsCredentials(const char* sgx_cfg_json) { - grpc::sgx::CredentialsOptions options; - - ra_tls_parse_sgx_config(sgx_cfg_json); - - credential_option_set_certificate_provider(options); - - ra_tls_verify_init(); - credential_option_set_authorization_check(options); - - return grpc::experimental::TlsCredentials( - reinterpret_cast(options)); -}; - -std::shared_ptr TlsServerCredentials(sgx_config sgx_cfg) { - grpc::sgx::CredentialsOptions options; - - ra_tls_parse_sgx_config(sgx_cfg); - - credential_option_set_certificate_provider(options); - - ra_tls_verify_init(); - credential_option_set_authorization_check(options); - - return grpc::experimental::TlsServerCredentials( - reinterpret_cast(options)); -}; - -std::shared_ptr TlsServerCredentials(const char* sgx_cfg_json) { - grpc::sgx::CredentialsOptions options; - - ra_tls_parse_sgx_config(sgx_cfg_json); - - credential_option_set_certificate_provider(options); - - ra_tls_verify_init(); - credential_option_set_authorization_check(options); - - return grpc::experimental::TlsServerCredentials( - reinterpret_cast(options)); -}; - -std::shared_ptr CreateSecureChannel( - string target_str, std::shared_ptr channel_creds) { - GPR_ASSERT(channel_creds.get() != nullptr); - auto channel_args = grpc::ChannelArguments(); - channel_args.SetSslTargetNameOverride("RATLS"); - return grpc::CreateCustomChannel(target_str, std::move(channel_creds), channel_args); -}; - -} // namespace sgx -} // namespace grpc diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_occlum.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_occlum.cc deleted file mode 100644 index ef0086ae..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_occlum.cc +++ /dev/null @@ -1,325 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "sgx_ra_tls_backends.h" - -namespace grpc { -namespace sgx { - -#ifdef SGX_RA_TLS_OCCLUM_BACKEND - -#include -#include -#include -#include -#include -#include -#include - -#include "sgx_quote_3.h" -#include "occlum_dcap.h" - -const char * RA_TLS_LONG_NAME = "RA-TLS Extension"; -const char * RA_TLS_SHORT_NAME = "RA-TLS"; - -std::vector occlum_get_key_cert() { - unsigned char private_key_pem[16000], cert_pem[16000]; - - BIGNUM * e = BN_new(); - BN_set_word(e, RSA_F4); - RSA * rsa = RSA_new(); - RSA_generate_key_ex(rsa, 2048, e, nullptr); - - EVP_PKEY * pkey = EVP_PKEY_new(); - EVP_PKEY_assign_RSA(pkey, rsa); - - X509 * x509 = X509_new(); - - ASN1_INTEGER_set(X509_get_serialNumber(x509), 1); - X509_gmtime_adj(X509_get_notBefore(x509), 0); - X509_gmtime_adj(X509_get_notAfter(x509), 630720000L); - X509_set_pubkey(x509, pkey); - - X509_NAME * name = X509_NAME_new(); - // X509_NAME * name = X509_get_subject_name(x509); - X509_NAME_add_entry_by_txt(name, "C", MBSTRING_ASC, - (unsigned char *)"CN", -1, -1, 0); - X509_NAME_add_entry_by_txt(name, "O", MBSTRING_ASC, - (unsigned char *)"Intel Inc.", -1, -1, 0); - X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, - (unsigned char *)"localhost", -1, -1, 0); - X509_set_subject_name(x509, name); - X509_set_issuer_name(x509, name); - - int32_t ret; - size_t key_len = i2d_PUBKEY(pkey, 0); - unsigned char *public_key = NULL; - // size_t pubkey_len = i2d_PUBKEY(pkey, &public_key); - size_t pubkey_len = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x509), &public_key); - - if (pubkey_len != key_len) { - grpc_printf("get public key failed!\n"); - } - - BIO *bio = BIO_new(BIO_s_mem()); - if (nullptr == bio) { - grpc_printf("create bio failed!\n"); - } - - ret = PEM_write_bio_RSAPrivateKey(bio, rsa, nullptr, nullptr, 0, nullptr, nullptr); - if (ret == 0) { - grpc_printf("write private key failed!\n"); - } - - ret = BIO_read(bio, private_key_pem, bio->num_write); - if (ret == 0) { - grpc_printf("read private key failed!\n"); - } - - unsigned char hash[SHA256_DIGEST_LENGTH]; - SHA256_CTX sha256; - SHA256_Init(&sha256); - SHA256_Update(&sha256, public_key, key_len); - SHA256_Final(hash, &sha256); - - void *handle; - uint32_t quote_size; - uint8_t *p_quote_buffer; - - handle = dcap_quote_open(); - quote_size = dcap_get_quote_size(handle); - - p_quote_buffer = (uint8_t*)malloc(quote_size); - if (nullptr == p_quote_buffer) { - grpc_printf("Couldn't allocate quote_buffer\n"); - } - memset(p_quote_buffer, 0, quote_size); - - sgx_report_data_t report_data = { 0 }; - memcpy(report_data.d, hash, SHA256_DIGEST_LENGTH); - - ret = dcap_generate_quote(handle, p_quote_buffer, &report_data); - if (0 != ret) { - grpc_printf( "Error in dcap_generate_quote.\n"); - } - - int nid = OBJ_create("1.2.840.113741.1", RA_TLS_SHORT_NAME, RA_TLS_LONG_NAME); - ASN1_OBJECT* obj = OBJ_nid2obj(nid); - ASN1_OCTET_STRING* data = ASN1_OCTET_STRING_new(); - ASN1_OCTET_STRING_set(data, p_quote_buffer, quote_size); - - X509_EXTENSION* ext = X509_EXTENSION_create_by_OBJ(nullptr, obj, 0, data); - X509_add_ext(x509, ext, -1); - - X509_sign(x509, pkey, EVP_sha1()); - - BIO *cert_bio = BIO_new(BIO_s_mem()); - if (nullptr == cert_bio) { - grpc_printf("create crt bio failed!\n"); - } - - if (0 == PEM_write_bio_X509(cert_bio, x509)) { - BIO_free(cert_bio); - grpc_printf("read crt bio failed!\n"); - } - - ret = BIO_read(cert_bio, cert_pem, cert_bio->num_write); - if (ret == 0) { - grpc_printf("read pem cert failed!\n"); - } - - BIO_free(bio); - BIO_free(cert_bio); - EVP_PKEY_free(pkey); - check_free(p_quote_buffer); - dcap_quote_close(handle); - - std::vector key_cert; - key_cert.emplace_back(std::string((char*) private_key_pem)); - key_cert.emplace_back(std::string((char*) cert_pem)); - return key_cert; -} - -static int occlum_get_quote(X509 *x509, uint8_t **quote, size_t *len) { - STACK_OF(X509_EXTENSION) *exts = x509->cert_info->extensions; - int ext_num; - int ret = -1; - if (exts) { - ext_num = sk_X509_EXTENSION_num(exts); - - for (int i = 0; i < ext_num; i++) { - X509_EXTENSION *ext = sk_X509_EXTENSION_value(exts, i); - ASN1_OBJECT *obj = X509_EXTENSION_get_object(ext); - - unsigned nid = OBJ_obj2nid(obj); - if (nid != NID_undef) { - const char *ln = OBJ_nid2ln(nid); - if (memcmp(RA_TLS_LONG_NAME, ln, sizeof(RA_TLS_LONG_NAME)) == 0) { - BIO *ext_bio = BIO_new(BIO_s_mem()); - - *len = i2d_ASN1_OCTET_STRING(ext->value, quote); - *quote = *quote + 4; - *len = *len - 4; - ret = 0; - BIO_free(ext_bio); - } - } - - } - } - - return ret; -} - -static int occlum_verify_pubkey_hash(X509 *x509, uint8_t *pubkey_hash, size_t len) { - EVP_PKEY *pkey = X509_get_pubkey(x509); - - int32_t ret; - size_t key_len = EVP_PKEY_bits(pkey)/8; - unsigned char *public_key = NULL; - - key_len = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x509), &public_key); - - unsigned char hash[SHA256_DIGEST_LENGTH]; - SHA256_CTX sha256; - SHA256_Init(&sha256); - SHA256_Update(&sha256, public_key, key_len); - SHA256_Final(hash, &sha256); - - ret = memcmp(hash, pubkey_hash, len); - return ret; -} - -static int occlum_verify_quote(uint8_t * quote_buffer, size_t quote_size) { - void *handle; - handle = dcap_quote_open(); - - uint32_t supplemental_size, ret; - uint8_t *p_supplemental_buffer; - sgx_ql_qv_result_t quote_verification_result = SGX_QL_QV_RESULT_UNSPECIFIED; - uint32_t collateral_expiration_status = 1; - - supplemental_size = dcap_get_supplemental_data_size(handle); - p_supplemental_buffer = (uint8_t *)malloc(supplemental_size); - if (NULL == p_supplemental_buffer) { - grpc_printf("Couldn't allocate supplemental buffer\n"); - } - memset(p_supplemental_buffer, 0, supplemental_size); - - ret = dcap_verify_quote( - handle, - quote_buffer, - quote_size, - &collateral_expiration_status, - "e_verification_result, - supplemental_size, - p_supplemental_buffer - ); - - if (0 != ret) { - grpc_printf( "Error in dcap_verify_quote.\n"); - } - - if (collateral_expiration_status != 0) { - grpc_printf("the verification collateral has expired\n"); - } - - switch (quote_verification_result) { - case SGX_QL_QV_RESULT_OK: - grpc_printf("Succeed to verify the quote!\n"); - break; - case SGX_QL_QV_RESULT_CONFIG_NEEDED: - case SGX_QL_QV_RESULT_OUT_OF_DATE: - case SGX_QL_QV_RESULT_OUT_OF_DATE_CONFIG_NEEDED: - case SGX_QL_QV_RESULT_SW_HARDENING_NEEDED: - case SGX_QL_QV_RESULT_CONFIG_AND_SW_HARDENING_NEEDED: - grpc_printf("WARN: App: Verification completed with Non-terminal result: %x\n", - quote_verification_result); - break; - case SGX_QL_QV_RESULT_INVALID_SIGNATURE: - case SGX_QL_QV_RESULT_REVOKED: - case SGX_QL_QV_RESULT_UNSPECIFIED: - default: - grpc_printf("\tError: App: Verification completed with Terminal result: %x\n", - quote_verification_result); - } - check_free(p_supplemental_buffer); - dcap_quote_close(handle); - return ret; -} - -int occlum_verify_cert(const unsigned char * der_crt, size_t len) { - BIO* bio = BIO_new(BIO_s_mem()); - BIO_write(bio, der_crt, strlen((const char *)der_crt)); - X509 *x509 = PEM_read_bio_X509(bio, NULL, NULL, NULL); - - if (x509 == nullptr) { - grpc_printf("parse the crt failed! \n"); - return -1; - } - - uint8_t * quote_buf = nullptr; - size_t quote_len = 0; - int ret = occlum_get_quote(x509, "e_buf, "e_len); - if (ret != 0) { - grpc_printf("parse quote failed!\n"); - return -1; - } - - ret = occlum_verify_quote(quote_buf, quote_len); - if (ret != 0) { - grpc_printf("verify quote failed!\n"); - return -1; - } - - sgx_quote3_t *p_quote = (sgx_quote3_t *)quote_buf; - sgx_report_body_t *p_rep_body = (sgx_report_body_t *)(&p_quote->report_body); - sgx_report_data_t *p_rep_data =(sgx_report_data_t *)(&p_rep_body->report_data); - uint8_t *pubkey_hash = p_rep_data->d; - - - ret = occlum_verify_pubkey_hash(x509, pubkey_hash, SHA256_DIGEST_LENGTH); - if (ret != 0) { - grpc_printf("verify the public key hash failed!\n"); - return -1; - } - - // Check if enclave is debuggable - bool debuggable = false; - if (p_rep_body->attributes.flags & SGX_FLAGS_DEBUG) - debuggable = true; - - ret = verify_measurement((const char *)&p_rep_body->mr_enclave, - (const char *)&p_rep_body->mr_signer, - (const char *)&p_rep_body->isv_prod_id, - (const char *)&p_rep_body->isv_svn, - (const char *)&p_rep_body->config_svn, - debuggable); - if (ret != 0) { - grpc_printf("verify the measurement failed!\n"); - return -1; - } - - BIO_free(bio); - return 0; -} - -#endif // SGX_RA_TLS_OCCLUM_BACKEND - -} // namespace sgx -} // namespace grpc diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_options.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_options.cc deleted file mode 100644 index c5a9fa49..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_options.cc +++ /dev/null @@ -1,55 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include -#include -#include - -#include "absl/container/inlined_vector.h" -#include "src/cpp/common/tls_credentials_options_util.h" - -namespace grpc { -namespace sgx { - -void CredentialsOptions::set_verification_option( - grpc_tls_server_verification_option server_verification_option) { - grpc_tls_credentials_options* options = c_credentials_options(); - GPR_ASSERT(options != nullptr); - grpc_tls_credentials_options_set_server_verification_option( - options, server_verification_option); -} - -void CredentialsOptions::set_authorization_check_config( - std::shared_ptr config) { - grpc_tls_credentials_options* options = c_credentials_options(); - GPR_ASSERT(options != nullptr); - if (config != nullptr) { - grpc_tls_credentials_options_set_server_authorization_check_config( - options, config->c_config()); - } -} - -void CredentialsOptions::set_cert_request_type( - grpc_ssl_client_certificate_request_type cert_request_type) { - grpc_tls_credentials_options* options = c_credentials_options(); - GPR_ASSERT(options != nullptr); - grpc_tls_credentials_options_set_cert_request_type(options, cert_request_type); -} - -} // namespace sgx -} // namespace grpc diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_utils.cc b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_utils.cc deleted file mode 100644 index 68c57bea..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_utils.cc +++ /dev/null @@ -1,169 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#include "sgx_ra_tls_utils.h" - -#include -#include -#include -#include - -namespace grpc { -namespace sgx { - -void check_free(void* ptr) { - if (ptr) { - free(ptr); - ptr = nullptr; - }; -} - -bool hex_to_byte(const char *src, char *dst, size_t dst_size) { - if (std::strlen(src) < dst_size*2) { - return false; - } else { - for (auto i = 0; i < dst_size; i++) { - if (!isxdigit(src[i*2]) || !isxdigit(src[i*2+1])) { - return false; - } else { - sscanf(src+i*2, "%02hhx", dst+i); - } - } - return true; - } -}; - -void byte_to_hex(const char *src, char *dst, size_t src_size) { - for (auto i = 0; i < src_size; i++) { - sprintf(dst+i*2, "%02hhx", src[i]); - } -}; - -std::string byte_to_hex(const char *src, size_t src_size) { - char dst[src_size*2]; - memset(dst, 0, sizeof(dst)); - byte_to_hex(src, dst, src_size); - return std::string(dst); -}; - -library_engine::library_engine() : handle(nullptr), error(nullptr) {}; - -library_engine::library_engine(const char* file, int mode) : handle(nullptr), error(nullptr) { - this->open(file, mode); -} - -library_engine::~library_engine() { - this->close(); -} - -void library_engine::open(const char* file, int mode) { - this->close(); - handle = dlopen(file, mode); - error = dlerror(); - if (error != nullptr || handle == nullptr) { - throw std::runtime_error("dlopen " + std::string(file) + " error, " + std::string(error)); - } -} - -void library_engine::close() { - if (handle) { - dlclose(handle); - } - handle = nullptr; - error = nullptr; -} - -void* library_engine::get_func(const char* name) { - auto func = dlsym(handle, name); - error = dlerror(); - if (error != nullptr || func == nullptr) { - throw std::runtime_error("dlsym " + std::string(name) + " error, " + std::string(error)); - return nullptr; - } else { - return func; - } -} - -void* library_engine::get_handle() { - return handle; -} - -json_engine::json_engine() : handle(nullptr) {}; - -json_engine::json_engine(const char* file) : handle(nullptr){ - this->open(file); -} - -json_engine::~json_engine() { - this->close(); -} - -bool json_engine::open(const char* file) { - if (!file) { - grpc_printf("wrong json file path\n"); - return false; - } - - this->close(); - - auto file_ptr = fopen(file, "r"); - fseek(file_ptr, 0, SEEK_END); - auto length = ftell(file_ptr); - fseek(file_ptr, 0, SEEK_SET); - auto buffer = malloc(length); - fread(buffer, 1, length, file_ptr); - fclose(file_ptr); - - this->handle = cJSON_Parse((const char *)buffer); - - check_free(buffer); - - if (this->handle) { - return true; - } else { - grpc_printf("cjson open %s error: %s", file, cJSON_GetErrorPtr()); - return false; - } -} - -void json_engine::close() { - if (this->handle) { - cJSON_Delete(this->handle); - this->handle = nullptr; - } -} - -cJSON* json_engine::get_handle() { - return this->handle; -} - -cJSON* json_engine::get_item(cJSON* obj, const char* item) { - return cJSON_GetObjectItem(obj, item); -}; - -char* json_engine::print_item(cJSON* obj) { - return cJSON_Print(obj); -}; - -bool json_engine::compare_item(cJSON* obj, const char* item) { - auto obj_item = this->print_item(obj); - return strncmp(obj_item+1, item, std::min(strlen(item), strlen(obj_item)-2)) == 0; -}; - -} // namespace sgx -} // namespace grpc diff --git a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_utils.h b/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_utils.h deleted file mode 100644 index 35bfde93..00000000 --- a/tools/toolchains/grpc_ratls/ra_tls/grpc/v1.38.1/src/cpp/sgx/sgx_ra_tls_utils.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * - * Copyright (c) 2022 Intel Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#ifndef SGX_RA_TLS_UTILS_H -#define SGX_RA_TLS_UTILS_H - -#include -#include -#include -#include - -#define grpc_printf printf -#define grpc_fprintf fprintf - -#include - -namespace grpc { -namespace sgx { - - -class library_engine { - public: - library_engine(); - - library_engine(const char*, int); - - ~library_engine(); - - void open(const char*, int); - - void close(); - - void* get_func(const char*); - - void* get_handle(); - - private: - void* handle; - char* error; -}; - -void check_free(void* ptr); - -bool hex_to_byte(const char* src, char* dst, size_t dst_size); - -void byte_to_hex(const char* src, char* dst, size_t src_size); - -std::string byte_to_hex(const char* src, size_t src_size); - -} // namespace sgx -} // namespace grpc - -#endif // SGX_RA_TLS_UTILS_H