xref: /aosp_15_r20/external/pigweed/pw_async_basic/CMakeLists.txt (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2023 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_async_basic.task_backend INTERFACE
18  HEADERS
19    public/pw_async_basic/task.h
20    public_overrides/pw_async_backend/task.h
21  PUBLIC_INCLUDES
22    public
23    public_overrides
24  PUBLIC_DEPS
25    pw_async.task.facade
26    pw_containers.intrusive_list
27)
28
29pw_add_library(pw_async_basic.dispatcher_backend STATIC
30  HEADERS
31    public/pw_async_basic/dispatcher.h
32  SOURCES
33    dispatcher.cc
34  PUBLIC_INCLUDES
35    public
36  PUBLIC_DEPS
37    pw_async_basic.task_backend
38    pw_async.dispatcher.facade
39    pw_containers.intrusive_list
40    pw_sync.interrupt_spin_lock
41    pw_sync.timed_thread_notification
42    pw_thread.thread_core
43)
44
45pw_add_library(pw_async_basic.fake_dispatcher_backend STATIC
46  HEADERS
47    public/pw_async_basic/fake_dispatcher.h
48    public_overrides/pw_async_backend/fake_dispatcher.h
49  SOURCES
50    fake_dispatcher.cc
51  PUBLIC_INCLUDES
52    public
53  PUBLIC_DEPS
54    pw_async_basic.task_backend
55    pw_async.fake_dispatcher.facade
56    pw_unit_test
57  PRIVATE_DEPS
58    pw_log
59)
60