| From 0f2c73b62bdc612f9d5cdd8e0c765995470d4f8b Mon Sep 17 00:00:00 2001 |
| From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
| Date: Tue, 25 May 2021 14:55:23 +0200 |
| Subject: [PATCH] Add option to restrict building of (host-)grpc to |
| grpc_cpp_plugin only. |
| |
| This avoids unnecessary dependencies on big packages like libabseil-cpp and |
| others. |
| |
| Upstream: not accepted (see https://github.com/grpc/grpc/issues/25322) |
| |
| Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| |
| Updated for 1.48.0: |
| Signed-off-by: Michael Nosthoff <buildroot@heine.tech> |
| --- |
| CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++---- |
| 1 file changed, 35 insertions(+), 4 deletions(-) |
| |
| diff --git a/CMakeLists.txt b/CMakeLists.txt |
| index 0dcae6b1aee5..57b3963a43b0 100644 |
| --- a/CMakeLists.txt |
| +++ b/CMakeLists.txt |
| @@ -49,12 +49,16 @@ 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(gRPC_BUILD_PLUGIN_SUPPORT_ONLY "Build plugin support only" OFF) |
| |
| 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() |
| +if(gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| + set(gRPC_INSTALL_default OFF) |
| +endif() |
| set(gRPC_INSTALL ${gRPC_INSTALL_default} CACHE BOOL |
| "Generate installation target") |
| |
| @@ -563,6 +567,8 @@ add_custom_target(plugins |
| DEPENDS ${_gRPC_PLUGIN_LIST} |
| ) |
| |
| +if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| + |
| add_custom_target(tools_c |
| DEPENDS |
| ) |
| @@ -574,6 +580,8 @@ add_custom_target(tools_cxx |
| add_custom_target(tools |
| DEPENDS tools_c tools_cxx) |
| |
| +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY |
| + |
| protobuf_generate_grpc_cpp_with_import_path_correction( |
| src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto |
| ) |
| @@ -1307,6 +1315,7 @@ if(gRPC_BUILD_TESTS) |
| DEPENDS buildtests_c buildtests_cxx) |
| endif() |
| |
| +if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| |
| add_library(address_sorting |
| third_party/address_sorting/address_sorting.c |
| @@ -1359,6 +1368,8 @@ if(gRPC_INSTALL) |
| ) |
| endif() |
| |
| +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY |
| + |
| if(gRPC_BUILD_TESTS) |
| |
| add_library(end2end_tests |
| @@ -1512,6 +1523,8 @@ target_link_libraries(end2end_tests |
| |
| endif() |
| |
| +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| + |
| add_library(gpr |
| src/core/lib/gpr/alloc.cc |
| src/core/lib/gpr/atm.cc |
| @@ -2504,6 +2517,8 @@ if(gRPC_INSTALL) |
| ) |
| endif() |
| |
| +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY |
| + |
| if(gRPC_BUILD_TESTS) |
| |
| add_library(grpc_test_util |
| @@ -2618,6 +2633,8 @@ endif() |
| |
| endif() |
| |
| +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| + |
| add_library(grpc_unsecure |
| src/core/ext/filters/census/grpc_context.cc |
| src/core/ext/filters/channel_idle/channel_idle_filter.cc |
| @@ -3102,6 +3119,8 @@ if(gRPC_INSTALL) |
| ) |
| endif() |
| |
| +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY |
| + |
| if(gRPC_BUILD_TESTS) |
| |
| if(gRPC_BUILD_CODEGEN) |
| @@ -3185,6 +3204,8 @@ endif() |
| |
| endif() |
| |
| +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| + |
| add_library(grpc++ |
| src/core/ext/transport/binder/client/binder_connector.cc |
| src/core/ext/transport/binder/client/channel_create.cc |
| @@ -3635,6 +3656,7 @@ if(gRPC_INSTALL) |
| ) |
| endif() |
| |
| +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY |
| |
| if(gRPC_BUILD_CODEGEN) |
| add_library(grpc++_reflection |
| @@ -3889,6 +3911,8 @@ target_link_libraries(grpc++_test_util |
| |
| endif() |
| |
| +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| + |
| add_library(grpc++_unsecure |
| src/cpp/client/channel_cc.cc |
| src/cpp/client/client_callback.cc |
| @@ -4181,6 +4205,7 @@ if(gRPC_INSTALL) |
| ) |
| endif() |
| |
| +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY |
| |
| add_library(grpc_plugin_support |
| src/compiler/cpp_generator.cc |
| @@ -4240,7 +4265,7 @@ foreach(_hdr |
| endforeach() |
| |
| |
| -if(gRPC_INSTALL) |
| +if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| install(TARGETS grpc_plugin_support EXPORT gRPCTargets |
| RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} |
| BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR} |
| @@ -4324,6 +4349,8 @@ endif() |
| |
| endif() |
| |
| +if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| + |
| add_library(upb |
| third_party/upb/third_party/utf8_range/naive.c |
| third_party/upb/third_party/utf8_range/range2-neon.c |
| @@ -4393,6 +4420,8 @@ if(gRPC_INSTALL) |
| ) |
| endif() |
| |
| +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY |
| + |
| |
| if(gRPC_BUILD_TESTS) |
| |
| @@ -11085,7 +11114,7 @@ target_link_libraries(grpc_completion_queue_test |
| |
| |
| endif() |
| -if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN) |
| +if(gRPC_BUILD_GRPC_CPP_PLUGIN) |
| |
| add_executable(grpc_cpp_plugin |
| src/compiler/cpp_plugin.cc |
| @@ -11115,7 +11144,7 @@ target_link_libraries(grpc_cpp_plugin |
| |
| |
| |
| -if(gRPC_INSTALL) |
| +if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets |
| RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} |
| BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR} |
| @@ -23128,7 +23157,7 @@ endif() |
| |
| |
| |
| - |
| +if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY) |
| |
| if(gRPC_INSTALL) |
| install(EXPORT gRPCTargets |
| @@ -23225,3 +23254,5 @@ generate_pkgconfig( |
| "-lgrpc++_unsecure" |
| "" |
| "grpc++_unsecure.pc") |
| + |
| +endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY |
| -- |
| 2.43.0 |
| |