| From b1df2db4f37a6ca3586d235dd919028486e0f094 Mon Sep 17 00:00:00 2001 |
| From: Tamas Berghammer <tberghammer@google.com> |
| Date: Fri, 29 Apr 2016 11:17:51 +0100 |
| Subject: [PATCH] Add a cmake based build system to support android |
| |
| --- |
| CMakeLists.txt | 710 ++++++++++++++++++++++++++++++ |
| include/grpc++/impl/codegen/config.h | 6 + |
| include/grpc/impl/codegen/port_platform.h | 4 + |
| templates/CMakeLists.txt.template | 129 ++++++ |
| 4 files changed, 849 insertions(+) |
| create mode 100644 CMakeLists.txt |
| create mode 100644 templates/CMakeLists.txt.template |
| |
| diff --git a/CMakeLists.txt b/CMakeLists.txt |
| new file mode 100644 |
| index 0000000..7d98f58 |
| --- /dev/null |
| +++ b/CMakeLists.txt |
| @@ -0,0 +1,710 @@ |
| +# 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, Google Inc. |
| +# All rights reserved. |
| +# |
| +# Redistribution and use in source and binary forms, with or without |
| +# modification, are permitted provided that the following conditions are |
| +# met: |
| +# |
| +# * Redistributions of source code must retain the above copyright |
| +# notice, this list of conditions and the following disclaimer. |
| +# * Redistributions in binary form must reproduce the above |
| +# copyright notice, this list of conditions and the following disclaimer |
| +# in the documentation and/or other materials provided with the |
| +# distribution. |
| +# * Neither the name of Google Inc. nor the names of its |
| +# contributors may be used to endorse or promote products derived from |
| +# this software without specific prior written permission. |
| +# |
| +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| + |
| + |
| + |
| +cmake_minimum_required(VERSION 2.8) |
| + |
| +if (NOT BORINGSSL_ROOT_DIR) |
| + set(BORINGSSL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/boringssl) |
| +endif() |
| +if (NOT PROTOBUF_ROOT_DIR) |
| + set(PROTOBUF_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf) |
| +endif() |
| +if (NOT ZLIB_ROOT_DIR) |
| + set(ZLIB_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/zlib) |
| +endif() |
| + |
| +set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) |
| +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11") |
| +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
| + |
| +add_subdirectory(${BORINGSSL_ROOT_DIR} third_party/boringssl) |
| +add_subdirectory(${PROTOBUF_ROOT_DIR}/cmake third_party/protobuf) |
| +add_subdirectory(${ZLIB_ROOT_DIR} third_party/zlib) |
| + |
| + |
| +add_library(gpr |
| + src/core/lib/profiling/basic_timers.c |
| + src/core/lib/profiling/stap_timers.c |
| + src/core/lib/support/alloc.c |
| + src/core/lib/support/avl.c |
| + src/core/lib/support/backoff.c |
| + src/core/lib/support/cmdline.c |
| + src/core/lib/support/cpu_iphone.c |
| + src/core/lib/support/cpu_linux.c |
| + src/core/lib/support/cpu_posix.c |
| + src/core/lib/support/cpu_windows.c |
| + src/core/lib/support/env_linux.c |
| + src/core/lib/support/env_posix.c |
| + src/core/lib/support/env_win32.c |
| + src/core/lib/support/histogram.c |
| + src/core/lib/support/host_port.c |
| + src/core/lib/support/load_file.c |
| + src/core/lib/support/log.c |
| + src/core/lib/support/log_android.c |
| + src/core/lib/support/log_linux.c |
| + src/core/lib/support/log_posix.c |
| + src/core/lib/support/log_win32.c |
| + src/core/lib/support/murmur_hash.c |
| + src/core/lib/support/slice.c |
| + src/core/lib/support/slice_buffer.c |
| + src/core/lib/support/stack_lockfree.c |
| + src/core/lib/support/string.c |
| + src/core/lib/support/string_posix.c |
| + src/core/lib/support/string_util_win32.c |
| + src/core/lib/support/string_win32.c |
| + src/core/lib/support/subprocess_posix.c |
| + src/core/lib/support/subprocess_windows.c |
| + src/core/lib/support/sync.c |
| + src/core/lib/support/sync_posix.c |
| + src/core/lib/support/sync_win32.c |
| + src/core/lib/support/thd.c |
| + src/core/lib/support/thd_posix.c |
| + src/core/lib/support/thd_win32.c |
| + src/core/lib/support/time.c |
| + src/core/lib/support/time_posix.c |
| + src/core/lib/support/time_precise.c |
| + src/core/lib/support/time_win32.c |
| + src/core/lib/support/tls_pthread.c |
| + src/core/lib/support/tmpfile_msys.c |
| + src/core/lib/support/tmpfile_posix.c |
| + src/core/lib/support/tmpfile_win32.c |
| + src/core/lib/support/wrap_memcpy.c |
| +) |
| + |
| +target_include_directories(gpr |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| + |
| + |
| +add_library(grpc |
| + src/core/lib/surface/init.c |
| + src/core/lib/channel/channel_args.c |
| + src/core/lib/channel/channel_stack.c |
| + src/core/lib/channel/channel_stack_builder.c |
| + src/core/lib/channel/compress_filter.c |
| + src/core/lib/channel/connected_channel.c |
| + src/core/lib/channel/http_client_filter.c |
| + src/core/lib/channel/http_server_filter.c |
| + src/core/lib/compression/compression_algorithm.c |
| + src/core/lib/compression/message_compress.c |
| + src/core/lib/debug/trace.c |
| + src/core/lib/http/format_request.c |
| + src/core/lib/http/httpcli.c |
| + src/core/lib/http/parser.c |
| + src/core/lib/iomgr/closure.c |
| + src/core/lib/iomgr/endpoint.c |
| + src/core/lib/iomgr/endpoint_pair_posix.c |
| + src/core/lib/iomgr/endpoint_pair_windows.c |
| + src/core/lib/iomgr/ev_poll_and_epoll_posix.c |
| + src/core/lib/iomgr/ev_posix.c |
| + src/core/lib/iomgr/exec_ctx.c |
| + src/core/lib/iomgr/executor.c |
| + src/core/lib/iomgr/iocp_windows.c |
| + src/core/lib/iomgr/iomgr.c |
| + src/core/lib/iomgr/iomgr_posix.c |
| + src/core/lib/iomgr/iomgr_windows.c |
| + src/core/lib/iomgr/pollset_set_windows.c |
| + src/core/lib/iomgr/pollset_windows.c |
| + src/core/lib/iomgr/resolve_address_posix.c |
| + src/core/lib/iomgr/resolve_address_windows.c |
| + src/core/lib/iomgr/sockaddr_utils.c |
| + src/core/lib/iomgr/socket_utils_common_posix.c |
| + src/core/lib/iomgr/socket_utils_linux.c |
| + src/core/lib/iomgr/socket_utils_posix.c |
| + src/core/lib/iomgr/socket_windows.c |
| + src/core/lib/iomgr/tcp_client_posix.c |
| + src/core/lib/iomgr/tcp_client_windows.c |
| + src/core/lib/iomgr/tcp_posix.c |
| + src/core/lib/iomgr/tcp_server_posix.c |
| + src/core/lib/iomgr/tcp_server_windows.c |
| + src/core/lib/iomgr/tcp_windows.c |
| + src/core/lib/iomgr/time_averaged_stats.c |
| + src/core/lib/iomgr/timer.c |
| + src/core/lib/iomgr/timer_heap.c |
| + src/core/lib/iomgr/udp_server.c |
| + src/core/lib/iomgr/unix_sockets_posix.c |
| + src/core/lib/iomgr/unix_sockets_posix_noop.c |
| + src/core/lib/iomgr/wakeup_fd_eventfd.c |
| + src/core/lib/iomgr/wakeup_fd_nospecial.c |
| + src/core/lib/iomgr/wakeup_fd_pipe.c |
| + src/core/lib/iomgr/wakeup_fd_posix.c |
| + src/core/lib/iomgr/workqueue_posix.c |
| + src/core/lib/iomgr/workqueue_windows.c |
| + src/core/lib/json/json.c |
| + src/core/lib/json/json_reader.c |
| + src/core/lib/json/json_string.c |
| + src/core/lib/json/json_writer.c |
| + src/core/lib/surface/alarm.c |
| + src/core/lib/surface/api_trace.c |
| + src/core/lib/surface/byte_buffer.c |
| + src/core/lib/surface/byte_buffer_reader.c |
| + src/core/lib/surface/call.c |
| + src/core/lib/surface/call_details.c |
| + src/core/lib/surface/call_log_batch.c |
| + src/core/lib/surface/channel.c |
| + src/core/lib/surface/channel_init.c |
| + src/core/lib/surface/channel_ping.c |
| + src/core/lib/surface/channel_stack_type.c |
| + src/core/lib/surface/completion_queue.c |
| + src/core/lib/surface/event_string.c |
| + src/core/lib/surface/lame_client.c |
| + src/core/lib/surface/metadata_array.c |
| + src/core/lib/surface/server.c |
| + src/core/lib/surface/validate_metadata.c |
| + src/core/lib/surface/version.c |
| + src/core/lib/transport/byte_stream.c |
| + src/core/lib/transport/connectivity_state.c |
| + src/core/lib/transport/metadata.c |
| + src/core/lib/transport/metadata_batch.c |
| + src/core/lib/transport/static_metadata.c |
| + src/core/lib/transport/transport.c |
| + src/core/lib/transport/transport_op_string.c |
| + src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c |
| + src/core/ext/transport/chttp2/transport/bin_encoder.c |
| + src/core/ext/transport/chttp2/transport/chttp2_plugin.c |
| + src/core/ext/transport/chttp2/transport/chttp2_transport.c |
| + src/core/ext/transport/chttp2/transport/frame_data.c |
| + src/core/ext/transport/chttp2/transport/frame_goaway.c |
| + src/core/ext/transport/chttp2/transport/frame_ping.c |
| + src/core/ext/transport/chttp2/transport/frame_rst_stream.c |
| + src/core/ext/transport/chttp2/transport/frame_settings.c |
| + src/core/ext/transport/chttp2/transport/frame_window_update.c |
| + src/core/ext/transport/chttp2/transport/hpack_encoder.c |
| + src/core/ext/transport/chttp2/transport/hpack_parser.c |
| + src/core/ext/transport/chttp2/transport/hpack_table.c |
| + src/core/ext/transport/chttp2/transport/huffsyms.c |
| + src/core/ext/transport/chttp2/transport/incoming_metadata.c |
| + src/core/ext/transport/chttp2/transport/parsing.c |
| + src/core/ext/transport/chttp2/transport/status_conversion.c |
| + src/core/ext/transport/chttp2/transport/stream_lists.c |
| + src/core/ext/transport/chttp2/transport/stream_map.c |
| + src/core/ext/transport/chttp2/transport/timeout_encoding.c |
| + src/core/ext/transport/chttp2/transport/varint.c |
| + src/core/ext/transport/chttp2/transport/writing.c |
| + src/core/ext/transport/chttp2/alpn/alpn.c |
| + src/core/lib/http/httpcli_security_connector.c |
| + src/core/lib/security/b64.c |
| + src/core/lib/security/client_auth_filter.c |
| + src/core/lib/security/credentials.c |
| + src/core/lib/security/credentials_metadata.c |
| + src/core/lib/security/credentials_posix.c |
| + src/core/lib/security/credentials_win32.c |
| + src/core/lib/security/google_default_credentials.c |
| + src/core/lib/security/handshake.c |
| + src/core/lib/security/json_token.c |
| + src/core/lib/security/jwt_verifier.c |
| + src/core/lib/security/secure_endpoint.c |
| + src/core/lib/security/security_connector.c |
| + src/core/lib/security/security_context.c |
| + src/core/lib/security/server_auth_filter.c |
| + src/core/lib/surface/init_secure.c |
| + src/core/lib/tsi/fake_transport_security.c |
| + src/core/lib/tsi/ssl_transport_security.c |
| + src/core/lib/tsi/transport_security.c |
| + src/core/ext/transport/chttp2/client/secure/secure_channel_create.c |
| + src/core/ext/client_config/channel_connectivity.c |
| + src/core/ext/client_config/client_channel.c |
| + src/core/ext/client_config/client_channel_factory.c |
| + src/core/ext/client_config/client_config.c |
| + src/core/ext/client_config/client_config_plugin.c |
| + src/core/ext/client_config/connector.c |
| + src/core/ext/client_config/default_initial_connect_string.c |
| + src/core/ext/client_config/initial_connect_string.c |
| + src/core/ext/client_config/lb_policy.c |
| + src/core/ext/client_config/lb_policy_factory.c |
| + src/core/ext/client_config/lb_policy_registry.c |
| + src/core/ext/client_config/parse_address.c |
| + src/core/ext/client_config/resolver.c |
| + src/core/ext/client_config/resolver_factory.c |
| + src/core/ext/client_config/resolver_registry.c |
| + src/core/ext/client_config/subchannel.c |
| + src/core/ext/client_config/subchannel_call_holder.c |
| + src/core/ext/client_config/subchannel_index.c |
| + src/core/ext/client_config/uri_parser.c |
| + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c |
| + src/core/ext/transport/chttp2/client/insecure/channel_create.c |
| + src/core/ext/lb_policy/grpclb/load_balancer_api.c |
| + src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c |
| + third_party/nanopb/pb_common.c |
| + third_party/nanopb/pb_decode.c |
| + third_party/nanopb/pb_encode.c |
| + src/core/ext/lb_policy/pick_first/pick_first.c |
| + src/core/ext/lb_policy/round_robin/round_robin.c |
| + src/core/ext/resolver/dns/native/dns_resolver.c |
| + src/core/ext/resolver/sockaddr/sockaddr_resolver.c |
| + src/core/ext/census/context.c |
| + src/core/ext/census/grpc_context.c |
| + src/core/ext/census/grpc_filter.c |
| + src/core/ext/census/grpc_plugin.c |
| + src/core/ext/census/initialize.c |
| + src/core/ext/census/mlog.c |
| + src/core/ext/census/operation.c |
| + src/core/ext/census/placeholders.c |
| + src/core/ext/census/tracing.c |
| + src/core/plugin_registry/grpc_plugin_registry.c |
| +) |
| + |
| +target_include_directories(grpc |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc |
| + ssl |
| + gpr |
| +) |
| + |
| + |
| +add_library(grpc_unsecure |
| + src/core/lib/surface/init.c |
| + src/core/lib/surface/init_unsecure.c |
| + src/core/lib/channel/channel_args.c |
| + src/core/lib/channel/channel_stack.c |
| + src/core/lib/channel/channel_stack_builder.c |
| + src/core/lib/channel/compress_filter.c |
| + src/core/lib/channel/connected_channel.c |
| + src/core/lib/channel/http_client_filter.c |
| + src/core/lib/channel/http_server_filter.c |
| + src/core/lib/compression/compression_algorithm.c |
| + src/core/lib/compression/message_compress.c |
| + src/core/lib/debug/trace.c |
| + src/core/lib/http/format_request.c |
| + src/core/lib/http/httpcli.c |
| + src/core/lib/http/parser.c |
| + src/core/lib/iomgr/closure.c |
| + src/core/lib/iomgr/endpoint.c |
| + src/core/lib/iomgr/endpoint_pair_posix.c |
| + src/core/lib/iomgr/endpoint_pair_windows.c |
| + src/core/lib/iomgr/ev_poll_and_epoll_posix.c |
| + src/core/lib/iomgr/ev_posix.c |
| + src/core/lib/iomgr/exec_ctx.c |
| + src/core/lib/iomgr/executor.c |
| + src/core/lib/iomgr/iocp_windows.c |
| + src/core/lib/iomgr/iomgr.c |
| + src/core/lib/iomgr/iomgr_posix.c |
| + src/core/lib/iomgr/iomgr_windows.c |
| + src/core/lib/iomgr/pollset_set_windows.c |
| + src/core/lib/iomgr/pollset_windows.c |
| + src/core/lib/iomgr/resolve_address_posix.c |
| + src/core/lib/iomgr/resolve_address_windows.c |
| + src/core/lib/iomgr/sockaddr_utils.c |
| + src/core/lib/iomgr/socket_utils_common_posix.c |
| + src/core/lib/iomgr/socket_utils_linux.c |
| + src/core/lib/iomgr/socket_utils_posix.c |
| + src/core/lib/iomgr/socket_windows.c |
| + src/core/lib/iomgr/tcp_client_posix.c |
| + src/core/lib/iomgr/tcp_client_windows.c |
| + src/core/lib/iomgr/tcp_posix.c |
| + src/core/lib/iomgr/tcp_server_posix.c |
| + src/core/lib/iomgr/tcp_server_windows.c |
| + src/core/lib/iomgr/tcp_windows.c |
| + src/core/lib/iomgr/time_averaged_stats.c |
| + src/core/lib/iomgr/timer.c |
| + src/core/lib/iomgr/timer_heap.c |
| + src/core/lib/iomgr/udp_server.c |
| + src/core/lib/iomgr/unix_sockets_posix.c |
| + src/core/lib/iomgr/unix_sockets_posix_noop.c |
| + src/core/lib/iomgr/wakeup_fd_eventfd.c |
| + src/core/lib/iomgr/wakeup_fd_nospecial.c |
| + src/core/lib/iomgr/wakeup_fd_pipe.c |
| + src/core/lib/iomgr/wakeup_fd_posix.c |
| + src/core/lib/iomgr/workqueue_posix.c |
| + src/core/lib/iomgr/workqueue_windows.c |
| + src/core/lib/json/json.c |
| + src/core/lib/json/json_reader.c |
| + src/core/lib/json/json_string.c |
| + src/core/lib/json/json_writer.c |
| + src/core/lib/surface/alarm.c |
| + src/core/lib/surface/api_trace.c |
| + src/core/lib/surface/byte_buffer.c |
| + src/core/lib/surface/byte_buffer_reader.c |
| + src/core/lib/surface/call.c |
| + src/core/lib/surface/call_details.c |
| + src/core/lib/surface/call_log_batch.c |
| + src/core/lib/surface/channel.c |
| + src/core/lib/surface/channel_init.c |
| + src/core/lib/surface/channel_ping.c |
| + src/core/lib/surface/channel_stack_type.c |
| + src/core/lib/surface/completion_queue.c |
| + src/core/lib/surface/event_string.c |
| + src/core/lib/surface/lame_client.c |
| + src/core/lib/surface/metadata_array.c |
| + src/core/lib/surface/server.c |
| + src/core/lib/surface/validate_metadata.c |
| + src/core/lib/surface/version.c |
| + src/core/lib/transport/byte_stream.c |
| + src/core/lib/transport/connectivity_state.c |
| + src/core/lib/transport/metadata.c |
| + src/core/lib/transport/metadata_batch.c |
| + src/core/lib/transport/static_metadata.c |
| + src/core/lib/transport/transport.c |
| + src/core/lib/transport/transport_op_string.c |
| + src/core/ext/transport/chttp2/server/insecure/server_chttp2.c |
| + src/core/ext/transport/chttp2/transport/bin_encoder.c |
| + src/core/ext/transport/chttp2/transport/chttp2_plugin.c |
| + src/core/ext/transport/chttp2/transport/chttp2_transport.c |
| + src/core/ext/transport/chttp2/transport/frame_data.c |
| + src/core/ext/transport/chttp2/transport/frame_goaway.c |
| + src/core/ext/transport/chttp2/transport/frame_ping.c |
| + src/core/ext/transport/chttp2/transport/frame_rst_stream.c |
| + src/core/ext/transport/chttp2/transport/frame_settings.c |
| + src/core/ext/transport/chttp2/transport/frame_window_update.c |
| + src/core/ext/transport/chttp2/transport/hpack_encoder.c |
| + src/core/ext/transport/chttp2/transport/hpack_parser.c |
| + src/core/ext/transport/chttp2/transport/hpack_table.c |
| + src/core/ext/transport/chttp2/transport/huffsyms.c |
| + src/core/ext/transport/chttp2/transport/incoming_metadata.c |
| + src/core/ext/transport/chttp2/transport/parsing.c |
| + src/core/ext/transport/chttp2/transport/status_conversion.c |
| + src/core/ext/transport/chttp2/transport/stream_lists.c |
| + src/core/ext/transport/chttp2/transport/stream_map.c |
| + src/core/ext/transport/chttp2/transport/timeout_encoding.c |
| + src/core/ext/transport/chttp2/transport/varint.c |
| + src/core/ext/transport/chttp2/transport/writing.c |
| + src/core/ext/transport/chttp2/alpn/alpn.c |
| + src/core/ext/transport/chttp2/client/insecure/channel_create.c |
| + src/core/ext/client_config/channel_connectivity.c |
| + src/core/ext/client_config/client_channel.c |
| + src/core/ext/client_config/client_channel_factory.c |
| + src/core/ext/client_config/client_config.c |
| + src/core/ext/client_config/client_config_plugin.c |
| + src/core/ext/client_config/connector.c |
| + src/core/ext/client_config/default_initial_connect_string.c |
| + src/core/ext/client_config/initial_connect_string.c |
| + src/core/ext/client_config/lb_policy.c |
| + src/core/ext/client_config/lb_policy_factory.c |
| + src/core/ext/client_config/lb_policy_registry.c |
| + src/core/ext/client_config/parse_address.c |
| + src/core/ext/client_config/resolver.c |
| + src/core/ext/client_config/resolver_factory.c |
| + src/core/ext/client_config/resolver_registry.c |
| + src/core/ext/client_config/subchannel.c |
| + src/core/ext/client_config/subchannel_call_holder.c |
| + src/core/ext/client_config/subchannel_index.c |
| + src/core/ext/client_config/uri_parser.c |
| + src/core/ext/resolver/dns/native/dns_resolver.c |
| + src/core/ext/resolver/sockaddr/sockaddr_resolver.c |
| + src/core/ext/lb_policy/grpclb/load_balancer_api.c |
| + src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0/load_balancer.pb.c |
| + third_party/nanopb/pb_common.c |
| + third_party/nanopb/pb_decode.c |
| + third_party/nanopb/pb_encode.c |
| + src/core/ext/lb_policy/pick_first/pick_first.c |
| + src/core/ext/lb_policy/round_robin/round_robin.c |
| + src/core/ext/census/context.c |
| + src/core/ext/census/grpc_context.c |
| + src/core/ext/census/grpc_filter.c |
| + src/core/ext/census/grpc_plugin.c |
| + src/core/ext/census/initialize.c |
| + src/core/ext/census/mlog.c |
| + src/core/ext/census/operation.c |
| + src/core/ext/census/placeholders.c |
| + src/core/ext/census/tracing.c |
| + src/core/plugin_registry/grpc_unsecure_plugin_registry.c |
| +) |
| + |
| +target_include_directories(grpc_unsecure |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_unsecure |
| + gpr |
| +) |
| + |
| + |
| +add_library(grpc_zookeeper |
| + src/core/ext/resolver/zookeeper/zookeeper_resolver.c |
| +) |
| + |
| +target_include_directories(grpc_zookeeper |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_zookeeper |
| + gpr |
| + grpc |
| +) |
| + |
| + |
| +add_library(grpc++ |
| + src/cpp/client/secure_credentials.cc |
| + src/cpp/common/auth_property_iterator.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/server/secure_server_credentials.cc |
| + src/cpp/client/channel.cc |
| + src/cpp/client/client_context.cc |
| + src/cpp/client/create_channel.cc |
| + src/cpp/client/create_channel_internal.cc |
| + src/cpp/client/credentials.cc |
| + src/cpp/client/generic_stub.cc |
| + src/cpp/client/insecure_credentials.cc |
| + src/cpp/common/channel_arguments.cc |
| + src/cpp/common/completion_queue.cc |
| + src/cpp/common/core_codegen.cc |
| + src/cpp/common/rpc_method.cc |
| + src/cpp/server/async_generic_service.cc |
| + src/cpp/server/create_default_thread_pool.cc |
| + src/cpp/server/dynamic_thread_pool.cc |
| + src/cpp/server/insecure_server_credentials.cc |
| + src/cpp/server/server.cc |
| + src/cpp/server/server_builder.cc |
| + src/cpp/server/server_context.cc |
| + src/cpp/server/server_credentials.cc |
| + src/cpp/util/byte_buffer.cc |
| + src/cpp/util/slice.cc |
| + src/cpp/util/status.cc |
| + src/cpp/util/string_ref.cc |
| + src/cpp/util/time.cc |
| + src/cpp/codegen/codegen_init.cc |
| +) |
| + |
| +target_include_directories(grpc++ |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc++ |
| + ssl |
| + libprotobuf |
| + grpc |
| +) |
| + |
| + |
| +add_library(grpc++_unsecure |
| + src/cpp/common/insecure_create_auth_context.cc |
| + src/cpp/client/channel.cc |
| + src/cpp/client/client_context.cc |
| + src/cpp/client/create_channel.cc |
| + src/cpp/client/create_channel_internal.cc |
| + src/cpp/client/credentials.cc |
| + src/cpp/client/generic_stub.cc |
| + src/cpp/client/insecure_credentials.cc |
| + src/cpp/common/channel_arguments.cc |
| + src/cpp/common/completion_queue.cc |
| + src/cpp/common/core_codegen.cc |
| + src/cpp/common/rpc_method.cc |
| + src/cpp/server/async_generic_service.cc |
| + src/cpp/server/create_default_thread_pool.cc |
| + src/cpp/server/dynamic_thread_pool.cc |
| + src/cpp/server/insecure_server_credentials.cc |
| + src/cpp/server/server.cc |
| + src/cpp/server/server_builder.cc |
| + src/cpp/server/server_context.cc |
| + src/cpp/server/server_credentials.cc |
| + src/cpp/util/byte_buffer.cc |
| + src/cpp/util/slice.cc |
| + src/cpp/util/status.cc |
| + src/cpp/util/string_ref.cc |
| + src/cpp/util/time.cc |
| + src/cpp/codegen/codegen_init.cc |
| +) |
| + |
| +target_include_directories(grpc++_unsecure |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc++_unsecure |
| + libprotobuf |
| + gpr |
| + grpc_unsecure |
| + grpc |
| +) |
| + |
| + |
| +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/python_generator.cc |
| + src/compiler/ruby_generator.cc |
| +) |
| + |
| +target_include_directories(grpc_plugin_support |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_plugin_support |
| + libprotoc |
| +) |
| + |
| + |
| +add_library(grpc_csharp_ext |
| + src/csharp/ext/grpc_csharp_ext.c |
| +) |
| + |
| +target_include_directories(grpc_csharp_ext |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_csharp_ext |
| + grpc |
| + gpr |
| +) |
| + |
| + |
| + |
| +add_executable(grpc_cpp_plugin |
| + src/compiler/cpp_plugin.cc |
| +) |
| + |
| +target_include_directories(grpc_cpp_plugin |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_cpp_plugin |
| + libprotoc |
| + grpc_plugin_support |
| +) |
| + |
| + |
| +add_executable(grpc_csharp_plugin |
| + src/compiler/csharp_plugin.cc |
| +) |
| + |
| +target_include_directories(grpc_csharp_plugin |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_csharp_plugin |
| + libprotoc |
| + grpc_plugin_support |
| +) |
| + |
| + |
| +add_executable(grpc_node_plugin |
| + src/compiler/node_plugin.cc |
| +) |
| + |
| +target_include_directories(grpc_node_plugin |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_node_plugin |
| + libprotoc |
| + grpc_plugin_support |
| +) |
| + |
| + |
| +add_executable(grpc_objective_c_plugin |
| + src/compiler/objective_c_plugin.cc |
| +) |
| + |
| +target_include_directories(grpc_objective_c_plugin |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_objective_c_plugin |
| + libprotoc |
| + grpc_plugin_support |
| +) |
| + |
| + |
| +add_executable(grpc_python_plugin |
| + src/compiler/python_plugin.cc |
| +) |
| + |
| +target_include_directories(grpc_python_plugin |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_python_plugin |
| + libprotoc |
| + grpc_plugin_support |
| +) |
| + |
| + |
| +add_executable(grpc_ruby_plugin |
| + src/compiler/ruby_plugin.cc |
| +) |
| + |
| +target_include_directories(grpc_ruby_plugin |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} |
| + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include |
| + PRIVATE ${BORINGSSL_ROOT_DIR}/include |
| + PRIVATE ${PROTOBUF_ROOT_DIR}/src |
| +) |
| + |
| +target_link_libraries(grpc_ruby_plugin |
| + libprotoc |
| + grpc_plugin_support |
| +) |
| + |
| + |
| + |
| + |
| + |
| diff --git a/include/grpc++/impl/codegen/config.h b/include/grpc++/impl/codegen/config.h |
| index d782d5f..1e6a53f 100644 |
| --- a/include/grpc++/impl/codegen/config.h |
| +++ b/include/grpc++/impl/codegen/config.h |
| @@ -63,6 +63,12 @@ |
| #endif |
| #endif |
| |
| +#if defined(ANDROID) || defined(__ANDROID__) |
| +// TODO: HACK: Android has correct std::thread support but enabling it causes a |
| +// crash at startup. Falling back to grpc::thread until fixed. |
| +#define GRPC_CXX0X_NO_THREAD |
| +#endif |
| + |
| #endif |
| |
| #ifdef GRPC_CXX0X_NO_FINAL |
| diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h |
| index 1229d48..0ac9324 100644 |
| --- a/include/grpc/impl/codegen/port_platform.h |
| +++ b/include/grpc/impl/codegen/port_platform.h |
| @@ -117,7 +117,11 @@ |
| #elif defined(ANDROID) || defined(__ANDROID__) |
| #define GPR_PLATFORM_STRING "android" |
| #define GPR_ANDROID 1 |
| +#ifdef _LP64 |
| +#define GPR_ARCH_64 1 |
| +#else /* _LP64 */ |
| #define GPR_ARCH_32 1 |
| +#endif /* _LP64 */ |
| #define GPR_CPU_LINUX 1 |
| #define GPR_GCC_SYNC 1 |
| #define GPR_GCC_TLS 1 |
| diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template |
| new file mode 100644 |
| index 0000000..8584039 |
| --- /dev/null |
| +++ b/templates/CMakeLists.txt.template |
| @@ -0,0 +1,129 @@ |
| +%YAML 1.2 |
| +--- | |
| + # 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, Google Inc. |
| + # All rights reserved. |
| + # |
| + # Redistribution and use in source and binary forms, with or without |
| + # modification, are permitted provided that the following conditions are |
| + # met: |
| + # |
| + # * Redistributions of source code must retain the above copyright |
| + # notice, this list of conditions and the following disclaimer. |
| + # * Redistributions in binary form must reproduce the above |
| + # copyright notice, this list of conditions and the following disclaimer |
| + # in the documentation and/or other materials provided with the |
| + # distribution. |
| + # * Neither the name of Google Inc. nor the names of its |
| + # contributors may be used to endorse or promote products derived from |
| + # this software without specific prior written permission. |
| + # |
| + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| + # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| + # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| + # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| + # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| + # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| + # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| + |
| + <%! |
| + def get_deps(target_dict): |
| + deps = [] |
| + if target_dict.get('build', None) in ['protoc']: |
| + deps.append("libprotoc") |
| + if target_dict.get('secure', False): |
| + deps = ["ssl"] |
| + if target_dict['name'] in ['grpc++', 'grpc++_unsecure', 'grpc++_codegen_lib']: |
| + deps.append("libprotobuf") |
| + for d in target_dict.get('deps', []): |
| + deps.append(d) |
| + return deps |
| + %> |
| + |
| + cmake_minimum_required(VERSION 2.8) |
| + |
| + if (NOT BORINGSSL_ROOT_DIR) |
| + set(BORINGSSL_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/boringssl) |
| + endif() |
| + if (NOT PROTOBUF_ROOT_DIR) |
| + set(PROTOBUF_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/protobuf) |
| + endif() |
| + if (NOT ZLIB_ROOT_DIR) |
| + set(ZLIB_ROOT_DIR <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/third_party/zlib) |
| + endif() |
| + |
| + set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) |
| + set(CMAKE_C_FLAGS "<%text>${CMAKE_C_FLAGS}</%text> -std=c11") |
| + set(CMAKE_CXX_FLAGS "<%text>${CMAKE_CXX_FLAGS}</%text> -std=c++11") |
| + |
| + add_subdirectory(<%text>${BORINGSSL_ROOT_DIR}</%text> third_party/boringssl) |
| + add_subdirectory(<%text>${PROTOBUF_ROOT_DIR}</%text>/cmake third_party/protobuf) |
| + add_subdirectory(<%text>${ZLIB_ROOT_DIR}</%text> third_party/zlib) |
| + |
| + % for lib in libs: |
| + % if lib.build in ["all", "protoc"]: |
| + ${cc_library(lib)} |
| + % endif |
| + % endfor |
| + |
| + % for tgt in targets: |
| + % if tgt.build == 'protoc': |
| + ${cc_binary(tgt)} |
| + % endif |
| + % endfor |
| + |
| + <%def name="cc_library(lib)"> |
| + add_library(${lib.name} |
| + % for src in lib.src: |
| + ${src} |
| + % endfor |
| + ) |
| + |
| + target_include_directories(${lib.name} |
| + PRIVATE <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text> |
| + PRIVATE <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/include |
| + PRIVATE <%text>${BORINGSSL_ROOT_DIR}</%text>/include |
| + PRIVATE <%text>${PROTOBUF_ROOT_DIR}</%text>/src |
| + ) |
| + |
| + % if len(get_deps(lib)) > 0: |
| + target_link_libraries(${lib.name} |
| + % for dep in get_deps(lib): |
| + ${dep} |
| + % endfor |
| + ) |
| + % endif |
| + </%def> |
| + |
| + <%def name="cc_binary(tgt)"> |
| + add_executable(${tgt.name} |
| + % for src in tgt.src: |
| + ${src} |
| + % endfor |
| + ) |
| + |
| + target_include_directories(${tgt.name} |
| + PRIVATE <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text> |
| + PRIVATE <%text>${CMAKE_CURRENT_SOURCE_DIR}</%text>/include |
| + PRIVATE <%text>${BORINGSSL_ROOT_DIR}</%text>/include |
| + PRIVATE <%text>${PROTOBUF_ROOT_DIR}</%text>/src |
| + ) |
| + |
| + % if len(get_deps(tgt)) > 0: |
| + target_link_libraries(${tgt.name} |
| + % for dep in get_deps(tgt): |
| + ${dep} |
| + % endfor |
| + ) |
| + % endif |
| + </%def> |
| + |
| -- |
| 2.8.0.rc3.226.g39d4020 |
| |