• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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