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_transfer_CONFIG) 19 20pw_add_library(pw_transfer.config INTERFACE 21 PUBLIC_DEPS 22 ${pw_transfer_CONFIG} 23 HEADERS 24 public/pw_transfer/internal/config.h 25 PUBLIC_INCLUDES 26 public 27) 28 29pw_add_library(pw_transfer INTERFACE 30 PUBLIC_DEPS 31 pw_assert 32 pw_result 33 pw_status 34 pw_stream 35 pw_transfer.core 36 pw_transfer.proto.raw_rpc 37 PRIVATE_DEPS 38 pw_log 39 pw_log.rate_limited 40 pw_transfer.proto.pwpb 41) 42 43pw_add_library(pw_transfer.client INTERFACE 44 PUBLIC_DEPS 45 pw_assert 46 pw_function 47 pw_stream 48 pw_sync.mutex 49 pw_transfer.core 50 pw_transfer.proto.raw_rpc 51 PRIVATE_DEPS 52 pw_log 53 pw_transfer.proto.pwpb 54) 55 56pw_add_library(pw_transfer.core INTERFACE 57 PUBLIC_DEPS 58 pw_bytes 59 pw_chrono.system_clock 60 pw_containers.intrusive_list 61 pw_result 62 pw_rpc.client 63 pw_status 64 pw_stream 65 pw_sync.binary_semaphore 66 pw_thread.thread_core 67 pw_transfer.config 68 PRIVATE_DEPS 69 pw_protobuf 70 pw_transfer.proto.pwpb 71 pw_varint 72) 73 74pw_proto_library(pw_transfer.proto 75 SOURCES 76 transfer.proto 77 PREFIX 78 pw_transfer 79) 80