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) 133 134pw_add_library(pw_log_rpc.test_utils STATIC 135 HEADERS 136 pw_log_rpc_private/test_utils.h 137 PUBLIC_DEPS 138 pw_bytes 139 pw_containers.vector 140 pw_log_tokenized.metadata 141 pw_protobuf 142 pw_unit_test 143 SOURCES 144 test_utils.cc 145 PRIVATE_DEPS 146 pw_log 147 pw_log.protos.pwpb 148 pw_protobuf.bytes_utils 149) 150 151if(NOT "${pw_chrono.system_clock_BACKEND}" STREQUAL "") 152 pw_add_test(pw_log_rpc.log_service_test 153 SOURCES 154 log_service_test.cc 155 PRIVATE_DEPS 156 pw_containers.vector 157 pw_log 158 pw_log.proto_utils 159 pw_log.protos.pwpb 160 pw_log_rpc.log_filter 161 pw_log_rpc.log_service 162 pw_log_rpc.test_utils 163 pw_log_tokenized.metadata 164 pw_protobuf 165 pw_protobuf.bytes_utils 166 pw_result 167 pw_rpc.raw.test_method_context 168 pw_status 169 GROUPS 170 modules 171 pw_log_rpc 172 ) 173endif() 174 175pw_add_test(pw_log_rpc.log_filter_service_test 176 SOURCES 177 log_filter_service_test.cc 178 PRIVATE_DEPS 179 pw_log.protos.pwpb 180 pw_log_rpc.log_filter 181 pw_log_rpc.log_filter_service 182 pw_protobuf 183 pw_protobuf.bytes_utils 184 pw_result 185 pw_rpc.raw.test_method_context 186 pw_status 187 GROUPS 188 modules 189 pw_log_rpc 190) 191 192pw_add_test(pw_log_rpc.log_filter_test 193 SOURCES 194 log_filter_test.cc 195 PRIVATE_DEPS 196 pw_log 197 pw_log.proto_utils 198 pw_log.protos.pwpb 199 pw_log_rpc.log_filter 200 pw_log_tokenized.metadata 201 pw_result 202 pw_status 203 GROUPS 204 modules 205 pw_log_rpc 206) 207 208if(NOT "${pw_chrono.system_clock_BACKEND}" STREQUAL "") 209 pw_add_test(pw_log_rpc.rpc_log_drain_test 210 SOURCES 211 rpc_log_drain_test.cc 212 PRIVATE_DEPS 213 pw_bytes 214 pw_log.proto_utils 215 pw_log.protos.pwpb 216 pw_log_rpc.log_filter 217 pw_log_rpc.log_service 218 pw_log_rpc.rpc_log_drain 219 pw_log_rpc.test_utils 220 pw_log_tokenized.metadata 221 pw_multisink 222 pw_protobuf 223 pw_rpc.common 224 pw_rpc.raw.fake_channel_output 225 pw_rpc.raw.server_api 226 pw_rpc.raw.test_method_context 227 pw_status 228 pw_sync.mutex 229 GROUPS 230 modules 231 pw_log_rpc 232 ) 233endif() 234