blob: bfb871305349d239aef3dbb8bfee0fea073ca27e [file] [log] [blame]
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