• 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_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