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_protobuf_compiler/proto.cmake) 17 18pw_add_module_config(pw_log_CONFIG) 19 20pw_add_module_config(pw_log_GLOG_ADAPTER_CONFIG) 21 22pw_add_module_library(pw_log.config 23 HEADERS 24 public/pw_log/config.h 25 PUBLIC_INCLUDES 26 public 27 PUBLIC_DEPS 28 ${pw_log_CONFIG} 29) 30 31pw_add_facade(pw_log 32 HEADERS 33 public/pw_log/levels.h 34 public/pw_log/log.h 35 public/pw_log/options.h 36 public/pw_log/short.h 37 public/pw_log/shorter.h 38 PUBLIC_INCLUDES 39 public 40 PUBLIC_DEPS 41 pw_log.config 42) 43 44pw_add_module_library(pw_log.glog_adapter 45 HEADERS 46 public/pw_log/glog_adapter.h 47 public/pw_log/glog_adapter_config.h 48 public/pw_log/internal/glog_adapter.h 49 PUBLIC_INCLUDES 50 public 51 PUBLIC_DEPS 52 pw_assert 53 pw_log 54 pw_log.config 55 pw_preprocessor 56 pw_string 57 ${pw_log_GLOG_ADAPTER_CONFIG} 58) 59 60pw_add_module_library(pw_log.proto_utils 61 HEADERS 62 public/pw_log/proto_utils.h 63 PUBLIC_INCLUDES 64 public 65 PUBLIC_DEPS 66 pw_log.facade 67 pw_bytes 68 pw_log.protos.pwpb 69 pw_log_tokenized.metadata 70 pw_result 71 PRIVATE_DEPS 72 pw_protobuf 73 SOURCES 74 proto_utils.cc 75) 76 77pw_proto_library(pw_log.protos 78 SOURCES 79 log.proto 80 PREFIX 81 pw_log/proto 82 DEPS 83 pw_protobuf.common_protos 84 pw_tokenizer.proto 85) 86 87if(NOT "${pw_log_BACKEND}" STREQUAL "pw_log.NO_BACKEND_SET") 88 pw_add_test(pw_log.basic_log_test 89 SOURCES 90 basic_log_test.cc 91 basic_log_test_plain_c.c 92 DEPS 93 pw_log 94 pw_preprocessor 95 GROUPS 96 modules 97 pw_log 98 ) 99 100 pw_add_test(pw_log.glog_adapter_test 101 SOURCES 102 glog_adapter_test.cc 103 DEPS 104 pw_log.glog_adapter 105 GROUPS 106 modules 107 pw_log 108 ) 109 110 pw_add_test(pw_log.proto_utils_test 111 SOURCES 112 proto_utils_test.cc 113 DEPS 114 pw_log 115 pw_log.proto_utils 116 pw_log.protos.pwpb 117 pw_preprocessor 118 pw_protobuf 119 pw_protobuf.bytes_utils 120 GROUPS 121 modules 122 pw_log 123 ) 124endif() 125