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) 16include($ENV{PW_ROOT}/pw_async/backend.cmake) 17 18pw_add_library(pw_async.types INTERFACE 19 HEADERS 20 public/pw_async/context.h 21 public/pw_async/task_function.h 22 PUBLIC_INCLUDES 23 public 24 PUBLIC_DEPS 25 pw_function 26 pw_status 27) 28 29pw_add_facade(pw_async.task INTERFACE 30 BACKEND 31 pw_async.task_BACKEND 32 HEADERS 33 public/pw_async/task.h 34 PUBLIC_INCLUDES 35 public 36 PUBLIC_DEPS 37 pw_async.types 38 pw_function 39 pw_status 40) 41 42pw_add_facade(pw_async.dispatcher INTERFACE 43 BACKEND 44 pw_async.dispatcher_BACKEND 45 HEADERS 46 public/pw_async/dispatcher.h 47 public/pw_async/function_dispatcher.h 48 PUBLIC_INCLUDES 49 public 50 PUBLIC_DEPS 51 pw_async.types 52 pw_chrono.system_clock 53 pw_function 54 pw_status 55) 56 57pw_add_facade(pw_async.fake_dispatcher INTERFACE 58 BACKEND 59 pw_async.fake_dispatcher_BACKEND 60 HEADERS 61 public/pw_async/fake_dispatcher.h 62 PUBLIC_INCLUDES 63 public 64 PUBLIC_DEPS 65 pw_async.dispatcher 66) 67 68pw_add_library(pw_async.heap_dispatcher STATIC 69 HEADERS 70 public/pw_async/heap_dispatcher.h 71 SOURCES 72 heap_dispatcher.cc 73 PRIVATE_DEPS 74 pw_result 75 PUBLIC_DEPS 76 pw_async.dispatcher 77 pw_async.task 78 pw_async.types 79) 80