xref: /llvm-project/libc/src/__support/CPP/CMakeLists.txt (revision db6b7a84e6e4949569e756f46357d9f54ad16a03)
1add_header_library(
2  algorithm
3  HDRS
4    algorithm.h
5)
6
7add_header_library(
8  array
9  HDRS
10    array.h
11)
12
13add_header_library(
14  bit
15  HDRS
16    bit.h
17  DEPENDS
18    .limits
19    .type_traits
20    libc.src.__support.macros.attributes
21    libc.src.__support.macros.sanitizer
22)
23
24add_header_library(
25  bitset
26  HDRS
27    bitset.h
28)
29
30add_header_library(
31  cstddef
32  HDRS
33    cstddef.h
34  DEPENDS
35    .type_traits
36)
37
38add_header_library(
39  functional
40  HDRS
41    functional.h
42)
43
44add_header_library(
45  limits
46  HDRS
47    limits.h
48  DEPENDS
49    .type_traits
50    libc.hdr.limits_macros
51    libc.include.llvm-libc-macros.limits_macros
52    libc.src.__support.macros.properties.types
53)
54
55add_header_library(
56  mutex
57  HDRS
58    mutex.h
59)
60
61add_header_library(
62  span
63  HDRS
64    span.h
65  DEPENDS
66    .array
67    .type_traits
68)
69
70add_header_library(
71  string_view
72  HDRS
73    string_view.h
74  DEPENDS
75    libc.src.__support.common
76)
77
78add_header_library(
79  string
80  HDRS
81    string.h
82  DEPENDS
83    .string_view
84    libc.hdr.func.free
85    libc.hdr.func.malloc
86    libc.hdr.func.realloc
87    libc.src.__support.common
88    libc.src.__support.integer_to_string
89    libc.src.string.memory_utils.inline_memcpy
90    libc.src.string.memory_utils.inline_memset
91    libc.src.string.string_utils
92)
93
94add_header_library(
95  stringstream
96  HDRS
97    stringstream.h
98  DEPENDS
99    .span
100    .string_view
101    libc.src.__support.integer_to_string
102)
103
104add_header_library(
105  optional
106  HDRS
107    optional.h
108)
109
110add_header_library(
111  type_traits
112  HDRS
113    type_traits.h
114    type_traits/add_lvalue_reference.h
115    type_traits/add_pointer.h
116    type_traits/add_rvalue_reference.h
117    type_traits/aligned_storage.h
118    type_traits/always_false.h
119    type_traits/bool_constant.h
120    type_traits/conditional.h
121    type_traits/decay.h
122    type_traits/enable_if.h
123    type_traits/false_type.h
124    type_traits/integral_constant.h
125    type_traits/invoke_result.h
126    type_traits/invoke.h
127    type_traits/is_arithmetic.h
128    type_traits/is_array.h
129    type_traits/is_base_of.h
130    type_traits/is_class.h
131    type_traits/is_complex.h
132    type_traits/is_const.h
133    type_traits/is_constant_evaluated.h
134    type_traits/is_convertible.h
135    type_traits/is_destructible.h
136    type_traits/is_enum.h
137    type_traits/is_fixed_point.h
138    type_traits/is_floating_point.h
139    type_traits/is_function.h
140    type_traits/is_integral.h
141    type_traits/is_lvalue_reference.h
142    type_traits/is_member_pointer.h
143    type_traits/is_null_pointer.h
144    type_traits/is_object.h
145    type_traits/is_pointer.h
146    type_traits/is_reference.h
147    type_traits/is_rvalue_reference.h
148    type_traits/is_same.h
149    type_traits/is_scalar.h
150    type_traits/is_signed.h
151    type_traits/is_trivially_constructible.h
152    type_traits/is_trivially_copyable.h
153    type_traits/is_trivially_destructible.h
154    type_traits/is_union.h
155    type_traits/is_unsigned.h
156    type_traits/is_void.h
157    type_traits/make_signed.h
158    type_traits/make_unsigned.h
159    type_traits/remove_all_extents.h
160    type_traits/remove_cv.h
161    type_traits/remove_cvref.h
162    type_traits/remove_extent.h
163    type_traits/remove_reference.h
164    type_traits/true_type.h
165    type_traits/type_identity.h
166    type_traits/void_t.h
167  DEPENDS
168    libc.include.llvm-libc-macros.stdfix_macros
169    libc.src.__support.macros.attributes
170    libc.src.__support.macros.properties.types
171    libc.src.__support.macros.properties.complex_types
172)
173
174add_header_library(
175  utility
176  HDRS
177    utility.h
178    utility/declval.h
179    utility/forward.h
180    utility/in_place.h
181    utility/integer_sequence.h
182    utility/move.h
183)
184
185add_header_library(
186  atomic
187  HDRS
188    atomic.h
189)
190
191add_header_library(
192  expected
193  HDRS
194    expected.h
195)
196
197add_object_library(
198  new
199  SRCS
200    new.cpp
201  HDRS
202    new.h
203  DEPENDS
204    libc.hdr.func.free
205    libc.hdr.func.malloc
206    libc.hdr.func.aligned_alloc
207    libc.src.__support.common
208    libc.src.__support.macros.properties.os
209)
210