blob: c6bda839f2712363e3fea8b8cbef8a43307e5e59 [file] [log] [blame]
# Copyright 2023 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
include($ENV{PW_ROOT}/pw_build/pigweed.cmake)
pw_add_module_config(pw_log_rpc_CONFIG)
pw_add_library(pw_log_rpc.config INTERFACE
HEADERS
public/pw_log_rpc/internal/config.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
${pw_log_rpc_CONFIG}
)
pw_add_library(pw_log_rpc.log_config INTERFACE
HEADERS
public/pw_log_rpc/internal/log_config.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_log_rpc.config
)
pw_add_library(pw_log_rpc.log_service STATIC
HEADERS
public/pw_log_rpc/log_service.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_log_rpc.rpc_log_drain
pw_log.protos.raw_rpc
SOURCES
log_service.cc
PRIVATE_DEPS
pw_log
pw_log.protos.pwpb
pw_log_rpc.log_config
)
pw_add_library(pw_log_rpc.log_filter_service STATIC
HEADERS
public/pw_log_rpc/log_filter_service.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_log.protos.raw_rpc
pw_log_rpc.log_filter
pw_protobuf.bytes_utils
SOURCES
log_filter_service.cc
PRIVATE_DEPS
pw_log
pw_log.protos.pwpb
pw_protobuf
)
pw_add_library(pw_log_rpc.log_filter STATIC
HEADERS
public/pw_log_rpc/log_filter.h
public/pw_log_rpc/log_filter_map.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_assert
pw_bytes
pw_containers.vector
pw_log.protos.pwpb
pw_log_rpc.config
pw_protobuf
pw_span
pw_status
SOURCES
log_filter.cc
PRIVATE_DEPS
pw_log
pw_log.protos.pwpb
)
pw_add_library(pw_log_rpc.rpc_log_drain STATIC
HEADERS
public/pw_log_rpc/rpc_log_drain.h
public/pw_log_rpc/rpc_log_drain_map.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_assert
pw_chrono.system_clock
pw_function
pw_log.protos.pwpb
pw_log.protos.raw_rpc
pw_log_rpc.config
pw_log_rpc.log_filter
pw_multisink
pw_protobuf
pw_result
pw_span
pw_status
pw_sync.lock_annotations
pw_sync.mutex
SOURCES
rpc_log_drain.cc
)
pw_add_library(pw_log_rpc.rpc_log_drain_thread INTERFACE
HEADERS
public/pw_log_rpc/rpc_log_drain_thread.h
PUBLIC_INCLUDES
public
PUBLIC_DEPS
pw_chrono.system_clock
pw_log_rpc.log_service
pw_log_rpc.rpc_log_drain
pw_multisink
pw_result
pw_rpc.raw.server_api
pw_status
pw_sync.timed_thread_notification
pw_thread.thread
)
pw_add_library(pw_log_rpc.test_utils STATIC
HEADERS
pw_log_rpc_private/test_utils.h
PUBLIC_DEPS
pw_bytes
pw_containers.vector
pw_log_tokenized.metadata
pw_protobuf
pw_unit_test
SOURCES
test_utils.cc
PRIVATE_DEPS
pw_log
pw_log.protos.pwpb
pw_protobuf.bytes_utils
)
if(NOT "${pw_chrono.system_clock_BACKEND}" STREQUAL "")
pw_add_test(pw_log_rpc.log_service_test
SOURCES
log_service_test.cc
PRIVATE_DEPS
pw_containers.vector
pw_log
pw_log.proto_utils
pw_log.protos.pwpb
pw_log_rpc.log_filter
pw_log_rpc.log_service
pw_log_rpc.test_utils
pw_log_tokenized.metadata
pw_protobuf
pw_protobuf.bytes_utils
pw_result
pw_rpc.raw.test_method_context
pw_status
GROUPS
modules
pw_log_rpc
)
endif()
pw_add_test(pw_log_rpc.log_filter_service_test
SOURCES
log_filter_service_test.cc
PRIVATE_DEPS
pw_log.protos.pwpb
pw_log_rpc.log_filter
pw_log_rpc.log_filter_service
pw_protobuf
pw_protobuf.bytes_utils
pw_result
pw_rpc.raw.test_method_context
pw_status
GROUPS
modules
pw_log_rpc
)
pw_add_test(pw_log_rpc.log_filter_test
SOURCES
log_filter_test.cc
PRIVATE_DEPS
pw_log
pw_log.proto_utils
pw_log.protos.pwpb
pw_log_rpc.log_filter
pw_log_tokenized.metadata
pw_result
pw_status
GROUPS
modules
pw_log_rpc
)
if(NOT "${pw_chrono.system_clock_BACKEND}" STREQUAL "")
pw_add_test(pw_log_rpc.rpc_log_drain_test
SOURCES
rpc_log_drain_test.cc
PRIVATE_DEPS
pw_bytes
pw_log.proto_utils
pw_log.protos.pwpb
pw_log_rpc.log_filter
pw_log_rpc.log_service
pw_log_rpc.rpc_log_drain
pw_log_rpc.test_utils
pw_log_tokenized.metadata
pw_multisink
pw_protobuf
pw_rpc.common
pw_rpc.raw.fake_channel_output
pw_rpc.raw.server_api
pw_rpc.raw.test_method_context
pw_status
pw_sync.mutex
GROUPS
modules
pw_log_rpc
)
endif()