xref: /aosp_15_r20/external/pigweed/pw_allocator/bucket/CMakeLists.txt (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2023 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
17pw_add_library(pw_allocator.bucket.base INTERFACE
18  HEADERS
19    public/pw_allocator/bucket/base.h
20  PUBLIC_INCLUDES
21    public
22  PUBLIC_DEPS
23    pw_allocator.config
24    pw_allocator.deallocator
25    pw_allocator.block.poisonable
26)
27
28pw_add_library(pw_allocator.bucket.fast_sorted INTERFACE
29  HEADERS
30    public/pw_allocator/bucket/fast_sorted.h
31  PUBLIC_INCLUDES
32    public
33  PUBLIC_DEPS
34    pw_allocator.bucket.base
35    pw_containers.intrusive_multimap
36)
37
38pw_add_library(pw_allocator.bucket.sequenced INTERFACE
39  HEADERS
40    public/pw_allocator/bucket/sequenced.h
41  PUBLIC_INCLUDES
42    public
43  PUBLIC_DEPS
44    pw_allocator.bucket.base
45    pw_containers.intrusive_list
46)
47
48pw_add_library(pw_allocator.bucket.sorted INTERFACE
49  HEADERS
50    public/pw_allocator/bucket/sorted.h
51  PUBLIC_INCLUDES
52    public
53  PUBLIC_DEPS
54    pw_allocator.bucket.base
55    pw_containers.intrusive_forward_list
56)
57
58pw_add_library(pw_allocator.bucket.unordered INTERFACE
59  HEADERS
60    public/pw_allocator/bucket/unordered.h
61  PUBLIC_INCLUDES
62    public
63  PUBLIC_DEPS
64    pw_allocator.bucket.base
65    pw_containers.intrusive_forward_list
66)
67
68pw_add_library(pw_allocator.bucket.testing INTERFACE
69  HEADERS
70    public/pw_allocator/bucket/testing.h
71  PUBLIC_INCLUDES
72    public
73  PUBLIC_DEPS
74    pw_allocator.bump_allocator
75    pw_allocator.buffer
76)
77
78pw_add_test(pw_allocator.bucket.fast_sorted_test
79  SOURCES
80    fast_sorted_test.cc
81  PRIVATE_DEPS
82    pw_allocator.bucket.fast_sorted
83    pw_allocator.bucket.testing
84  GROUPS
85    modules
86    pw_allocator
87)
88
89pw_add_test(pw_allocator.bucket.sequenced_test
90  SOURCES
91    sequenced_test.cc
92  PRIVATE_DEPS
93    pw_allocator.bucket.sequenced
94    pw_allocator.bucket.testing
95  GROUPS
96    modules
97    pw_allocator
98)
99
100pw_add_test(pw_allocator.bucket.sorted_test
101  SOURCES
102    sorted_test.cc
103  PRIVATE_DEPS
104    pw_allocator.bucket.sorted
105    pw_allocator.bucket.testing
106  GROUPS
107    modules
108    pw_allocator
109)
110
111pw_add_test(pw_allocator.bucket.unordered_test
112  SOURCES
113    unordered_test.cc
114  PRIVATE_DEPS
115    pw_allocator.bucket.unordered
116    pw_allocator.bucket.testing
117  GROUPS
118    modules
119    pw_allocator
120)
121