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