xref: /aosp_15_r20/external/pigweed/pw_rpc/CMakeLists.txt (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2020 The Pigweed Authors
2*61c4878aSAndroid Build Coastguard Worker#
3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*61c4878aSAndroid Build Coastguard Worker# the License at
6*61c4878aSAndroid Build Coastguard Worker#
7*61c4878aSAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*61c4878aSAndroid Build Coastguard Worker#
9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*61c4878aSAndroid Build Coastguard Worker# the License.
14*61c4878aSAndroid Build Coastguard Worker
15*61c4878aSAndroid Build Coastguard Workerinclude($ENV{PW_ROOT}/pw_build/pigweed.cmake)
16*61c4878aSAndroid Build Coastguard Workerinclude($ENV{PW_ROOT}/pw_protobuf_compiler/proto.cmake)
17*61c4878aSAndroid Build Coastguard Worker
18*61c4878aSAndroid Build Coastguard Workeradd_subdirectory(nanopb)
19*61c4878aSAndroid Build Coastguard Workeradd_subdirectory(pwpb)
20*61c4878aSAndroid Build Coastguard Workeradd_subdirectory(raw)
21*61c4878aSAndroid Build Coastguard Workeradd_subdirectory(system_server)
22*61c4878aSAndroid Build Coastguard Worker
23*61c4878aSAndroid Build Coastguard Workerpw_add_module_config(pw_rpc_CONFIG)
24*61c4878aSAndroid Build Coastguard Worker
25*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.config INTERFACE
26*61c4878aSAndroid Build Coastguard Worker  HEADERS
27*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/config.h
28*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
29*61c4878aSAndroid Build Coastguard Worker    public
30*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
31*61c4878aSAndroid Build Coastguard Worker    ${pw_rpc_CONFIG}
32*61c4878aSAndroid Build Coastguard Worker)
33*61c4878aSAndroid Build Coastguard Worker
34*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.log_config INTERFACE
35*61c4878aSAndroid Build Coastguard Worker  HEADERS
36*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/log_config.h
37*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
38*61c4878aSAndroid Build Coastguard Worker    public
39*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
40*61c4878aSAndroid Build Coastguard Worker    pw_rpc.config
41*61c4878aSAndroid Build Coastguard Worker)
42*61c4878aSAndroid Build Coastguard Worker
43*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.server STATIC
44*61c4878aSAndroid Build Coastguard Worker  HEADERS
45*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/server.h
46*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/service.h
47*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/hash.h
48*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/method.h
49*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/method_lookup.h
50*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/method_union.h
51*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/server_call.h
52*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
53*61c4878aSAndroid Build Coastguard Worker    public
54*61c4878aSAndroid Build Coastguard Worker  SOURCES
55*61c4878aSAndroid Build Coastguard Worker    server.cc
56*61c4878aSAndroid Build Coastguard Worker    server_call.cc
57*61c4878aSAndroid Build Coastguard Worker    service.cc
58*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
59*61c4878aSAndroid Build Coastguard Worker    pw_rpc.common
60*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
61*61c4878aSAndroid Build Coastguard Worker    pw_log
62*61c4878aSAndroid Build Coastguard Worker    pw_rpc.log_config
63*61c4878aSAndroid Build Coastguard Worker)
64*61c4878aSAndroid Build Coastguard Worker
65*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.client STATIC
66*61c4878aSAndroid Build Coastguard Worker  HEADERS
67*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/client.h
68*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/client_call.h
69*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/service_client.h
70*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
71*61c4878aSAndroid Build Coastguard Worker    public
72*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
73*61c4878aSAndroid Build Coastguard Worker    pw_result
74*61c4878aSAndroid Build Coastguard Worker    pw_rpc.common
75*61c4878aSAndroid Build Coastguard Worker    pw_span
76*61c4878aSAndroid Build Coastguard Worker  SOURCES
77*61c4878aSAndroid Build Coastguard Worker    client.cc
78*61c4878aSAndroid Build Coastguard Worker    client_call.cc
79*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
80*61c4878aSAndroid Build Coastguard Worker    pw_log
81*61c4878aSAndroid Build Coastguard Worker    pw_rpc.log_config
82*61c4878aSAndroid Build Coastguard Worker)
83*61c4878aSAndroid Build Coastguard Worker
84*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.client_server STATIC
85*61c4878aSAndroid Build Coastguard Worker  HEADERS
86*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/client_server.h
87*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
88*61c4878aSAndroid Build Coastguard Worker    public
89*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
90*61c4878aSAndroid Build Coastguard Worker    pw_rpc.client
91*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
92*61c4878aSAndroid Build Coastguard Worker  SOURCES
93*61c4878aSAndroid Build Coastguard Worker    client_server.cc
94*61c4878aSAndroid Build Coastguard Worker)
95*61c4878aSAndroid Build Coastguard Worker
96*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.synchronous_client_api INTERFACE
97*61c4878aSAndroid Build Coastguard Worker  HEADERS
98*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/synchronous_call.h
99*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/synchronous_call_result.h
100*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/synchronous_call_impl.h
101*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
102*61c4878aSAndroid Build Coastguard Worker    public
103*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
104*61c4878aSAndroid Build Coastguard Worker    pw_chrono.system_clock
105*61c4878aSAndroid Build Coastguard Worker    pw_rpc.client
106*61c4878aSAndroid Build Coastguard Worker    pw_rpc.common
107*61c4878aSAndroid Build Coastguard Worker    pw_sync.timed_thread_notification
108*61c4878aSAndroid Build Coastguard Worker)
109*61c4878aSAndroid Build Coastguard Worker
110*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.common STATIC
111*61c4878aSAndroid Build Coastguard Worker  HEADERS
112*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/channel.h
113*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/call.h
114*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/call_context.h
115*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/channel_list.h
116*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/encoding_buffer.h
117*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/endpoint.h
118*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/lock.h
119*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/method_info.h
120*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/packet.h
121*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/method_id.h
122*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/method_info.h
123*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/method_type.h
124*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/packet_meta.h
125*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/service_id.h
126*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/writer.h
127*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
128*61c4878aSAndroid Build Coastguard Worker    public
129*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
130*61c4878aSAndroid Build Coastguard Worker    pw_assert
131*61c4878aSAndroid Build Coastguard Worker    pw_bytes
132*61c4878aSAndroid Build Coastguard Worker    pw_containers.intrusive_list
133*61c4878aSAndroid Build Coastguard Worker    pw_function
134*61c4878aSAndroid Build Coastguard Worker    pw_polyfill
135*61c4878aSAndroid Build Coastguard Worker    pw_rpc.config
136*61c4878aSAndroid Build Coastguard Worker    pw_rpc.protos.pwpb
137*61c4878aSAndroid Build Coastguard Worker    pw_span
138*61c4878aSAndroid Build Coastguard Worker    pw_status
139*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
140*61c4878aSAndroid Build Coastguard Worker    pw_toolchain.no_destructor
141*61c4878aSAndroid Build Coastguard Worker  SOURCES
142*61c4878aSAndroid Build Coastguard Worker    call.cc
143*61c4878aSAndroid Build Coastguard Worker    channel.cc
144*61c4878aSAndroid Build Coastguard Worker    channel_list.cc
145*61c4878aSAndroid Build Coastguard Worker    endpoint.cc
146*61c4878aSAndroid Build Coastguard Worker    packet.cc
147*61c4878aSAndroid Build Coastguard Worker    packet_meta.cc
148*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
149*61c4878aSAndroid Build Coastguard Worker    pw_log
150*61c4878aSAndroid Build Coastguard Worker    pw_preprocessor
151*61c4878aSAndroid Build Coastguard Worker    pw_rpc.log_config
152*61c4878aSAndroid Build Coastguard Worker)
153*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_sync.mutex_BACKEND}" STREQUAL "")
154*61c4878aSAndroid Build Coastguard Worker  pw_target_link_targets(pw_rpc.common PUBLIC pw_sync.mutex)
155*61c4878aSAndroid Build Coastguard Workerendif()
156*61c4878aSAndroid Build Coastguard Worker
157*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_thread.sleep_BACKEND}" STREQUAL "")
158*61c4878aSAndroid Build Coastguard Worker  pw_target_link_targets(pw_rpc.common PUBLIC pw_thread.sleep)
159*61c4878aSAndroid Build Coastguard Workerendif()
160*61c4878aSAndroid Build Coastguard Worker
161*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_thread.yield_BACKEND}" STREQUAL "")
162*61c4878aSAndroid Build Coastguard Worker  pw_target_link_targets(pw_rpc.common PUBLIC pw_thread.yield)
163*61c4878aSAndroid Build Coastguard Workerendif()
164*61c4878aSAndroid Build Coastguard Worker
165*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.fake_channel_output STATIC
166*61c4878aSAndroid Build Coastguard Worker  HEADERS
167*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/fake_channel_output.h
168*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/payloads_view.h
169*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
170*61c4878aSAndroid Build Coastguard Worker    public
171*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
172*61c4878aSAndroid Build Coastguard Worker    pw_assert
173*61c4878aSAndroid Build Coastguard Worker    pw_bytes
174*61c4878aSAndroid Build Coastguard Worker    pw_containers.filtered_view
175*61c4878aSAndroid Build Coastguard Worker    pw_containers.vector
176*61c4878aSAndroid Build Coastguard Worker    pw_containers.wrapped_iterator
177*61c4878aSAndroid Build Coastguard Worker    pw_function
178*61c4878aSAndroid Build Coastguard Worker    pw_rpc.common
179*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
180*61c4878aSAndroid Build Coastguard Worker  SOURCES
181*61c4878aSAndroid Build Coastguard Worker    fake_channel_output.cc
182*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
183*61c4878aSAndroid Build Coastguard Worker    pw_log
184*61c4878aSAndroid Build Coastguard Worker    pw_rpc.log_config
185*61c4878aSAndroid Build Coastguard Worker)
186*61c4878aSAndroid Build Coastguard Worker
187*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.client_server_testing INTERFACE
188*61c4878aSAndroid Build Coastguard Worker  HEADERS
189*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/client_server_testing.h
190*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
191*61c4878aSAndroid Build Coastguard Worker    public
192*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
193*61c4878aSAndroid Build Coastguard Worker    pw_bytes
194*61c4878aSAndroid Build Coastguard Worker    pw_result
195*61c4878aSAndroid Build Coastguard Worker    pw_rpc.client_server
196*61c4878aSAndroid Build Coastguard Worker    pw_rpc.fake_channel_output
197*61c4878aSAndroid Build Coastguard Worker)
198*61c4878aSAndroid Build Coastguard Worker
199*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.client_server_testing_threaded INTERFACE
200*61c4878aSAndroid Build Coastguard Worker  HEADERS
201*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/client_server_testing_threaded.h
202*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
203*61c4878aSAndroid Build Coastguard Worker    public
204*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
205*61c4878aSAndroid Build Coastguard Worker    pw_bytes
206*61c4878aSAndroid Build Coastguard Worker    pw_result
207*61c4878aSAndroid Build Coastguard Worker    pw_rpc.client_server_testing
208*61c4878aSAndroid Build Coastguard Worker    pw_sync.binary_semaphore
209*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
210*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
211*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
212*61c4878aSAndroid Build Coastguard Worker)
213*61c4878aSAndroid Build Coastguard Worker
214*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.test_helpers INTERFACE
215*61c4878aSAndroid Build Coastguard Worker  HEADERS
216*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/test_helpers.h
217*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
218*61c4878aSAndroid Build Coastguard Worker    public
219*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
220*61c4878aSAndroid Build Coastguard Worker    pw_assert
221*61c4878aSAndroid Build Coastguard Worker    pw_chrono.system_clock
222*61c4878aSAndroid Build Coastguard Worker    pw_rpc.fake_channel_output
223*61c4878aSAndroid Build Coastguard Worker    pw_status
224*61c4878aSAndroid Build Coastguard Worker    pw_sync.counting_semaphore
225*61c4878aSAndroid Build Coastguard Worker    pw_thread.yield
226*61c4878aSAndroid Build Coastguard Worker)
227*61c4878aSAndroid Build Coastguard Worker
228*61c4878aSAndroid Build Coastguard Worker# thread_testing target is kept for backward compatibility.
229*61c4878aSAndroid Build Coastguard Worker# New code should use pw_rpc.test_helpers instead.
230*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.thread_testing INTERFACE
231*61c4878aSAndroid Build Coastguard Worker  HEADERS
232*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/thread_testing.h
233*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
234*61c4878aSAndroid Build Coastguard Worker    public
235*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
236*61c4878aSAndroid Build Coastguard Worker    pw_rpc.test_helpers
237*61c4878aSAndroid Build Coastguard Worker)
238*61c4878aSAndroid Build Coastguard Worker
239*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.test_utils INTERFACE
240*61c4878aSAndroid Build Coastguard Worker  HEADERS
241*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/fake_channel_output.h
242*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/method_impl_tester.h
243*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/method_info_tester.h
244*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/test_method_context.h
245*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/internal/test_utils.h
246*61c4878aSAndroid Build Coastguard Worker    pw_rpc_private/fake_server_reader_writer.h
247*61c4878aSAndroid Build Coastguard Worker    pw_rpc_private/test_method.h
248*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
249*61c4878aSAndroid Build Coastguard Worker    public
250*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
251*61c4878aSAndroid Build Coastguard Worker    pw_assert
252*61c4878aSAndroid Build Coastguard Worker    pw_bytes
253*61c4878aSAndroid Build Coastguard Worker    pw_rpc.client
254*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
255*61c4878aSAndroid Build Coastguard Worker    pw_containers.vector
256*61c4878aSAndroid Build Coastguard Worker    pw_rpc.raw.fake_channel_output
257*61c4878aSAndroid Build Coastguard Worker    pw_rpc.raw.server_api
258*61c4878aSAndroid Build Coastguard Worker)
259*61c4878aSAndroid Build Coastguard Worker
260*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.integration_testing STATIC
261*61c4878aSAndroid Build Coastguard Worker  HEADERS
262*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/integration_test_socket_client.h
263*61c4878aSAndroid Build Coastguard Worker    public/pw_rpc/integration_testing.h
264*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
265*61c4878aSAndroid Build Coastguard Worker    public
266*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
267*61c4878aSAndroid Build Coastguard Worker    pw_assert
268*61c4878aSAndroid Build Coastguard Worker    pw_function
269*61c4878aSAndroid Build Coastguard Worker    pw_hdlc.default_addresses
270*61c4878aSAndroid Build Coastguard Worker    pw_hdlc.rpc_channel_output
271*61c4878aSAndroid Build Coastguard Worker    pw_rpc.client
272*61c4878aSAndroid Build Coastguard Worker    pw_stream.socket_stream
273*61c4878aSAndroid Build Coastguard Worker    pw_unit_test
274*61c4878aSAndroid Build Coastguard Worker    pw_unit_test.logging_event_handler
275*61c4878aSAndroid Build Coastguard Worker  SOURCES
276*61c4878aSAndroid Build Coastguard Worker    integration_testing.cc
277*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
278*61c4878aSAndroid Build Coastguard Worker    pw_log
279*61c4878aSAndroid Build Coastguard Worker)
280*61c4878aSAndroid Build Coastguard Worker
281*61c4878aSAndroid Build Coastguard Workerpw_proto_library(pw_rpc.protos
282*61c4878aSAndroid Build Coastguard Worker  SOURCES
283*61c4878aSAndroid Build Coastguard Worker    benchmark.proto
284*61c4878aSAndroid Build Coastguard Worker    internal/packet.proto
285*61c4878aSAndroid Build Coastguard Worker    echo.proto
286*61c4878aSAndroid Build Coastguard Worker  INPUTS
287*61c4878aSAndroid Build Coastguard Worker    benchmark.options
288*61c4878aSAndroid Build Coastguard Worker    benchmark.pwpb_options
289*61c4878aSAndroid Build Coastguard Worker    echo.options
290*61c4878aSAndroid Build Coastguard Worker    echo.pwpb_options
291*61c4878aSAndroid Build Coastguard Worker  PREFIX
292*61c4878aSAndroid Build Coastguard Worker    pw_rpc
293*61c4878aSAndroid Build Coastguard Worker)
294*61c4878aSAndroid Build Coastguard Worker
295*61c4878aSAndroid Build Coastguard Workerpw_proto_library(pw_rpc.test_protos
296*61c4878aSAndroid Build Coastguard Worker  SOURCES
297*61c4878aSAndroid Build Coastguard Worker    pw_rpc_test_protos/no_package.proto
298*61c4878aSAndroid Build Coastguard Worker    pw_rpc_test_protos/test.proto
299*61c4878aSAndroid Build Coastguard Worker  INPUTS
300*61c4878aSAndroid Build Coastguard Worker    pw_rpc_test_protos/test.options
301*61c4878aSAndroid Build Coastguard Worker)
302*61c4878aSAndroid Build Coastguard Worker
303*61c4878aSAndroid Build Coastguard Worker# Set pw_rpc_CONFIG to this to disable the global mutex.
304*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_rpc.disable_global_mutex_config INTERFACE
305*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEFINES
306*61c4878aSAndroid Build Coastguard Worker    PW_RPC_USE_GLOBAL_MUTEX=0
307*61c4878aSAndroid Build Coastguard Worker)
308*61c4878aSAndroid Build Coastguard Worker
309*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.call_test
310*61c4878aSAndroid Build Coastguard Worker  SOURCES
311*61c4878aSAndroid Build Coastguard Worker    call_test.cc
312*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
313*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
314*61c4878aSAndroid Build Coastguard Worker    pw_rpc.test_utils
315*61c4878aSAndroid Build Coastguard Worker  GROUPS
316*61c4878aSAndroid Build Coastguard Worker    modules
317*61c4878aSAndroid Build Coastguard Worker    pw_rpc
318*61c4878aSAndroid Build Coastguard Worker)
319*61c4878aSAndroid Build Coastguard Worker
320*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.channel_test
321*61c4878aSAndroid Build Coastguard Worker  SOURCES
322*61c4878aSAndroid Build Coastguard Worker    channel_test.cc
323*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
324*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
325*61c4878aSAndroid Build Coastguard Worker    pw_rpc.test_utils
326*61c4878aSAndroid Build Coastguard Worker  GROUPS
327*61c4878aSAndroid Build Coastguard Worker    modules
328*61c4878aSAndroid Build Coastguard Worker    pw_rpc
329*61c4878aSAndroid Build Coastguard Worker)
330*61c4878aSAndroid Build Coastguard Worker
331*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.packet_test
332*61c4878aSAndroid Build Coastguard Worker  SOURCES
333*61c4878aSAndroid Build Coastguard Worker    packet_test.cc
334*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
335*61c4878aSAndroid Build Coastguard Worker    pw_bytes
336*61c4878aSAndroid Build Coastguard Worker    pw_fuzzer.fuzztest
337*61c4878aSAndroid Build Coastguard Worker    pw_protobuf
338*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
339*61c4878aSAndroid Build Coastguard Worker  GROUPS
340*61c4878aSAndroid Build Coastguard Worker    modules
341*61c4878aSAndroid Build Coastguard Worker    pw_rpc
342*61c4878aSAndroid Build Coastguard Worker)
343*61c4878aSAndroid Build Coastguard Worker
344*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.packet_meta_test
345*61c4878aSAndroid Build Coastguard Worker  SOURCES
346*61c4878aSAndroid Build Coastguard Worker    packet_meta_test.cc
347*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
348*61c4878aSAndroid Build Coastguard Worker    pw_bytes
349*61c4878aSAndroid Build Coastguard Worker    pw_fuzzer.fuzztest
350*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
351*61c4878aSAndroid Build Coastguard Worker  GROUPS
352*61c4878aSAndroid Build Coastguard Worker    modules
353*61c4878aSAndroid Build Coastguard Worker    pw_rpc
354*61c4878aSAndroid Build Coastguard Worker)
355*61c4878aSAndroid Build Coastguard Worker
356*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.service_test
357*61c4878aSAndroid Build Coastguard Worker  SOURCES
358*61c4878aSAndroid Build Coastguard Worker    service_test.cc
359*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
360*61c4878aSAndroid Build Coastguard Worker    pw_assert
361*61c4878aSAndroid Build Coastguard Worker    pw_rpc.protos.pwpb
362*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
363*61c4878aSAndroid Build Coastguard Worker  GROUPS
364*61c4878aSAndroid Build Coastguard Worker    modules
365*61c4878aSAndroid Build Coastguard Worker    pw_rpc
366*61c4878aSAndroid Build Coastguard Worker)
367*61c4878aSAndroid Build Coastguard Worker
368*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.client_server_test
369*61c4878aSAndroid Build Coastguard Worker  SOURCES
370*61c4878aSAndroid Build Coastguard Worker    client_server_test.cc
371*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
372*61c4878aSAndroid Build Coastguard Worker    pw_rpc.client_server
373*61c4878aSAndroid Build Coastguard Worker    pw_rpc.test_utils
374*61c4878aSAndroid Build Coastguard Worker    pw_rpc.raw.server_api
375*61c4878aSAndroid Build Coastguard Worker  GROUPS
376*61c4878aSAndroid Build Coastguard Worker    modules
377*61c4878aSAndroid Build Coastguard Worker    pw_rpc
378*61c4878aSAndroid Build Coastguard Worker)
379*61c4878aSAndroid Build Coastguard Worker
380*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.method_test
381*61c4878aSAndroid Build Coastguard Worker  SOURCES
382*61c4878aSAndroid Build Coastguard Worker    method_test.cc
383*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
384*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
385*61c4878aSAndroid Build Coastguard Worker    pw_rpc.test_utils
386*61c4878aSAndroid Build Coastguard Worker  GROUPS
387*61c4878aSAndroid Build Coastguard Worker    modules
388*61c4878aSAndroid Build Coastguard Worker    pw_rpc
389*61c4878aSAndroid Build Coastguard Worker)
390*61c4878aSAndroid Build Coastguard Worker
391*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.server_test
392*61c4878aSAndroid Build Coastguard Worker  SOURCES
393*61c4878aSAndroid Build Coastguard Worker    server_test.cc
394*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
395*61c4878aSAndroid Build Coastguard Worker    pw_assert
396*61c4878aSAndroid Build Coastguard Worker    pw_rpc.protos.pwpb
397*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
398*61c4878aSAndroid Build Coastguard Worker    pw_rpc.test_utils
399*61c4878aSAndroid Build Coastguard Worker  GROUPS
400*61c4878aSAndroid Build Coastguard Worker    modules
401*61c4878aSAndroid Build Coastguard Worker    pw_rpc
402*61c4878aSAndroid Build Coastguard Worker)
403*61c4878aSAndroid Build Coastguard Worker
404*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.fake_channel_output_test
405*61c4878aSAndroid Build Coastguard Worker  SOURCES
406*61c4878aSAndroid Build Coastguard Worker    fake_channel_output_test.cc
407*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
408*61c4878aSAndroid Build Coastguard Worker    pw_rpc.test_utils
409*61c4878aSAndroid Build Coastguard Worker  GROUPS
410*61c4878aSAndroid Build Coastguard Worker    modules
411*61c4878aSAndroid Build Coastguard Worker    pw_rpc
412*61c4878aSAndroid Build Coastguard Worker)
413*61c4878aSAndroid Build Coastguard Worker
414*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_rpc.test_helpers_test
415*61c4878aSAndroid Build Coastguard Worker  SOURCES
416*61c4878aSAndroid Build Coastguard Worker    test_helpers_test.cc
417*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
418*61c4878aSAndroid Build Coastguard Worker    pw_result
419*61c4878aSAndroid Build Coastguard Worker    pw_rpc.pwpb.client_testing
420*61c4878aSAndroid Build Coastguard Worker    pw_rpc.pwpb.echo_service
421*61c4878aSAndroid Build Coastguard Worker    pw_rpc.pwpb.server_api
422*61c4878aSAndroid Build Coastguard Worker    pw_rpc.test_helpers
423*61c4878aSAndroid Build Coastguard Worker    pw_status
424*61c4878aSAndroid Build Coastguard Worker    pw_sync.interrupt_spin_lock
425*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
426*61c4878aSAndroid Build Coastguard Worker    pw_sync.timed_thread_notification
427*61c4878aSAndroid Build Coastguard Worker  GROUPS
428*61c4878aSAndroid Build Coastguard Worker    modules
429*61c4878aSAndroid Build Coastguard Worker    pw_rpc
430*61c4878aSAndroid Build Coastguard Worker)
431