xref: /aosp_15_r20/external/pigweed/pw_rpc/raw/CMakeLists.txt (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2020 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
16
17pw_add_library(pw_rpc.raw.server_api STATIC
18  HEADERS
19    public/pw_rpc/raw/internal/method.h
20    public/pw_rpc/raw/internal/method_union.h
21    public/pw_rpc/raw/server_reader_writer.h
22  PUBLIC_INCLUDES
23    public
24  PUBLIC_DEPS
25    pw_rpc.server
26    pw_bytes
27  SOURCES
28    method.cc
29)
30
31pw_add_library(pw_rpc.raw.client_api INTERFACE
32  HEADERS
33    public/pw_rpc/raw/client_reader_writer.h
34  PUBLIC_INCLUDES
35    public
36  PUBLIC_DEPS
37    pw_rpc.client
38    pw_bytes
39)
40
41pw_add_library(pw_rpc.raw.fake_channel_output INTERFACE
42  HEADERS
43    public/pw_rpc/raw/fake_channel_output.h
44  PUBLIC_INCLUDES
45    public
46  PUBLIC_DEPS
47    pw_rpc.fake_channel_output
48)
49
50pw_add_library(pw_rpc.raw.test_method_context INTERFACE
51  HEADERS
52    public/pw_rpc/raw/test_method_context.h
53  PUBLIC_INCLUDES
54    public
55  PUBLIC_DEPS
56    pw_assert
57    pw_containers
58    pw_rpc.raw.fake_channel_output
59    pw_rpc.raw.server_api
60    pw_rpc.test_utils
61)
62
63pw_add_library(pw_rpc.raw.client_testing STATIC
64  HEADERS
65    public/pw_rpc/raw/client_testing.h
66  PUBLIC_INCLUDES
67    public
68  PUBLIC_DEPS
69    pw_rpc.fake_channel_output
70  SOURCES
71    client_testing.cc
72  PRIVATE_DEPS
73    pw_log
74    pw_rpc.log_config
75)
76
77pw_add_test(pw_rpc.raw.client_test
78  SOURCES
79    client_test.cc
80  PRIVATE_DEPS
81    pw_rpc.raw.client_api
82    pw_rpc.raw.client_testing
83    pw_rpc.test_utils
84  GROUPS
85    modules
86    pw_rpc.raw
87)
88
89pw_add_test(pw_rpc.raw.client_reader_writer_test
90  SOURCES
91    client_reader_writer_test.cc
92  PRIVATE_DEPS
93    pw_rpc.raw.client_api
94    pw_rpc.raw.client_testing
95    pw_rpc.test_protos.raw_rpc
96  GROUPS
97    modules
98    pw_rpc.raw
99)
100
101pw_add_test(pw_rpc.raw.method_test
102  SOURCES
103    method_test.cc
104  PRIVATE_DEPS
105    pw_containers
106    pw_protobuf
107    pw_rpc.raw.server_api
108    pw_rpc.test_protos.pwpb
109    pw_rpc.test_protos.raw_rpc
110    pw_rpc.test_utils
111  GROUPS
112    modules
113    pw_rpc.raw
114)
115
116pw_add_test(pw_rpc.raw.method_info_test
117  SOURCES
118    method_info_test.cc
119  PRIVATE_DEPS
120    pw_rpc.common
121    pw_rpc.test_protos.raw_rpc
122    pw_rpc.test_utils
123  GROUPS
124    modules
125    pw_rpc.raw
126)
127
128pw_add_test(pw_rpc.raw.method_union_test
129  SOURCES
130    method_union_test.cc
131  PRIVATE_DEPS
132    pw_protobuf
133    pw_rpc.raw.server_api
134    pw_rpc.test_protos.pwpb
135    pw_rpc.test_utils
136  GROUPS
137    modules
138    pw_rpc.raw
139)
140
141pw_add_test(pw_rpc.raw.server_reader_writer_test
142  SOURCES
143    server_reader_writer_test.cc
144  PRIVATE_DEPS
145    pw_rpc.raw.server_api
146    pw_rpc.raw.test_method_context
147    pw_rpc.test_protos.raw_rpc
148  GROUPS
149    modules
150    pw_rpc.raw
151)
152