xref: /aosp_15_r20/external/pigweed/pw_system/CMakeLists.txt (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2022 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_system/backend.cmake)
17*61c4878aSAndroid Build Coastguard Workerinclude($ENV{PW_ROOT}/pw_protobuf_compiler/proto.cmake)
18*61c4878aSAndroid Build Coastguard Worker
19*61c4878aSAndroid Build Coastguard Worker# WARNING: Many of the dependencies in this file are missing and need to be
20*61c4878aSAndroid Build Coastguard Worker# added/updated. This is provided as a starting point, but currently does not
21*61c4878aSAndroid Build Coastguard Worker# work.
22*61c4878aSAndroid Build Coastguard Worker
23*61c4878aSAndroid Build Coastguard Workerif("${pw_cpu_exception.entry_BACKEND}" STREQUAL "")
24*61c4878aSAndroid Build Coastguard Worker  pw_add_library(pw_system.config INTERFACE
25*61c4878aSAndroid Build Coastguard Worker    HEADERS
26*61c4878aSAndroid Build Coastguard Worker      public/pw_system/config.h
27*61c4878aSAndroid Build Coastguard Worker    PUBLIC_INCLUDES
28*61c4878aSAndroid Build Coastguard Worker      public
29*61c4878aSAndroid Build Coastguard Worker    PUBLIC_DEFINES
30*61c4878aSAndroid Build Coastguard Worker      PW_SYSTEM_ENABLE_CRASH_HANDLER=0
31*61c4878aSAndroid Build Coastguard Worker  )
32*61c4878aSAndroid Build Coastguard Workerelse()
33*61c4878aSAndroid Build Coastguard Worker  pw_add_library(pw_system.config INTERFACE
34*61c4878aSAndroid Build Coastguard Worker    HEADERS
35*61c4878aSAndroid Build Coastguard Worker      public/pw_system/config.h
36*61c4878aSAndroid Build Coastguard Worker    PUBLIC_INCLUDES
37*61c4878aSAndroid Build Coastguard Worker      public
38*61c4878aSAndroid Build Coastguard Worker  )
39*61c4878aSAndroid Build Coastguard Workerendif()
40*61c4878aSAndroid Build Coastguard Worker
41*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.log STATIC
42*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
43*61c4878aSAndroid Build Coastguard Worker    pw_log_rpc.log_service
44*61c4878aSAndroid Build Coastguard Worker    pw_log_rpc.rpc_log_drain_thread
45*61c4878aSAndroid Build Coastguard Worker    pw_multisink
46*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
47*61c4878aSAndroid Build Coastguard Worker    pw_system.config
48*61c4878aSAndroid Build Coastguard Worker    pw_system.rpc_server
49*61c4878aSAndroid Build Coastguard Worker    pw_log_rpc.rpc_log_drain
50*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
51*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
52*61c4878aSAndroid Build Coastguard Worker  HEADERS
53*61c4878aSAndroid Build Coastguard Worker    public/pw_system/log.h
54*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
55*61c4878aSAndroid Build Coastguard Worker    public
56*61c4878aSAndroid Build Coastguard Worker  SOURCES
57*61c4878aSAndroid Build Coastguard Worker    log.cc
58*61c4878aSAndroid Build Coastguard Worker)
59*61c4878aSAndroid Build Coastguard Worker
60*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.log_backend STATIC
61*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
62*61c4878aSAndroid Build Coastguard Worker    pw_system.config
63*61c4878aSAndroid Build Coastguard Worker    pw_system.log
64*61c4878aSAndroid Build Coastguard Worker    pw_bytes
65*61c4878aSAndroid Build Coastguard Worker    pw_chrono.system_clock
66*61c4878aSAndroid Build Coastguard Worker    pw_log.facade
67*61c4878aSAndroid Build Coastguard Worker    pw_log.proto_utils
68*61c4878aSAndroid Build Coastguard Worker    pw_log_string.handler.facade
69*61c4878aSAndroid Build Coastguard Worker    pw_log_tokenized.handler
70*61c4878aSAndroid Build Coastguard Worker    pw_log_tokenized.metadata
71*61c4878aSAndroid Build Coastguard Worker    pw_multisink
72*61c4878aSAndroid Build Coastguard Worker    pw_result
73*61c4878aSAndroid Build Coastguard Worker    pw_sync.interrupt_spin_lock
74*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
75*61c4878aSAndroid Build Coastguard Worker    pw_tokenizer
76*61c4878aSAndroid Build Coastguard Worker  SOURCES
77*61c4878aSAndroid Build Coastguard Worker    log_backend.cc
78*61c4878aSAndroid Build Coastguard Worker)
79*61c4878aSAndroid Build Coastguard Worker
80*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_system.rpc_server INTERFACE
81*61c4878aSAndroid Build Coastguard Worker  BACKEND
82*61c4878aSAndroid Build Coastguard Worker    pw_system.rpc_server_BACKEND
83*61c4878aSAndroid Build Coastguard Worker  HEADERS
84*61c4878aSAndroid Build Coastguard Worker    public/pw_system/rpc_server.h
85*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
86*61c4878aSAndroid Build Coastguard Worker    public
87*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
88*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
89*61c4878aSAndroid Build Coastguard Worker    pw_system.config
90*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread_core
91*61c4878aSAndroid Build Coastguard Worker)
92*61c4878aSAndroid Build Coastguard Worker
93*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.hdlc_rpc_server STATIC
94*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
95*61c4878aSAndroid Build Coastguard Worker    pw_assert
96*61c4878aSAndroid Build Coastguard Worker    pw_hdlc.default_addresses
97*61c4878aSAndroid Build Coastguard Worker    pw_hdlc.rpc_channel_output
98*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
99*61c4878aSAndroid Build Coastguard Worker    pw_system.config
100*61c4878aSAndroid Build Coastguard Worker    pw_system.io
101*61c4878aSAndroid Build Coastguard Worker    pw_system.rpc_server.facade
102*61c4878aSAndroid Build Coastguard Worker    pw_system.sys_io_target_io
103*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread_core
104*61c4878aSAndroid Build Coastguard Worker    pw_trace
105*61c4878aSAndroid Build Coastguard Worker    pw_log
106*61c4878aSAndroid Build Coastguard Worker  SOURCES
107*61c4878aSAndroid Build Coastguard Worker    hdlc_rpc_server.cc
108*61c4878aSAndroid Build Coastguard Worker)
109*61c4878aSAndroid Build Coastguard Worker
110*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.thread_snapshot_service STATIC
111*61c4878aSAndroid Build Coastguard Worker  HEADERS
112*61c4878aSAndroid Build Coastguard Worker    public/pw_system/thread_snapshot_service.h
113*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
114*61c4878aSAndroid Build Coastguard Worker    public
115*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
116*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread_snapshot_service
117*61c4878aSAndroid Build Coastguard Worker  SOURCES
118*61c4878aSAndroid Build Coastguard Worker    thread_snapshot_service.cc
119*61c4878aSAndroid Build Coastguard Worker)
120*61c4878aSAndroid Build Coastguard Worker
121*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.transfer_handlers STATIC
122*61c4878aSAndroid Build Coastguard Worker  HEADERS
123*61c4878aSAndroid Build Coastguard Worker    public/pw_system/transfer_handlers.h
124*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
125*61c4878aSAndroid Build Coastguard Worker    public
126*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
127*61c4878aSAndroid Build Coastguard Worker    pw_persistent_ram
128*61c4878aSAndroid Build Coastguard Worker    pw_trace_tokenized.config
129*61c4878aSAndroid Build Coastguard Worker    pw_transfer
130*61c4878aSAndroid Build Coastguard Worker    pw_transfer.proto.pwpb
131*61c4878aSAndroid Build Coastguard Worker  SOURCES
132*61c4878aSAndroid Build Coastguard Worker    transfer_handlers.cc
133*61c4878aSAndroid Build Coastguard Worker)
134*61c4878aSAndroid Build Coastguard Worker
135*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.file_manager STATIC
136*61c4878aSAndroid Build Coastguard Worker  HEADERS
137*61c4878aSAndroid Build Coastguard Worker    public/pw_system/file_manager.h
138*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
139*61c4878aSAndroid Build Coastguard Worker    public
140*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
141*61c4878aSAndroid Build Coastguard Worker    pw_system.config
142*61c4878aSAndroid Build Coastguard Worker    pw_system.transfer_handlers
143*61c4878aSAndroid Build Coastguard Worker    pw_persistent_ram.flat_file_system_entry
144*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
145*61c4878aSAndroid Build Coastguard Worker    pw_system.trace_service
146*61c4878aSAndroid Build Coastguard Worker  SOURCES
147*61c4878aSAndroid Build Coastguard Worker    file_manager.cc
148*61c4878aSAndroid Build Coastguard Worker)
149*61c4878aSAndroid Build Coastguard Worker
150*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.transfer_service STATIC
151*61c4878aSAndroid Build Coastguard Worker  HEADERS
152*61c4878aSAndroid Build Coastguard Worker    public/pw_system/transfer_service.h
153*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
154*61c4878aSAndroid Build Coastguard Worker    public
155*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
156*61c4878aSAndroid Build Coastguard Worker    pw_transfer
157*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
158*61c4878aSAndroid Build Coastguard Worker    pw_system.file_manager
159*61c4878aSAndroid Build Coastguard Worker  SOURCES
160*61c4878aSAndroid Build Coastguard Worker    transfer_service.cc
161*61c4878aSAndroid Build Coastguard Worker)
162*61c4878aSAndroid Build Coastguard Worker
163*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.file_service STATIC
164*61c4878aSAndroid Build Coastguard Worker  HEADERS
165*61c4878aSAndroid Build Coastguard Worker    public/pw_system/file_service.h
166*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
167*61c4878aSAndroid Build Coastguard Worker    public
168*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
169*61c4878aSAndroid Build Coastguard Worker    pw_system.file_manager
170*61c4878aSAndroid Build Coastguard Worker  SOURCES
171*61c4878aSAndroid Build Coastguard Worker    file_service.cc
172*61c4878aSAndroid Build Coastguard Worker)
173*61c4878aSAndroid Build Coastguard Worker
174*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.trace_service STATIC
175*61c4878aSAndroid Build Coastguard Worker  HEADERS
176*61c4878aSAndroid Build Coastguard Worker    public/pw_system/trace_service.h
177*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
178*61c4878aSAndroid Build Coastguard Worker    public
179*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
180*61c4878aSAndroid Build Coastguard Worker    pw_system.transfer_handlers
181*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
182*61c4878aSAndroid Build Coastguard Worker    pw_persistent_ram
183*61c4878aSAndroid Build Coastguard Worker    pw_trace_tokenized.trace_service_pwpb
184*61c4878aSAndroid Build Coastguard Worker  SOURCES
185*61c4878aSAndroid Build Coastguard Worker    trace_service.cc
186*61c4878aSAndroid Build Coastguard Worker)
187*61c4878aSAndroid Build Coastguard Worker
188*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_system.io INTERFACE
189*61c4878aSAndroid Build Coastguard Worker  BACKEND
190*61c4878aSAndroid Build Coastguard Worker    pw_system.io_BACKEND
191*61c4878aSAndroid Build Coastguard Worker  HEADERS
192*61c4878aSAndroid Build Coastguard Worker    public/pw_system/io.h
193*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
194*61c4878aSAndroid Build Coastguard Worker    public
195*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
196*61c4878aSAndroid Build Coastguard Worker    pw_stream
197*61c4878aSAndroid Build Coastguard Worker)
198*61c4878aSAndroid Build Coastguard Worker
199*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_system.device_handler INTERFACE
200*61c4878aSAndroid Build Coastguard Worker  BACKEND
201*61c4878aSAndroid Build Coastguard Worker    pw_system.device_handler_BACKEND
202*61c4878aSAndroid Build Coastguard Worker  HEADERS
203*61c4878aSAndroid Build Coastguard Worker    public/pw_system/device_handler.h
204*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
205*61c4878aSAndroid Build Coastguard Worker    public
206*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
207*61c4878aSAndroid Build Coastguard Worker    pw_snapshot.snapshot_proto.pwpb
208*61c4878aSAndroid Build Coastguard Worker)
209*61c4878aSAndroid Build Coastguard Worker
210*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.unknown_device_handler STATIC
211*61c4878aSAndroid Build Coastguard Worker  SOURCES
212*61c4878aSAndroid Build Coastguard Worker    unknown_device_handler.cc
213*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
214*61c4878aSAndroid Build Coastguard Worker    pw_system.device_handler.facade
215*61c4878aSAndroid Build Coastguard Worker)
216*61c4878aSAndroid Build Coastguard Worker
217*61c4878aSAndroid Build Coastguard Workerpw_proto_library(pw_system.device_service_proto
218*61c4878aSAndroid Build Coastguard Worker  SOURCES
219*61c4878aSAndroid Build Coastguard Worker    pw_system_protos/device_service.proto
220*61c4878aSAndroid Build Coastguard Worker  INPUTS
221*61c4878aSAndroid Build Coastguard Worker    pw_system_protos/device_service.options
222*61c4878aSAndroid Build Coastguard Worker)
223*61c4878aSAndroid Build Coastguard Worker
224*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.device_service_pwpb STATIC
225*61c4878aSAndroid Build Coastguard Worker  HEADERS
226*61c4878aSAndroid Build Coastguard Worker    public/pw_system/device_service_pwpb.h
227*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
228*61c4878aSAndroid Build Coastguard Worker    public
229*61c4878aSAndroid Build Coastguard Worker  SOURCES
230*61c4878aSAndroid Build Coastguard Worker    device_service_pwpb.cc
231*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
232*61c4878aSAndroid Build Coastguard Worker    pw_system.device_service_proto.pwpb_rpc
233*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
234*61c4878aSAndroid Build Coastguard Worker    pw_system.device_handler
235*61c4878aSAndroid Build Coastguard Worker)
236*61c4878aSAndroid Build Coastguard Worker
237*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.device_service STATIC
238*61c4878aSAndroid Build Coastguard Worker  HEADERS
239*61c4878aSAndroid Build Coastguard Worker    public/pw_system/device_service.h
240*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
241*61c4878aSAndroid Build Coastguard Worker    public
242*61c4878aSAndroid Build Coastguard Worker  SOURCES
243*61c4878aSAndroid Build Coastguard Worker    device_service.cc
244*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
245*61c4878aSAndroid Build Coastguard Worker    pw_system.device_service_pwpb
246*61c4878aSAndroid Build Coastguard Worker)
247*61c4878aSAndroid Build Coastguard Worker
248*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.init STATIC
249*61c4878aSAndroid Build Coastguard Worker  HEADERS
250*61c4878aSAndroid Build Coastguard Worker    public/pw_system/init.h
251*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
252*61c4878aSAndroid Build Coastguard Worker    public
253*61c4878aSAndroid Build Coastguard Worker  SOURCES
254*61c4878aSAndroid Build Coastguard Worker    init.cc
255*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
256*61c4878aSAndroid Build Coastguard Worker    pw_system.device_service
257*61c4878aSAndroid Build Coastguard Worker    pw_system.file_manager
258*61c4878aSAndroid Build Coastguard Worker    pw_system.file_service
259*61c4878aSAndroid Build Coastguard Worker    pw_system.log
260*61c4878aSAndroid Build Coastguard Worker    pw_system.rpc_server
261*61c4878aSAndroid Build Coastguard Worker    pw_system.target_hooks.facade
262*61c4878aSAndroid Build Coastguard Worker    pw_system.thread_snapshot_service
263*61c4878aSAndroid Build Coastguard Worker    pw_system.trace_service
264*61c4878aSAndroid Build Coastguard Worker    pw_system.transfer_service
265*61c4878aSAndroid Build Coastguard Worker    pw_system.work_queue
266*61c4878aSAndroid Build Coastguard Worker    pw_metric.global
267*61c4878aSAndroid Build Coastguard Worker    pw_metric.metric_service_pwpb
268*61c4878aSAndroid Build Coastguard Worker    pw_rpc.pwpb.echo_service
269*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
270*61c4878aSAndroid Build Coastguard Worker    pw_trace
271*61c4878aSAndroid Build Coastguard Worker)
272*61c4878aSAndroid Build Coastguard Worker
273*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.work_queue STATIC
274*61c4878aSAndroid Build Coastguard Worker  HEADERS
275*61c4878aSAndroid Build Coastguard Worker    public/pw_system/work_queue.h
276*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
277*61c4878aSAndroid Build Coastguard Worker    public
278*61c4878aSAndroid Build Coastguard Worker  SOURCES
279*61c4878aSAndroid Build Coastguard Worker    work_queue.cc
280*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
281*61c4878aSAndroid Build Coastguard Worker    pw_work_queue
282*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
283*61c4878aSAndroid Build Coastguard Worker    pw_system.config
284*61c4878aSAndroid Build Coastguard Worker)
285*61c4878aSAndroid Build Coastguard Worker
286*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.sys_io_target_io STATIC
287*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
288*61c4878aSAndroid Build Coastguard Worker    pw_system.io.facade
289*61c4878aSAndroid Build Coastguard Worker    pw_stream
290*61c4878aSAndroid Build Coastguard Worker    pw_stream.sys_io_stream
291*61c4878aSAndroid Build Coastguard Worker  SOURCES
292*61c4878aSAndroid Build Coastguard Worker    sys_io_target_io.cc
293*61c4878aSAndroid Build Coastguard Worker)
294*61c4878aSAndroid Build Coastguard Worker
295*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.socket_target_io STATIC
296*61c4878aSAndroid Build Coastguard Worker  SOURCES
297*61c4878aSAndroid Build Coastguard Worker    socket_target_io.cc
298*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
299*61c4878aSAndroid Build Coastguard Worker    pw_assert
300*61c4878aSAndroid Build Coastguard Worker    pw_stream
301*61c4878aSAndroid Build Coastguard Worker    pw_stream.socket_stream
302*61c4878aSAndroid Build Coastguard Worker    pw_system.config
303*61c4878aSAndroid Build Coastguard Worker    pw_system.io.facade
304*61c4878aSAndroid Build Coastguard Worker)
305*61c4878aSAndroid Build Coastguard Worker
306*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_system.target_hooks INTERFACE
307*61c4878aSAndroid Build Coastguard Worker  BACKEND
308*61c4878aSAndroid Build Coastguard Worker    pw_system.target_hooks_BACKEND
309*61c4878aSAndroid Build Coastguard Worker  HEADERS
310*61c4878aSAndroid Build Coastguard Worker    public/pw_system/target_hooks.h
311*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
312*61c4878aSAndroid Build Coastguard Worker    public
313*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
314*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
315*61c4878aSAndroid Build Coastguard Worker)
316*61c4878aSAndroid Build Coastguard Worker
317*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.stl_target_hooks STATIC
318*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
319*61c4878aSAndroid Build Coastguard Worker    pw_system.config
320*61c4878aSAndroid Build Coastguard Worker    pw_thread.sleep
321*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
322*61c4878aSAndroid Build Coastguard Worker    pw_thread_stl.thread
323*61c4878aSAndroid Build Coastguard Worker  SOURCES
324*61c4878aSAndroid Build Coastguard Worker    stl_target_hooks.cc
325*61c4878aSAndroid Build Coastguard Worker)
326*61c4878aSAndroid Build Coastguard Worker
327*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.freertos_target_hooks STATIC
328*61c4878aSAndroid Build Coastguard Worker  SOURCES
329*61c4878aSAndroid Build Coastguard Worker    freertos_target_hooks.cc
330*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
331*61c4878aSAndroid Build Coastguard Worker    pw_system.config
332*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
333*61c4878aSAndroid Build Coastguard Worker    pw_thread_freertos.thread
334*61c4878aSAndroid Build Coastguard Worker    # TODO: b/234876414 - This should depend on FreeRTOS but our third parties
335*61c4878aSAndroid Build Coastguard Worker    # currently do not have CMake support.
336*61c4878aSAndroid Build Coastguard Worker)
337*61c4878aSAndroid Build Coastguard Worker
338*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.zephyr_target_hooks STATIC
339*61c4878aSAndroid Build Coastguard Worker  SOURCES
340*61c4878aSAndroid Build Coastguard Worker    zephyr_target_hooks.cc
341*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
342*61c4878aSAndroid Build Coastguard Worker    pw_system.target_hooks.facade
343*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
344*61c4878aSAndroid Build Coastguard Worker    pw_thread_zephyr.thread
345*61c4878aSAndroid Build Coastguard Worker)
346*61c4878aSAndroid Build Coastguard Worker
347*61c4878aSAndroid Build Coastguard Workeradd_executable(pw_system.system_example EXCLUDE_FROM_ALL
348*61c4878aSAndroid Build Coastguard Worker  example_user_app_init.cc
349*61c4878aSAndroid Build Coastguard Worker)
350*61c4878aSAndroid Build Coastguard Workertarget_link_libraries(pw_system.system_example
351*61c4878aSAndroid Build Coastguard Worker  PRIVATE
352*61c4878aSAndroid Build Coastguard Worker    pw_system.init
353*61c4878aSAndroid Build Coastguard Worker    pw_system.io
354*61c4878aSAndroid Build Coastguard Worker    pw_system.log
355*61c4878aSAndroid Build Coastguard Worker    pw_system.rpc_server
356*61c4878aSAndroid Build Coastguard Worker    pw_system.work_queue
357*61c4878aSAndroid Build Coastguard Worker    pw_log
358*61c4878aSAndroid Build Coastguard Worker    pw_thread.sleep
359*61c4878aSAndroid Build Coastguard Worker    pw_trace
360*61c4878aSAndroid Build Coastguard Worker    pw_unit_test.rpc_service
361*61c4878aSAndroid Build Coastguard Worker    pw_system.target_hooks
362*61c4878aSAndroid Build Coastguard Worker    targets.host_device_simulator.boot
363*61c4878aSAndroid Build Coastguard Worker)
364*61c4878aSAndroid Build Coastguard Worker
365*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.async STATIC
366*61c4878aSAndroid Build Coastguard Worker  HEADERS
367*61c4878aSAndroid Build Coastguard Worker    public/pw_system/system.h
368*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
369*61c4878aSAndroid Build Coastguard Worker    public
370*61c4878aSAndroid Build Coastguard Worker  SOURCES
371*61c4878aSAndroid Build Coastguard Worker    pw_system_private/threads.h
372*61c4878aSAndroid Build Coastguard Worker    system.cc
373*61c4878aSAndroid Build Coastguard Worker    threads.cc
374*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
375*61c4878aSAndroid Build Coastguard Worker    pw_allocator.allocator
376*61c4878aSAndroid Build Coastguard Worker    pw_async2.dispatcher
377*61c4878aSAndroid Build Coastguard Worker    pw_channel
378*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
379*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
380*61c4878aSAndroid Build Coastguard Worker    pw_system.async_packet_io
381*61c4878aSAndroid Build Coastguard Worker    pw_system.file_manager
382*61c4878aSAndroid Build Coastguard Worker    pw_system.file_service
383*61c4878aSAndroid Build Coastguard Worker    pw_system.log
384*61c4878aSAndroid Build Coastguard Worker    pw_system.thread_snapshot_service
385*61c4878aSAndroid Build Coastguard Worker    pw_system.transfer_service
386*61c4878aSAndroid Build Coastguard Worker    pw_system.work_queue
387*61c4878aSAndroid Build Coastguard Worker    pw_allocator.best_fit_block_allocator
388*61c4878aSAndroid Build Coastguard Worker    pw_allocator.synchronized_allocator
389*61c4878aSAndroid Build Coastguard Worker    pw_async2.allocate_task
390*61c4878aSAndroid Build Coastguard Worker    pw_async2.pend_func_task
391*61c4878aSAndroid Build Coastguard Worker    pw_hdlc.router
392*61c4878aSAndroid Build Coastguard Worker    pw_multibuf.simple_allocator
393*61c4878aSAndroid Build Coastguard Worker    pw_rpc.pwpb.echo_service
394*61c4878aSAndroid Build Coastguard Worker    pw_sync.interrupt_spin_lock
395*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
396*61c4878aSAndroid Build Coastguard Worker)
397*61c4878aSAndroid Build Coastguard Worker
398*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_system.async_packet_io STATIC
399*61c4878aSAndroid Build Coastguard Worker  HEADERS
400*61c4878aSAndroid Build Coastguard Worker    public/pw_system/internal/async_packet_io.h
401*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
402*61c4878aSAndroid Build Coastguard Worker    public
403*61c4878aSAndroid Build Coastguard Worker  SOURCES
404*61c4878aSAndroid Build Coastguard Worker    async_packet_io.cc
405*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
406*61c4878aSAndroid Build Coastguard Worker    pw_async2.dispatcher
407*61c4878aSAndroid Build Coastguard Worker    pw_channel.forwarding_channel
408*61c4878aSAndroid Build Coastguard Worker    pw_containers.inline_var_len_entry_queue
409*61c4878aSAndroid Build Coastguard Worker    pw_hdlc.router
410*61c4878aSAndroid Build Coastguard Worker    pw_multibuf.simple_allocator
411*61c4878aSAndroid Build Coastguard Worker    pw_rpc.server
412*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
413*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
414*61c4878aSAndroid Build Coastguard Worker    pw_sync.thread_notification
415*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
416*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread_core
417*61c4878aSAndroid Build Coastguard Worker    pw_allocator.allocator
418*61c4878aSAndroid Build Coastguard Worker    pw_channel
419*61c4878aSAndroid Build Coastguard Worker    pw_multibuf
420*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
421*61c4878aSAndroid Build Coastguard Worker    pw_system.config
422*61c4878aSAndroid Build Coastguard Worker    pw_assert
423*61c4878aSAndroid Build Coastguard Worker    pw_log
424*61c4878aSAndroid Build Coastguard Worker)
425*61c4878aSAndroid Build Coastguard Worker
426*61c4878aSAndroid Build Coastguard Workerif((NOT "${pw_async2.dispatcher_BACKEND}" STREQUAL "") AND
427*61c4878aSAndroid Build Coastguard Worker   (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Windows"))
428*61c4878aSAndroid Build Coastguard Worker  # TODO: b/317922402 - Run on Windows when thread detaching is supported.
429*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_system.async_packet_io_test
430*61c4878aSAndroid Build Coastguard Worker    SOURCES
431*61c4878aSAndroid Build Coastguard Worker      async_packet_io_test.cc
432*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
433*61c4878aSAndroid Build Coastguard Worker      pw_system.async_packet_io
434*61c4878aSAndroid Build Coastguard Worker      pw_allocator.testing
435*61c4878aSAndroid Build Coastguard Worker      pw_channel.loopback_channel
436*61c4878aSAndroid Build Coastguard Worker      pw_multibuf.testing
437*61c4878aSAndroid Build Coastguard Worker    GROUPS
438*61c4878aSAndroid Build Coastguard Worker      modules
439*61c4878aSAndroid Build Coastguard Worker      pw_system
440*61c4878aSAndroid Build Coastguard Worker  )
441*61c4878aSAndroid Build Coastguard Worker
442*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_system.system_async_test
443*61c4878aSAndroid Build Coastguard Worker    SOURCES
444*61c4878aSAndroid Build Coastguard Worker      system_async_test.cc
445*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
446*61c4878aSAndroid Build Coastguard Worker      pw_system.async
447*61c4878aSAndroid Build Coastguard Worker      pw_allocator.testing
448*61c4878aSAndroid Build Coastguard Worker      pw_channel.loopback_channel
449*61c4878aSAndroid Build Coastguard Worker      pw_multibuf.testing
450*61c4878aSAndroid Build Coastguard Worker    GROUPS
451*61c4878aSAndroid Build Coastguard Worker      modules
452*61c4878aSAndroid Build Coastguard Worker      pw_system
453*61c4878aSAndroid Build Coastguard Worker  )
454*61c4878aSAndroid Build Coastguard Workerendif()
455*61c4878aSAndroid Build Coastguard Worker
456*61c4878aSAndroid Build Coastguard Worker
457*61c4878aSAndroid Build Coastguard Workeradd_executable(pw_system.system_async_host_example EXCLUDE_FROM_ALL
458*61c4878aSAndroid Build Coastguard Worker  example_user_app_init.cc
459*61c4878aSAndroid Build Coastguard Worker)
460*61c4878aSAndroid Build Coastguard Workertarget_link_libraries(pw_system.system_async_host_example
461*61c4878aSAndroid Build Coastguard Worker  PRIVATE
462*61c4878aSAndroid Build Coastguard Worker    pw_system.async
463*61c4878aSAndroid Build Coastguard Worker    pw_channel.epoll_channel
464*61c4878aSAndroid Build Coastguard Worker    pw_multibuf.testing
465*61c4878aSAndroid Build Coastguard Worker    pw_trace
466*61c4878aSAndroid Build Coastguard Worker    pw_unit_test.rpc_service
467*61c4878aSAndroid Build Coastguard Worker    targets.host_device_simulator.boot
468*61c4878aSAndroid Build Coastguard Worker)
469