xref: /aosp_15_r20/external/pigweed/pw_bluetooth_proxy/CMakeLists.txt (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2024 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)
16
17###############################################################################
18##          Everything below here is intended to be emboss only              ##
19##          and will be skipped if emboss isn't enabled.                     ##
20###############################################################################
21if("${dir_pw_third_party_emboss}" STREQUAL "")
22  # Skip emboss defs if it's not configured
23  return()
24endif()
25
26pw_add_library(pw_bluetooth_proxy STATIC
27  HEADERS
28    public/pw_bluetooth_proxy/basic_l2cap_channel.h
29    public/pw_bluetooth_proxy/gatt_notify_channel.h
30    public/pw_bluetooth_proxy/h4_packet.h
31    public/pw_bluetooth_proxy/internal/acl_data_channel.h
32    public/pw_bluetooth_proxy/internal/gatt_notify_channel_internal.h
33    public/pw_bluetooth_proxy/internal/h4_storage.h
34    public/pw_bluetooth_proxy/internal/hci_transport.h
35    public/pw_bluetooth_proxy/internal/l2cap_aclu_signaling_channel.h
36    public/pw_bluetooth_proxy/internal/l2cap_channel_manager.h
37    public/pw_bluetooth_proxy/internal/l2cap_coc_internal.h
38    public/pw_bluetooth_proxy/internal/l2cap_read_channel.h
39    public/pw_bluetooth_proxy/internal/l2cap_signaling_channel.h
40    public/pw_bluetooth_proxy/internal/l2cap_write_channel.h
41    public/pw_bluetooth_proxy/internal/l2cap_leu_signaling_channel.h
42    public/pw_bluetooth_proxy/internal/logical_transport.h
43    public/pw_bluetooth_proxy/internal/rfcomm_fcs.h
44    public/pw_bluetooth_proxy/l2cap_coc.h
45    public/pw_bluetooth_proxy/proxy_host.h
46    public/pw_bluetooth_proxy/rfcomm_channel.h
47
48  PUBLIC_INCLUDES
49    public
50  PUBLIC_DEPS
51    pw_bluetooth.emboss_att
52    pw_bluetooth.emboss_hci_common
53    pw_bluetooth.emboss_hci_data
54    pw_bluetooth.emboss_hci_events
55    pw_bluetooth.emboss_hci_h4
56    pw_bluetooth.emboss_l2cap_frames
57    pw_bluetooth.emboss_rfcomm_frames
58    pw_bluetooth.emboss_util
59    pw_containers
60    pw_function
61    pw_log
62    pw_result
63    pw_span
64    pw_status
65    pw_sync.lock_annotations
66    pw_sync.mutex
67  SOURCES
68    acl_data_channel.cc
69    basic_l2cap_channel.cc
70    gatt_notify_channel.cc
71    h4_storage.cc
72    l2cap_aclu_signaling_channel.cc
73    l2cap_channel_manager.cc
74    l2cap_coc.cc
75    l2cap_read_channel.cc
76    l2cap_signaling_channel.cc
77    l2cap_write_channel.cc
78    l2cap_leu_signaling_channel.cc
79    proxy_host.cc
80    rfcomm_channel.cc
81    rfcomm_fcs.cc
82)
83
84pw_add_test(pw_bluetooth_proxy.pw_bluetooth_proxy_test
85  SOURCES
86    proxy_host_test.cc
87    h4_packet_test.cc
88    rfcomm_fcs_test.cc
89  PRIVATE_DEPS
90    pw_bluetooth_proxy
91    pw_third_party.fuchsia.stdcompat
92    pw_bluetooth.emboss_att
93    pw_bluetooth.emboss_hci_commands
94    pw_bluetooth.emboss_hci_common
95    pw_bluetooth.emboss_hci_events
96    pw_bluetooth.emboss_hci_h4
97  GROUPS
98    modules
99)
100