xref: /aosp_15_r20/external/pigweed/pw_sync/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_sync/backend.cmake)
17*61c4878aSAndroid Build Coastguard Worker
18*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.binary_semaphore STATIC
19*61c4878aSAndroid Build Coastguard Worker  BACKEND
20*61c4878aSAndroid Build Coastguard Worker    pw_sync.binary_semaphore_BACKEND
21*61c4878aSAndroid Build Coastguard Worker  HEADERS
22*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/binary_semaphore.h
23*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
24*61c4878aSAndroid Build Coastguard Worker    public
25*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
26*61c4878aSAndroid Build Coastguard Worker    pw_chrono.system_clock
27*61c4878aSAndroid Build Coastguard Worker    pw_preprocessor
28*61c4878aSAndroid Build Coastguard Worker  SOURCES
29*61c4878aSAndroid Build Coastguard Worker    binary_semaphore.cc
30*61c4878aSAndroid Build Coastguard Worker)
31*61c4878aSAndroid Build Coastguard Worker
32*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.counting_semaphore STATIC
33*61c4878aSAndroid Build Coastguard Worker  BACKEND
34*61c4878aSAndroid Build Coastguard Worker    pw_sync.counting_semaphore_BACKEND
35*61c4878aSAndroid Build Coastguard Worker  HEADERS
36*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/counting_semaphore.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_chrono.system_clock
41*61c4878aSAndroid Build Coastguard Worker    pw_preprocessor
42*61c4878aSAndroid Build Coastguard Worker  SOURCES
43*61c4878aSAndroid Build Coastguard Worker    counting_semaphore.cc
44*61c4878aSAndroid Build Coastguard Worker)
45*61c4878aSAndroid Build Coastguard Worker
46*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.lock_annotations INTERFACE
47*61c4878aSAndroid Build Coastguard Worker  HEADERS
48*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/lock_annotations.h
49*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
50*61c4878aSAndroid Build Coastguard Worker    public
51*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
52*61c4878aSAndroid Build Coastguard Worker    pw_preprocessor
53*61c4878aSAndroid Build Coastguard Worker)
54*61c4878aSAndroid Build Coastguard Worker
55*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.lock_traits INTERFACE
56*61c4878aSAndroid Build Coastguard Worker  HEADERS
57*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/lock_traits.h
58*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
59*61c4878aSAndroid Build Coastguard Worker    public
60*61c4878aSAndroid Build Coastguard Worker)
61*61c4878aSAndroid Build Coastguard Worker
62*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.borrow INTERFACE
63*61c4878aSAndroid Build Coastguard Worker  HEADERS
64*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/borrow.h
65*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
66*61c4878aSAndroid Build Coastguard Worker    public
67*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
68*61c4878aSAndroid Build Coastguard Worker    pw_assert
69*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
70*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_traits
71*61c4878aSAndroid Build Coastguard Worker    pw_sync.virtual_basic_lockable
72*61c4878aSAndroid Build Coastguard Worker)
73*61c4878aSAndroid Build Coastguard Worker
74*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.inline_borrowable INTERFACE
75*61c4878aSAndroid Build Coastguard Worker  HEADERS
76*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/inline_borrowable.h
77*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/internal/borrowable_storage.h
78*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
79*61c4878aSAndroid Build Coastguard Worker    public
80*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
81*61c4878aSAndroid Build Coastguard Worker    pw_sync.borrow
82*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
83*61c4878aSAndroid Build Coastguard Worker    pw_sync.virtual_basic_lockable
84*61c4878aSAndroid Build Coastguard Worker)
85*61c4878aSAndroid Build Coastguard Worker
86*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.virtual_basic_lockable INTERFACE
87*61c4878aSAndroid Build Coastguard Worker  HEADERS
88*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/virtual_basic_lockable.h
89*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
90*61c4878aSAndroid Build Coastguard Worker    public
91*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
92*61c4878aSAndroid Build Coastguard Worker    pw_polyfill
93*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
94*61c4878aSAndroid Build Coastguard Worker)
95*61c4878aSAndroid Build Coastguard Worker
96*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.mutex STATIC
97*61c4878aSAndroid Build Coastguard Worker  BACKEND
98*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex_BACKEND
99*61c4878aSAndroid Build Coastguard Worker  HEADERS
100*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/mutex.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_sync.lock_annotations
105*61c4878aSAndroid Build Coastguard Worker    pw_sync.virtual_basic_lockable
106*61c4878aSAndroid Build Coastguard Worker    pw_preprocessor
107*61c4878aSAndroid Build Coastguard Worker  SOURCES
108*61c4878aSAndroid Build Coastguard Worker    mutex.cc
109*61c4878aSAndroid Build Coastguard Worker)
110*61c4878aSAndroid Build Coastguard Worker
111*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.timed_mutex STATIC
112*61c4878aSAndroid Build Coastguard Worker  BACKEND
113*61c4878aSAndroid Build Coastguard Worker    pw_sync.timed_mutex_BACKEND
114*61c4878aSAndroid Build Coastguard Worker  HEADERS
115*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/timed_mutex.h
116*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
117*61c4878aSAndroid Build Coastguard Worker    public
118*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
119*61c4878aSAndroid Build Coastguard Worker    pw_chrono.system_clock
120*61c4878aSAndroid Build Coastguard Worker    pw_preprocessor
121*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
122*61c4878aSAndroid Build Coastguard Worker    pw_sync.virtual_basic_lockable
123*61c4878aSAndroid Build Coastguard Worker  SOURCES
124*61c4878aSAndroid Build Coastguard Worker    timed_mutex.cc
125*61c4878aSAndroid Build Coastguard Worker)
126*61c4878aSAndroid Build Coastguard Worker
127*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.recursive_mutex STATIC
128*61c4878aSAndroid Build Coastguard Worker  BACKEND
129*61c4878aSAndroid Build Coastguard Worker    pw_sync.recursive_mutex_BACKEND
130*61c4878aSAndroid Build Coastguard Worker  HEADERS
131*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/recursive_mutex.h
132*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
133*61c4878aSAndroid Build Coastguard Worker    public
134*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
135*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
136*61c4878aSAndroid Build Coastguard Worker    pw_preprocessor
137*61c4878aSAndroid Build Coastguard Worker  SOURCES
138*61c4878aSAndroid Build Coastguard Worker    recursive_mutex.cc
139*61c4878aSAndroid Build Coastguard Worker)
140*61c4878aSAndroid Build Coastguard Worker
141*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.interrupt_spin_lock STATIC
142*61c4878aSAndroid Build Coastguard Worker  BACKEND
143*61c4878aSAndroid Build Coastguard Worker    pw_sync.interrupt_spin_lock_BACKEND
144*61c4878aSAndroid Build Coastguard Worker  HEADERS
145*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/interrupt_spin_lock.h
146*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
147*61c4878aSAndroid Build Coastguard Worker    public
148*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
149*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
150*61c4878aSAndroid Build Coastguard Worker    pw_sync.virtual_basic_lockable
151*61c4878aSAndroid Build Coastguard Worker    pw_preprocessor
152*61c4878aSAndroid Build Coastguard Worker  SOURCES
153*61c4878aSAndroid Build Coastguard Worker    interrupt_spin_lock.cc
154*61c4878aSAndroid Build Coastguard Worker)
155*61c4878aSAndroid Build Coastguard Worker
156*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.thread_notification INTERFACE
157*61c4878aSAndroid Build Coastguard Worker  BACKEND
158*61c4878aSAndroid Build Coastguard Worker    pw_sync.thread_notification_BACKEND
159*61c4878aSAndroid Build Coastguard Worker  HEADERS
160*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/thread_notification.h
161*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
162*61c4878aSAndroid Build Coastguard Worker    public
163*61c4878aSAndroid Build Coastguard Worker)
164*61c4878aSAndroid Build Coastguard Worker
165*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.timed_thread_notification INTERFACE
166*61c4878aSAndroid Build Coastguard Worker  BACKEND
167*61c4878aSAndroid Build Coastguard Worker    pw_sync.timed_thread_notification_BACKEND
168*61c4878aSAndroid Build Coastguard Worker  HEADERS
169*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/timed_thread_notification.h
170*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
171*61c4878aSAndroid Build Coastguard Worker    public
172*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
173*61c4878aSAndroid Build Coastguard Worker    pw_sync.thread_notification
174*61c4878aSAndroid Build Coastguard Worker    pw_chrono.system_clock
175*61c4878aSAndroid Build Coastguard Worker)
176*61c4878aSAndroid Build Coastguard Worker
177*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::ThreadNotification based on
178*61c4878aSAndroid Build Coastguard Worker# pw::sync::BinarySemaphore.
179*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.binary_semaphore_thread_notification_backend INTERFACE
180*61c4878aSAndroid Build Coastguard Worker  HEADERS
181*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/backends/binary_semaphore_thread_notification_inline.h
182*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/backends/binary_semaphore_thread_notification_native.h
183*61c4878aSAndroid Build Coastguard Worker    public_overrides/pw_sync_backend/thread_notification_inline.h
184*61c4878aSAndroid Build Coastguard Worker    public_overrides/pw_sync_backend/thread_notification_native.h
185*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
186*61c4878aSAndroid Build Coastguard Worker    public
187*61c4878aSAndroid Build Coastguard Worker    public_overrides
188*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
189*61c4878aSAndroid Build Coastguard Worker    pw_sync.binary_semaphore
190*61c4878aSAndroid Build Coastguard Worker)
191*61c4878aSAndroid Build Coastguard Worker
192*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::TimedThreadNotification based
193*61c4878aSAndroid Build Coastguard Worker# on pw::sync::BinarySemaphore.
194*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.binary_semaphore_timed_thread_notification_backend INTERFACE
195*61c4878aSAndroid Build Coastguard Worker  HEADERS
196*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/backends/binary_semaphore_timed_thread_notification_inline.h
197*61c4878aSAndroid Build Coastguard Worker    public_overrides/pw_sync_backend/timed_thread_notification_inline.h
198*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
199*61c4878aSAndroid Build Coastguard Worker    public
200*61c4878aSAndroid Build Coastguard Worker    public_overrides
201*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
202*61c4878aSAndroid Build Coastguard Worker    pw_chrono.system_clock
203*61c4878aSAndroid Build Coastguard Worker    pw_sync.binary_semaphore_thread_notification_backend
204*61c4878aSAndroid Build Coastguard Worker)
205*61c4878aSAndroid Build Coastguard Worker
206*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.yield_core INTERFACE
207*61c4878aSAndroid Build Coastguard Worker  HEADERS
208*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/yield_core.h
209*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
210*61c4878aSAndroid Build Coastguard Worker    public
211*61c4878aSAndroid Build Coastguard Worker)
212*61c4878aSAndroid Build Coastguard Worker
213*61c4878aSAndroid Build Coastguard Workerpw_add_facade(pw_sync.condition_variable INTERFACE
214*61c4878aSAndroid Build Coastguard Worker  BACKEND
215*61c4878aSAndroid Build Coastguard Worker    pw_sync.condition_variable_BACKEND
216*61c4878aSAndroid Build Coastguard Worker  HEADERS
217*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/condition_variable.h
218*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
219*61c4878aSAndroid Build Coastguard Worker    public
220*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
221*61c4878aSAndroid Build Coastguard Worker    pw_chrono.system_clock
222*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
223*61c4878aSAndroid Build Coastguard Worker)
224*61c4878aSAndroid Build Coastguard Worker
225*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.lock_testing STATIC
226*61c4878aSAndroid Build Coastguard Worker  HEADERS
227*61c4878aSAndroid Build Coastguard Worker    public/pw_sync/lock_testing.h
228*61c4878aSAndroid Build Coastguard Worker  SOURCES
229*61c4878aSAndroid Build Coastguard Worker    lock_testing.cc
230*61c4878aSAndroid Build Coastguard Worker  PUBLIC_INCLUDES
231*61c4878aSAndroid Build Coastguard Worker    public
232*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
233*61c4878aSAndroid Build Coastguard Worker    pw_sync.virtual_basic_lockable
234*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
235*61c4878aSAndroid Build Coastguard Worker    pw_assert
236*61c4878aSAndroid Build Coastguard Worker)
237*61c4878aSAndroid Build Coastguard Worker
238*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.borrow_lockable_tests INTERFACE
239*61c4878aSAndroid Build Coastguard Worker  HEADERS
240*61c4878aSAndroid Build Coastguard Worker    pw_sync_private/borrow_lockable_tests.h
241*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
242*61c4878aSAndroid Build Coastguard Worker    pw_sync.borrow
243*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_traits
244*61c4878aSAndroid Build Coastguard Worker)
245*61c4878aSAndroid Build Coastguard Worker
246*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_sync.lock_traits_test
247*61c4878aSAndroid Build Coastguard Worker  SOURCES
248*61c4878aSAndroid Build Coastguard Worker    lock_traits_test.cc
249*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
250*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_testing
251*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_traits
252*61c4878aSAndroid Build Coastguard Worker)
253*61c4878aSAndroid Build Coastguard Worker
254*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_sync.borrow_test
255*61c4878aSAndroid Build Coastguard Worker  SOURCES
256*61c4878aSAndroid Build Coastguard Worker    borrow_test.cc
257*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
258*61c4878aSAndroid Build Coastguard Worker    pw_sync.borrow
259*61c4878aSAndroid Build Coastguard Worker    pw_sync.borrow_lockable_tests
260*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_testing
261*61c4878aSAndroid Build Coastguard Worker  GROUPS
262*61c4878aSAndroid Build Coastguard Worker    modules
263*61c4878aSAndroid Build Coastguard Worker    pw_sync
264*61c4878aSAndroid Build Coastguard Worker)
265*61c4878aSAndroid Build Coastguard Worker
266*61c4878aSAndroid Build Coastguard Workerpw_add_test(pw_sync.inline_borrowable_test
267*61c4878aSAndroid Build Coastguard Worker  SOURCES
268*61c4878aSAndroid Build Coastguard Worker    inline_borrowable_test.cc
269*61c4878aSAndroid Build Coastguard Worker  PRIVATE_DEPS
270*61c4878aSAndroid Build Coastguard Worker    pw_sync.inline_borrowable
271*61c4878aSAndroid Build Coastguard Worker    pw_sync.interrupt_spin_lock
272*61c4878aSAndroid Build Coastguard Worker    pw_sync.lock_annotations
273*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
274*61c4878aSAndroid Build Coastguard Worker  GROUPS
275*61c4878aSAndroid Build Coastguard Worker    modules
276*61c4878aSAndroid Build Coastguard Worker    pw_sync
277*61c4878aSAndroid Build Coastguard Worker)
278*61c4878aSAndroid Build Coastguard Worker
279*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_sync.binary_semaphore_BACKEND}" STREQUAL "")
280*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_sync.binary_semaphore_facade_test
281*61c4878aSAndroid Build Coastguard Worker    SOURCES
282*61c4878aSAndroid Build Coastguard Worker      binary_semaphore_facade_test.cc
283*61c4878aSAndroid Build Coastguard Worker      binary_semaphore_facade_test_c.c
284*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
285*61c4878aSAndroid Build Coastguard Worker      pw_preprocessor
286*61c4878aSAndroid Build Coastguard Worker      pw_sync.binary_semaphore
287*61c4878aSAndroid Build Coastguard Worker    GROUPS
288*61c4878aSAndroid Build Coastguard Worker      modules
289*61c4878aSAndroid Build Coastguard Worker      pw_sync
290*61c4878aSAndroid Build Coastguard Worker  )
291*61c4878aSAndroid Build Coastguard Workerendif()
292*61c4878aSAndroid Build Coastguard Worker
293*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_sync.counting_semaphore_BACKEND}" STREQUAL "")
294*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_sync.counting_semaphore_facade_test
295*61c4878aSAndroid Build Coastguard Worker    SOURCES
296*61c4878aSAndroid Build Coastguard Worker      counting_semaphore_facade_test.cc
297*61c4878aSAndroid Build Coastguard Worker      counting_semaphore_facade_test_c.c
298*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
299*61c4878aSAndroid Build Coastguard Worker      pw_preprocessor
300*61c4878aSAndroid Build Coastguard Worker      pw_sync.counting_semaphore
301*61c4878aSAndroid Build Coastguard Worker    GROUPS
302*61c4878aSAndroid Build Coastguard Worker      modules
303*61c4878aSAndroid Build Coastguard Worker      pw_sync
304*61c4878aSAndroid Build Coastguard Worker  )
305*61c4878aSAndroid Build Coastguard Workerendif()
306*61c4878aSAndroid Build Coastguard Worker
307*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_sync.mutex_BACKEND}" STREQUAL "")
308*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_sync.mutex_facade_test
309*61c4878aSAndroid Build Coastguard Worker    SOURCES
310*61c4878aSAndroid Build Coastguard Worker      mutex_facade_test.cc
311*61c4878aSAndroid Build Coastguard Worker      mutex_facade_test_c.c
312*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
313*61c4878aSAndroid Build Coastguard Worker      pw_preprocessor
314*61c4878aSAndroid Build Coastguard Worker      pw_sync.mutex
315*61c4878aSAndroid Build Coastguard Worker      pw_sync.borrow_lockable_tests
316*61c4878aSAndroid Build Coastguard Worker    GROUPS
317*61c4878aSAndroid Build Coastguard Worker      modules
318*61c4878aSAndroid Build Coastguard Worker      pw_sync
319*61c4878aSAndroid Build Coastguard Worker  )
320*61c4878aSAndroid Build Coastguard Workerendif()
321*61c4878aSAndroid Build Coastguard Worker
322*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_sync.timed_mutex_BACKEND}" STREQUAL "")
323*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_sync.timed_mutex_facade_test
324*61c4878aSAndroid Build Coastguard Worker    SOURCES
325*61c4878aSAndroid Build Coastguard Worker      timed_mutex_facade_test.cc
326*61c4878aSAndroid Build Coastguard Worker      timed_mutex_facade_test_c.c
327*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
328*61c4878aSAndroid Build Coastguard Worker      pw_preprocessor
329*61c4878aSAndroid Build Coastguard Worker      pw_sync.timed_mutex
330*61c4878aSAndroid Build Coastguard Worker      pw_sync.borrow_lockable_tests
331*61c4878aSAndroid Build Coastguard Worker    GROUPS
332*61c4878aSAndroid Build Coastguard Worker      modules
333*61c4878aSAndroid Build Coastguard Worker      pw_sync
334*61c4878aSAndroid Build Coastguard Worker  )
335*61c4878aSAndroid Build Coastguard Workerendif()
336*61c4878aSAndroid Build Coastguard Worker
337*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_sync.interrupt_spin_lock_BACKEND}" STREQUAL "")
338*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_sync.interrupt_spin_lock_facade_test
339*61c4878aSAndroid Build Coastguard Worker    SOURCES
340*61c4878aSAndroid Build Coastguard Worker      interrupt_spin_lock_facade_test.cc
341*61c4878aSAndroid Build Coastguard Worker      interrupt_spin_lock_facade_test_c.c
342*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
343*61c4878aSAndroid Build Coastguard Worker      pw_preprocessor
344*61c4878aSAndroid Build Coastguard Worker      pw_sync.interrupt_spin_lock
345*61c4878aSAndroid Build Coastguard Worker      pw_sync.borrow_lockable_tests
346*61c4878aSAndroid Build Coastguard Worker    GROUPS
347*61c4878aSAndroid Build Coastguard Worker      modules
348*61c4878aSAndroid Build Coastguard Worker      pw_sync
349*61c4878aSAndroid Build Coastguard Worker  )
350*61c4878aSAndroid Build Coastguard Workerendif()
351*61c4878aSAndroid Build Coastguard Worker
352*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_sync.thread_notification_BACKEND}" STREQUAL "")
353*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_sync.thread_notification_facade_test
354*61c4878aSAndroid Build Coastguard Worker    SOURCES
355*61c4878aSAndroid Build Coastguard Worker      thread_notification_facade_test.cc
356*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
357*61c4878aSAndroid Build Coastguard Worker      pw_sync.thread_notification
358*61c4878aSAndroid Build Coastguard Worker    GROUPS
359*61c4878aSAndroid Build Coastguard Worker      modules
360*61c4878aSAndroid Build Coastguard Worker      pw_sync
361*61c4878aSAndroid Build Coastguard Worker  )
362*61c4878aSAndroid Build Coastguard Workerendif()
363*61c4878aSAndroid Build Coastguard Worker
364*61c4878aSAndroid Build Coastguard Workerif(NOT "${pw_sync.timed_thread_notification_BACKEND}" STREQUAL "")
365*61c4878aSAndroid Build Coastguard Worker  pw_add_test(pw_sync.timed_thread_notification_facade_test
366*61c4878aSAndroid Build Coastguard Worker    SOURCES
367*61c4878aSAndroid Build Coastguard Worker      timed_thread_notification_facade_test.cc
368*61c4878aSAndroid Build Coastguard Worker    PRIVATE_DEPS
369*61c4878aSAndroid Build Coastguard Worker      pw_sync.timed_thread_notification
370*61c4878aSAndroid Build Coastguard Worker    GROUPS
371*61c4878aSAndroid Build Coastguard Worker      modules
372*61c4878aSAndroid Build Coastguard Worker      pw_sync
373*61c4878aSAndroid Build Coastguard Worker  )
374*61c4878aSAndroid Build Coastguard Workerendif()
375*61c4878aSAndroid Build Coastguard Worker
376*61c4878aSAndroid Build Coastguard Workerpw_add_library(pw_sync.condition_variable_test STATIC
377*61c4878aSAndroid Build Coastguard Worker  PUBLIC_DEPS
378*61c4878aSAndroid Build Coastguard Worker    pw_sync.condition_variable
379*61c4878aSAndroid Build Coastguard Worker    pw_containers.vector
380*61c4878aSAndroid Build Coastguard Worker    pw_sync.mutex
381*61c4878aSAndroid Build Coastguard Worker    pw_sync.timed_thread_notification
382*61c4878aSAndroid Build Coastguard Worker    pw_thread.sleep
383*61c4878aSAndroid Build Coastguard Worker    pw_thread.non_portable_test_thread_options
384*61c4878aSAndroid Build Coastguard Worker    pw_thread.thread
385*61c4878aSAndroid Build Coastguard Worker    pw_unit_test
386*61c4878aSAndroid Build Coastguard Worker  SOURCES
387*61c4878aSAndroid Build Coastguard Worker    condition_variable_test.cc
388*61c4878aSAndroid Build Coastguard Worker)
389