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) 16include($ENV{PW_ROOT}/pw_log_tokenized/backend.cmake) 17 18pw_add_module_config(pw_log_tokenized_CONFIG) 19 20pw_add_library(pw_log_tokenized.config INTERFACE 21 HEADERS 22 public/pw_log_tokenized/config.h 23 PUBLIC_INCLUDES 24 public 25 PUBLIC_DEPS 26 pw_log.facade 27 ${pw_log_tokenized_CONFIG} 28) 29 30pw_add_library(pw_log_tokenized STATIC 31 HEADERS 32 public/pw_log_tokenized/log_tokenized.h 33 public_overrides/pw_log_backend/log_backend.h 34 PUBLIC_INCLUDES 35 public 36 public_overrides 37 PUBLIC_DEPS 38 pw_log_tokenized.config 39 pw_log_tokenized.handler 40 pw_log_tokenized.metadata 41 pw_tokenizer 42 SOURCES 43 log_tokenized.cc 44) 45 46pw_add_library(pw_log_tokenized.metadata INTERFACE 47 HEADERS 48 public/pw_log_tokenized/metadata.h 49 PUBLIC_INCLUDES 50 public 51 PUBLIC_DEPS 52 pw_log_tokenized.config 53) 54 55pw_add_facade(pw_log_tokenized.handler INTERFACE 56 BACKEND 57 pw_log_tokenized.handler_BACKEND 58 HEADERS 59 public/pw_log_tokenized/handler.h 60 PUBLIC_INCLUDES 61 public 62 PUBLIC_DEPS 63 pw_preprocessor 64) 65 66# This target provides a backend for pw_tokenizer that encodes tokenized logs as 67# Base64, encodes them into HDLC frames, and writes them over sys_io. 68pw_add_library(pw_log_tokenized.base64_over_hdlc STATIC 69 HEADERS 70 public/pw_log_tokenized/base64_over_hdlc.h 71 PUBLIC_INCLUDES 72 public 73 SOURCES 74 base64_over_hdlc.cc 75 PRIVATE_DEPS 76 pw_hdlc.encoder 77 pw_log_tokenized.handler 78 pw_span 79 pw_stream.sys_io_stream 80 pw_tokenizer.base64 81) 82 83if(NOT "${pw_tokenizer.global_handler_with_payload_BACKEND}" STREQUAL "") 84 pw_add_test(pw_log_tokenized.log_tokenized_test 85 SOURCES 86 log_tokenized_test.cc 87 log_tokenized_test_c.c 88 pw_log_tokenized_private/test_utils.h 89 PRIVATE_DEPS 90 pw_log_tokenized 91 pw_preprocessor 92 GROUPS 93 modules 94 pw_log_tokenized 95 ) 96endif() 97 98pw_add_test(pw_log_tokenized.metadata_test 99 SOURCES 100 metadata_test.cc 101 PRIVATE_DEPS 102 pw_log_tokenized.metadata 103 GROUPS 104 modules 105 pw_log_tokenized 106) 107