xref: /aosp_15_r20/system/chre/util/CMakeLists.txt (revision 84e339476a462649f82315436d70fd732297a399)
1include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
2
3pw_add_library(chre.util STATIC
4  HEADERS
5    include/chre/util/always_false.h
6    include/chre/util/array_queue.h
7    include/chre/util/array_queue_impl.h
8    include/chre/util/blocking_segmented_queue.h
9    include/chre/util/buffer.h
10    include/chre/util/buffer_base.h
11    include/chre/util/conditional_lock_guard.h
12    include/chre/util/conditional_lock_guard_impl.h
13    include/chre/util/container_support.h
14    include/chre/util/copyable_fixed_size_vector.h
15    include/chre/util/duplicate_message_detector.h
16    include/chre/util/dynamic_vector.h
17    include/chre/util/dynamic_vector_base.h
18    include/chre/util/dynamic_vector_impl.h
19    include/chre/util/enum.h
20    include/chre/util/fixed_size_vector.h
21    include/chre/util/fixed_size_vector_impl.h
22    include/chre/util/fragmentation_manager.h
23    include/chre/util/fragmentation_manager_impl.h
24    include/chre/util/hash.h
25    include/chre/util/heap.h
26    include/chre/util/heap_impl.h
27    include/chre/util/host/assert.h
28    include/chre/util/intrusive_list.h
29    include/chre/util/intrusive_list_base.h
30    include/chre/util/intrusive_list_impl.h
31    include/chre/util/lock_guard.h
32    include/chre/util/lock_guard_impl.h
33    include/chre/util/log_common.h
34    include/chre/util/macros.h
35    include/chre/util/memory.h
36    include/chre/util/memory_impl.h
37    include/chre/util/memory_pool.h
38    include/chre/util/memory_pool_impl.h
39    include/chre/util/nested_data_ptr.h
40    include/chre/util/non_copyable.h
41    include/chre/util/optional.h
42    include/chre/util/optional_impl.h
43    include/chre/util/priority_queue.h
44    include/chre/util/priority_queue_impl.h
45    include/chre/util/raw_storage.h
46    include/chre/util/scope_timer.h
47    include/chre/util/scope_timer_impl.h
48    include/chre/util/segmented_queue.h
49    include/chre/util/segmented_queue_impl.h
50    include/chre/util/singleton.h
51    include/chre/util/singleton_impl.h
52    include/chre/util/throttle.h
53    include/chre/util/time.h
54    include/chre/util/time_impl.h
55    include/chre/util/toolchain.h
56    include/chre/util/unique_ptr.h
57    include/chre/util/unique_ptr_impl.h
58  PUBLIC_INCLUDES
59    include
60  PUBLIC_DEPS
61    chre.chre_api
62    chre.platform.assert
63    chre.platform.memory
64    chre.platform.system_time
65    chre.util.nanoapp
66    chre.variant.config
67
68    # TODO(b/376249597) Move the synchronized expandable memory pool, fixed
69    # size blocking queue, and synchronized memory pool to chre.util.system.
70    chre.platform.condition_variable
71    chre.platform.mutex
72  SOURCES
73    buffer_base.cc
74    duplicate_message_detector.cc
75    dynamic_vector_base.cc
76    hash.cc
77    intrusive_list_base.cc
78)
79
80pw_add_library(chre.util.flatbuffers INTERFACE
81  HEADERS
82    include/chre/util/flatbuffers/helpers.h
83  PUBLIC_INCLUDES
84    include
85  PUBLIC_DEPS
86    chre.util
87    chre.variant.config
88    chre_third_party.flatbuffers
89)
90
91pw_add_library(chre.util.host INTERFACE
92  HEADERS
93    include/chre/util/host/assert.h
94  PUBLIC_INCLUDES
95    include
96)
97
98
99pw_add_library(chre.util.nanoapp STATIC
100  HEADERS
101    include/chre/util/nanoapp/app_id.h
102    include/chre/util/nanoapp/assert.h
103    include/chre/util/nanoapp/audio.h
104    include/chre/util/nanoapp/ble.h
105    include/chre/util/nanoapp/callbacks.h
106    include/chre/util/nanoapp/debug.h
107    include/chre/util/nanoapp/log.h
108    include/chre/util/nanoapp/math.h
109    include/chre/util/nanoapp/string.h
110    include/chre/util/nanoapp/tagged_log.h
111    include/chre/util/nanoapp/wifi.h
112  PUBLIC_INCLUDES
113    include
114  PUBLIC_DEPS
115    chre.chre_api
116    chre.platform.assert
117    chre.platform.log
118    chre.util
119    chre.variant.config
120    pw_tokenizer
121  SOURCES
122    nanoapp/audio.cc
123    nanoapp/ble.cc
124    nanoapp/callbacks.cc
125    nanoapp/debug.cc
126    nanoapp/string.cc
127    nanoapp/wifi.cc
128)
129
130pw_add_library(chre.util.pigweed STATIC
131  HEADERS
132    include/chre/util/pigweed/chre_channel_output.h
133    include/chre/util/pigweed/permission.h
134    include/chre/util/pigweed/rpc_client.h
135    include/chre/util/pigweed/rpc_common.h
136    include/chre/util/pigweed/rpc_helper.h
137    include/chre/util/pigweed/rpc_server.h
138  PUBLIC_INCLUDES
139    include
140  PUBLIC_DEPS
141    chre.chre_api
142    chre.util
143    chre.util.nanoapp
144    chre.variant.config
145    pw_rpc.client
146    pw_rpc.common
147    pw_rpc.server
148    pw_span
149  SOURCES
150    pigweed/chre_channel_output.cc
151    pigweed/rpc_client.cc
152    pigweed/rpc_helper.cc
153    pigweed/rpc_server.cc
154  PRIVATE_DEPS
155    pw_status
156)
157
158pw_add_library(chre.util.system STATIC
159  HEADERS
160    include/chre/util/system/atomic_spsc_queue.h
161    include/chre/util/system/ble_util.h
162    include/chre/util/system/debug_dump.h
163    include/chre/util/system/event_callbacks.h
164    include/chre/util/system/fixed_size_blocking_queue.h
165    include/chre/util/system/fixed_size_blocking_queue_impl.h
166    include/chre/util/system/message_common.h
167    include/chre/util/system/message_router.h
168    include/chre/util/system/napp_header_utils.h
169    include/chre/util/system/napp_permissions.h
170    include/chre/util/system/ref_base.h
171    include/chre/util/system/shared_ptr.h
172    include/chre/util/system/shared_ptr_impl.h
173    include/chre/util/system/synchronized_expandable_memory_pool.h
174    include/chre/util/system/synchronized_expandable_memory_pool_impl.h
175    include/chre/util/system/synchronized_memory_pool.h
176    include/chre/util/system/synchronized_memory_pool_impl.h
177    include/chre/util/system/stats_container.h
178    include/chre/util/system/transaction_manager.h
179    include/chre/util/system/transaction_manager_impl.h
180    include/chre/util/system/wifi_util.h
181  PUBLIC_INCLUDES
182    include
183  PUBLIC_DEPS
184    chre.chre_api
185    chre.core
186    chre.platform.assert
187    chre.platform.atomic
188    chre.platform.memory
189    chre.platform.mutex
190    chre.platform.system_time
191    chre.util
192    chre.variant.config
193    pw_allocator.deallocator
194  SOURCES
195    system/ble_util.cc
196    system/event_callbacks.cc
197    system/debug_dump.cc
198    system/message_router.cc
199  PRIVATE_DEPS
200    chre.platform.log
201)
202