@@ -24,7 +24,7 @@ project(
24
24
set (CMAKE_CXX_STANDARD 17)
25
25
set (CMAKE_CXX_EXTENSIONS OFF )
26
26
set (CMAKE_CXX_STANDARD_REQUIRED ON )
27
- set (CMAKE_CXX_FLAGS "-O2" )
27
+ set (CMAKE_CXX_FLAGS "-O2 -fpic " )
28
28
set (CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON" FORCE)
29
29
30
30
set (CMAKE_BUILD_TYPE
@@ -69,8 +69,49 @@ set(GRPC_GIT_TAG
69
69
CACHE STRING "gRPC version" )
70
70
71
71
include (ExternalProject)
72
+ set (ABSEIL_GIT_TAG "20230802.1" CACHE STRING "Abseil version" )
73
+
74
+ ExternalProject_Add(
75
+ Abseil
76
+ GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
77
+ GIT_TAG ${ABSEIL_GIT_TAG}
78
+ GIT_SHALLOW 1
79
+ UPDATE_COMMAND ""
80
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX}
81
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
82
+ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
83
+ -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
84
+ -DCMAKE_CXX_FLAGS:STRING =${CMAKE_CXX_FLAGS}
85
+ USES_TERMINAL_BUILD TRUE
86
+ DOWNLOAD_NO_PROGRESS TRUE
87
+ LOG_CONFIGURE TRUE
88
+ LOG_BUILD TRUE
89
+ LOG_INSTALL TRUE )
90
+
91
+ # RE2 settings
92
+ set (RE2_GIT_TAG "2023-11-01" CACHE STRING "RE2 version" )
93
+
94
+ ExternalProject_Add(
95
+ RE2
96
+ DEPENDS Abseil
97
+ GIT_REPOSITORY https://github.com/google/re2.git
98
+ GIT_TAG ${RE2_GIT_TAG}
99
+ GIT_SHALLOW 1
100
+ UPDATE_COMMAND ""
101
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX}
102
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
103
+ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
104
+ -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
105
+ -DCMAKE_CXX_FLAGS:STRING =${CMAKE_CXX_FLAGS}
106
+ USES_TERMINAL_BUILD TRUE
107
+ DOWNLOAD_NO_PROGRESS TRUE
108
+ LOG_CONFIGURE TRUE
109
+ LOG_BUILD TRUE
110
+ LOG_INSTALL TRUE )
111
+
72
112
ExternalProject_Add(
73
113
gRPC
114
+ DEPENDS Abseil RE2
74
115
GIT_REPOSITORY https://github.com/grpc/grpc.git
75
116
GIT_TAG ${GRPC_GIT_TAG}
76
117
GIT_SHALLOW 1
@@ -79,6 +120,8 @@ ExternalProject_Add(
79
120
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
80
121
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
81
122
-DgRPC_SSL_PROVIDER=package
123
+ -DgRPC_RE2_PROVIDER=package
124
+ -DgRPC_ABSEIL_PROVIDER=package
82
125
-DOPENSSL_ROOT_DIR=OpenSSL
83
126
-DgRPC_BUILD_TESTS=OFF
84
127
-DBUILD_SHARED_LIBS=OFF
@@ -88,7 +131,25 @@ ExternalProject_Add(
88
131
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
89
132
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
90
133
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
91
- CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING =${CMAKE_CXX_FLAGS}
134
+ -DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF
135
+ -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF
136
+ -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
137
+ -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
138
+ -DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
139
+ -DgRPC_USE_PROTO_LITE=OFF
140
+ -DgRPC_BUILD_CSHARP_EXT=OFF
141
+ -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF
142
+ -DgRPC_BUILD_GRPC_JAVA_PLUGIN=OFF
143
+ -DgRPC_BUILD_GRPC_GRPC_JAVA_PLUGIN=OFF
144
+ -DgRPC_BUILD_GRPC_WEB_PLUGIN=OFF
145
+ -DgRPC_BUILD_GRPC_C_PLUGIN=OFF
146
+ -DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF
147
+ -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF
148
+ -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
149
+ -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
150
+ -DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
151
+ -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
152
+ CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING =${CMAKE_CXX_FLAGS}
92
153
TEST_AFTER_INSTALL FALSE
93
154
USES_TERMINAL_BUILD TRUE
94
155
DOWNLOAD_NO_PROGRESS TRUE
0 commit comments