1# Copyright 2020 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_tokenized_CONFIG) 18 19pw_add_module_library(pw_log_tokenized.config 20 HEADERS 21 public/pw_log_tokenized/config.h 22 PUBLIC_INCLUDES 23 public 24 PUBLIC_DEPS 25 pw_log.facade 26 ${pw_log_tokenized_CONFIG} 27) 28 29pw_add_module_library(pw_log_tokenized 30 IMPLEMENTS_FACADES 31 pw_log 32 HEADERS 33 public/pw_log_tokenized/log_tokenized.h 34 public_overrides/pw_log_backend/log_backend.h 35 PUBLIC_INCLUDES 36 public 37 PUBLIC_DEPS 38 pw_log_tokenized.config 39 pw_log_tokenized.metadata 40 pw_tokenizer 41 PRIVATE_DEPS 42 pw_tokenizer.global_handler_with_payload 43) 44 45pw_add_module_library(pw_log_tokenized.metadata 46 HEADERS 47 public/pw_log_tokenized/metadata.h 48 PUBLIC_INCLUDES 49 public 50 PUBLIC_DEPS 51 pw_log.facade 52 pw_log_tokenized.config 53) 54 55# This target provides a backend for pw_tokenizer that encodes tokenized logs as 56# Base64, encodes them into HDLC frames, and writes them over sys_io. 57pw_add_module_library(pw_log_tokenized.base64_over_hdlc 58 IMPLEMENTS_FACADES 59 pw_tokenizer.global_handler_with_payload 60 HEADERS 61 public/pw_log_tokenized/base64_over_hdlc.h 62 PUBLIC_INCLUDES 63 public 64 SOURCES 65 base64_over_hdlc.cc 66 PRIVATE_DEPS 67 pw_hdlc.encoder 68 pw_stream.sys_io_stream 69 pw_tokenizer.base64 70) 71 72pw_add_test(pw_log_tokenized.log_tokenized_test 73 SOURCES 74 log_tokenized_test.cc 75 log_tokenized_test_c.c 76 pw_log_tokenized_private/test_utils.h 77 DEPS 78 pw_log_tokenized 79 pw_preprocessor 80 GROUPS 81 modules 82 pw_log_tokenized 83) 84 85pw_add_test(pw_log_tokenized.metadata_test 86 SOURCES 87 metadata_test.cc 88 DEPS 89 pw_log_tokenized.metadata 90 GROUPS 91 modules 92 pw_log_tokenized 93) 94