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_module_config(pw_log_rpc_CONFIG) 18 19pw_add_library(pw_log_rpc.config INTERFACE 20 HEADERS 21 public/pw_log_rpc/internal/config.h 22 PUBLIC_INCLUDES 23 public 24 PUBLIC_DEPS 25 ${pw_log_rpc_CONFIG} 26) 27 28pw_add_library(pw_log_rpc.log_config INTERFACE 29 HEADERS 30 public/pw_log_rpc/internal/log_config.h 31 PUBLIC_INCLUDES 32 public 33 PUBLIC_DEPS 34 pw_log_rpc.config 35) 36 37pw_add_library(pw_log_rpc.log_service STATIC 38 HEADERS 39 public/pw_log_rpc/log_service.h 40 PUBLIC_INCLUDES 41 public 42 PUBLIC_DEPS 43 pw_log_rpc.rpc_log_drain 44 pw_log.protos.raw_rpc 45 SOURCES 46 log_service.cc 47 PRIVATE_DEPS 48 pw_log 49 pw_log.protos.pwpb 50 pw_log_rpc.log_config 51) 52 53pw_add_library(pw_log_rpc.log_filter_service STATIC 54 HEADERS 55 public/pw_log_rpc/log_filter_service.h 56 PUBLIC_INCLUDES 57 public 58 PUBLIC_DEPS 59 pw_log.protos.raw_rpc 60 pw_log_rpc.log_filter 61 pw_protobuf.bytes_utils 62 SOURCES 63 log_filter_service.cc 64 PRIVATE_DEPS 65 pw_log 66 pw_log.protos.pwpb 67 pw_protobuf 68) 69 70pw_add_library(pw_log_rpc.log_filter STATIC 71 HEADERS 72 public/pw_log_rpc/log_filter.h 73 public/pw_log_rpc/log_filter_map.h 74 PUBLIC_INCLUDES 75 public 76 PUBLIC_DEPS 77 pw_assert 78 pw_bytes 79 pw_containers.vector 80 pw_log.protos.pwpb 81 pw_log_rpc.config 82 pw_protobuf 83 pw_span 84 pw_status 85 SOURCES 86 log_filter.cc 87 PRIVATE_DEPS 88 pw_log 89 pw_log.protos.pwpb 90) 91 92pw_add_library(pw_log_rpc.rpc_log_drain STATIC 93 HEADERS 94 public/pw_log_rpc/rpc_log_drain.h 95 public/pw_log_rpc/rpc_log_drain_map.h 96 PUBLIC_INCLUDES 97 public 98 PUBLIC_DEPS 99 pw_assert 100 pw_chrono.system_clock 101 pw_function 102 pw_log.protos.pwpb 103 pw_log.protos.raw_rpc 104 pw_log_rpc.config 105 pw_log_rpc.log_filter 106 pw_multisink 107 pw_protobuf 108 pw_result 109 pw_span 110 pw_status 111 pw_sync.lock_annotations 112 pw_sync.mutex 113 SOURCES 114 rpc_log_drain.cc 115) 116 117pw_add_library(pw_log_rpc.rpc_log_drain_thread INTERFACE 118 HEADERS 119 public/pw_log_rpc/rpc_log_drain_thread.h 120 PUBLIC_INCLUDES 121 public 122 PUBLIC_DEPS 123 pw_chrono.system_clock 124 pw_log_rpc.log_service 125 pw_log_rpc.rpc_log_drain 126 pw_multisink 127 pw_result 128 pw_rpc.raw.server_api 129 pw_status 130 pw_sync.timed_thread_notification 131 pw_thread.thread 132 pw_thread.thread_core 133) 134 135pw_add_library(pw_log_rpc.test_utils STATIC 136 HEADERS 137 pw_log_rpc_private/test_utils.h 138 PUBLIC_DEPS 139 pw_bytes 140 pw_containers.vector 141 pw_log_tokenized.metadata 142 pw_protobuf 143 pw_unit_test 144 SOURCES 145 test_utils.cc 146 PRIVATE_DEPS 147 pw_log 148 pw_log.protos.pwpb 149 pw_protobuf.bytes_utils 150) 151 152if(NOT "${pw_chrono.system_clock_BACKEND}" STREQUAL "") 153 pw_add_test(pw_log_rpc.log_service_test 154 SOURCES 155 log_service_test.cc 156 PRIVATE_DEPS 157 pw_containers.vector 158 pw_log 159 pw_log.proto_utils 160 pw_log.protos.pwpb 161 pw_log_rpc.log_filter 162 pw_log_rpc.log_service 163 pw_log_rpc.test_utils 164 pw_log_tokenized.metadata 165 pw_protobuf 166 pw_protobuf.bytes_utils 167 pw_result 168 pw_rpc.raw.test_method_context 169 pw_status 170 GROUPS 171 modules 172 pw_log_rpc 173 ) 174endif() 175 176pw_add_test(pw_log_rpc.log_filter_service_test 177 SOURCES 178 log_filter_service_test.cc 179 PRIVATE_DEPS 180 pw_log.protos.pwpb 181 pw_log_rpc.log_filter 182 pw_log_rpc.log_filter_service 183 pw_protobuf 184 pw_protobuf.bytes_utils 185 pw_result 186 pw_rpc.raw.test_method_context 187 pw_status 188 GROUPS 189 modules 190 pw_log_rpc 191) 192 193pw_add_test(pw_log_rpc.log_filter_test 194 SOURCES 195 log_filter_test.cc 196 PRIVATE_DEPS 197 pw_log 198 pw_log.proto_utils 199 pw_log.protos.pwpb 200 pw_log_rpc.log_filter 201 pw_log_tokenized.metadata 202 pw_result 203 pw_status 204 GROUPS 205 modules 206 pw_log_rpc 207) 208 209if(NOT "${pw_chrono.system_clock_BACKEND}" STREQUAL "") 210 pw_add_test(pw_log_rpc.rpc_log_drain_test 211 SOURCES 212 rpc_log_drain_test.cc 213 PRIVATE_DEPS 214 pw_bytes 215 pw_log.proto_utils 216 pw_log.protos.pwpb 217 pw_log_rpc.log_filter 218 pw_log_rpc.log_service 219 pw_log_rpc.rpc_log_drain 220 pw_log_rpc.test_utils 221 pw_log_tokenized.metadata 222 pw_multisink 223 pw_protobuf 224 pw_rpc.common 225 pw_rpc.raw.fake_channel_output 226 pw_rpc.raw.server_api 227 pw_rpc.raw.test_method_context 228 pw_status 229 pw_sync.mutex 230 GROUPS 231 modules 232 pw_log_rpc 233 ) 234endif() 235