150
|
1 set(files
|
221
|
2 __algorithm/adjacent_find.h
|
|
3 __algorithm/all_of.h
|
|
4 __algorithm/any_of.h
|
|
5 __algorithm/binary_search.h
|
|
6 __algorithm/clamp.h
|
223
|
7 __algorithm/comp_ref_type.h
|
221
|
8 __algorithm/comp.h
|
223
|
9 __algorithm/copy_backward.h
|
|
10 __algorithm/copy_if.h
|
|
11 __algorithm/copy_n.h
|
221
|
12 __algorithm/copy.h
|
|
13 __algorithm/count_if.h
|
223
|
14 __algorithm/count.h
|
221
|
15 __algorithm/equal_range.h
|
223
|
16 __algorithm/equal.h
|
|
17 __algorithm/fill_n.h
|
221
|
18 __algorithm/fill.h
|
|
19 __algorithm/find_end.h
|
|
20 __algorithm/find_first_of.h
|
223
|
21 __algorithm/find_if_not.h
|
221
|
22 __algorithm/find_if.h
|
223
|
23 __algorithm/find.h
|
|
24 __algorithm/for_each_n.h
|
221
|
25 __algorithm/for_each.h
|
223
|
26 __algorithm/generate_n.h
|
221
|
27 __algorithm/generate.h
|
|
28 __algorithm/half_positive.h
|
|
29 __algorithm/includes.h
|
|
30 __algorithm/inplace_merge.h
|
223
|
31 __algorithm/is_heap_until.h
|
221
|
32 __algorithm/is_heap.h
|
|
33 __algorithm/is_partitioned.h
|
|
34 __algorithm/is_permutation.h
|
223
|
35 __algorithm/is_sorted_until.h
|
221
|
36 __algorithm/is_sorted.h
|
223
|
37 __algorithm/iter_swap.h
|
221
|
38 __algorithm/lexicographical_compare.h
|
|
39 __algorithm/lower_bound.h
|
|
40 __algorithm/make_heap.h
|
223
|
41 __algorithm/max_element.h
|
221
|
42 __algorithm/max.h
|
|
43 __algorithm/merge.h
|
223
|
44 __algorithm/min_element.h
|
221
|
45 __algorithm/min.h
|
223
|
46 __algorithm/minmax_element.h
|
221
|
47 __algorithm/minmax.h
|
|
48 __algorithm/mismatch.h
|
223
|
49 __algorithm/move_backward.h
|
221
|
50 __algorithm/move.h
|
|
51 __algorithm/next_permutation.h
|
|
52 __algorithm/none_of.h
|
|
53 __algorithm/nth_element.h
|
223
|
54 __algorithm/partial_sort_copy.h
|
221
|
55 __algorithm/partial_sort.h
|
223
|
56 __algorithm/partition_copy.h
|
|
57 __algorithm/partition_point.h
|
221
|
58 __algorithm/partition.h
|
|
59 __algorithm/pop_heap.h
|
|
60 __algorithm/prev_permutation.h
|
|
61 __algorithm/push_heap.h
|
223
|
62 __algorithm/remove_copy_if.h
|
|
63 __algorithm/remove_copy.h
|
|
64 __algorithm/remove_if.h
|
221
|
65 __algorithm/remove.h
|
223
|
66 __algorithm/replace_copy_if.h
|
|
67 __algorithm/replace_copy.h
|
|
68 __algorithm/replace_if.h
|
221
|
69 __algorithm/replace.h
|
223
|
70 __algorithm/reverse_copy.h
|
221
|
71 __algorithm/reverse.h
|
223
|
72 __algorithm/rotate_copy.h
|
221
|
73 __algorithm/rotate.h
|
|
74 __algorithm/sample.h
|
223
|
75 __algorithm/search_n.h
|
221
|
76 __algorithm/search.h
|
|
77 __algorithm/set_difference.h
|
|
78 __algorithm/set_intersection.h
|
|
79 __algorithm/set_symmetric_difference.h
|
|
80 __algorithm/set_union.h
|
223
|
81 __algorithm/shift_left.h
|
|
82 __algorithm/shift_right.h
|
221
|
83 __algorithm/shuffle.h
|
|
84 __algorithm/sift_down.h
|
223
|
85 __algorithm/sort_heap.h
|
221
|
86 __algorithm/sort.h
|
|
87 __algorithm/stable_partition.h
|
|
88 __algorithm/stable_sort.h
|
223
|
89 __algorithm/swap_ranges.h
|
221
|
90 __algorithm/transform.h
|
223
|
91 __algorithm/unique_copy.h
|
221
|
92 __algorithm/unique.h
|
|
93 __algorithm/unwrap_iter.h
|
|
94 __algorithm/upper_bound.h
|
|
95 __availability
|
150
|
96 __bit_reference
|
221
|
97 __bits
|
150
|
98 __bsd_locale_defaults.h
|
|
99 __bsd_locale_fallbacks.h
|
221
|
100 __config
|
|
101 __debug
|
150
|
102 __errc
|
221
|
103 __format/format_error.h
|
|
104 __format/format_parse_context.h
|
|
105 __function_like.h
|
150
|
106 __functional_base
|
223
|
107 __functional/binary_function.h
|
|
108 __functional/binary_negate.h
|
|
109 __functional/bind_front.h
|
|
110 __functional/bind.h
|
|
111 __functional/binder1st.h
|
|
112 __functional/binder2nd.h
|
|
113 __functional/default_searcher.h
|
|
114 __functional/function.h
|
|
115 __functional/hash.h
|
|
116 __functional/identity.h
|
|
117 __functional/invoke.h
|
|
118 __functional/is_transparent.h
|
|
119 __functional/mem_fn.h
|
|
120 __functional/mem_fun_ref.h
|
|
121 __functional/not_fn.h
|
|
122 __functional/operations.h
|
|
123 __functional/perfect_forward.h
|
|
124 __functional/pointer_to_binary_function.h
|
|
125 __functional/pointer_to_unary_function.h
|
|
126 __functional/ranges_operations.h
|
|
127 __functional/reference_wrapper.h
|
|
128 __functional/unary_function.h
|
|
129 __functional/unary_negate.h
|
|
130 __functional/unwrap_ref.h
|
|
131 __functional/weak_result_type.h
|
150
|
132 __hash_table
|
223
|
133 __iterator/access.h
|
221
|
134 __iterator/advance.h
|
223
|
135 __iterator/back_insert_iterator.h
|
221
|
136 __iterator/concepts.h
|
223
|
137 __iterator/data.h
|
221
|
138 __iterator/default_sentinel.h
|
223
|
139 __iterator/distance.h
|
|
140 __iterator/empty.h
|
|
141 __iterator/erase_if_container.h
|
|
142 __iterator/front_insert_iterator.h
|
221
|
143 __iterator/incrementable_traits.h
|
223
|
144 __iterator/insert_iterator.h
|
|
145 __iterator/istream_iterator.h
|
|
146 __iterator/istreambuf_iterator.h
|
221
|
147 __iterator/iter_move.h
|
223
|
148 __iterator/iter_swap.h
|
221
|
149 __iterator/iterator_traits.h
|
223
|
150 __iterator/iterator.h
|
|
151 __iterator/move_iterator.h
|
221
|
152 __iterator/next.h
|
223
|
153 __iterator/ostream_iterator.h
|
|
154 __iterator/ostreambuf_iterator.h
|
221
|
155 __iterator/prev.h
|
|
156 __iterator/projected.h
|
|
157 __iterator/readable_traits.h
|
223
|
158 __iterator/reverse_access.h
|
|
159 __iterator/reverse_iterator.h
|
|
160 __iterator/size.h
|
|
161 __iterator/wrap_iter.h
|
150
|
162 __libcpp_version
|
|
163 __locale
|
221
|
164 __memory/addressof.h
|
|
165 __memory/allocation_guard.h
|
223
|
166 __memory/allocator_arg_t.h
|
|
167 __memory/allocator_traits.h
|
221
|
168 __memory/allocator.h
|
|
169 __memory/auto_ptr.h
|
|
170 __memory/compressed_pair.h
|
|
171 __memory/construct_at.h
|
|
172 __memory/pointer_safety.h
|
|
173 __memory/pointer_traits.h
|
|
174 __memory/raw_storage_iterator.h
|
|
175 __memory/shared_ptr.h
|
|
176 __memory/temporary_buffer.h
|
|
177 __memory/uninitialized_algorithms.h
|
|
178 __memory/unique_ptr.h
|
223
|
179 __memory/uses_allocator.h
|
150
|
180 __mutex_base
|
|
181 __node_handle
|
|
182 __nullptr
|
223
|
183 __random/uniform_int_distribution.h
|
221
|
184 __ranges/access.h
|
223
|
185 __ranges/all.h
|
221
|
186 __ranges/concepts.h
|
223
|
187 __ranges/copyable_box.h
|
221
|
188 __ranges/data.h
|
223
|
189 __ranges/drop_view.h
|
221
|
190 __ranges/empty_view.h
|
223
|
191 __ranges/empty.h
|
221
|
192 __ranges/enable_borrowed_range.h
|
223
|
193 __ranges/enable_view.h
|
|
194 __ranges/ref_view.h
|
|
195 __ranges/size.h
|
|
196 __ranges/subrange.h
|
|
197 __ranges/transform_view.h
|
221
|
198 __ranges/view_interface.h
|
150
|
199 __split_buffer
|
|
200 __std_stream
|
|
201 __string
|
223
|
202 __support/android/locale_bionic.h
|
|
203 __support/fuchsia/xlocale.h
|
|
204 __support/ibm/gettod_zos.h
|
|
205 __support/ibm/limits.h
|
|
206 __support/ibm/locale_mgmt_aix.h
|
|
207 __support/ibm/locale_mgmt_zos.h
|
|
208 __support/ibm/nanosleep.h
|
|
209 __support/ibm/support.h
|
|
210 __support/ibm/xlocale.h
|
|
211 __support/musl/xlocale.h
|
|
212 __support/newlib/xlocale.h
|
|
213 __support/nuttx/xlocale.h
|
|
214 __support/openbsd/xlocale.h
|
|
215 __support/solaris/floatingpoint.h
|
|
216 __support/solaris/wchar.h
|
|
217 __support/solaris/xlocale.h
|
|
218 __support/win32/limits_msvc_win32.h
|
|
219 __support/win32/locale_win32.h
|
|
220 __support/xlocale/__nop_locale_mgmt.h
|
|
221 __support/xlocale/__posix_l_fallback.h
|
|
222 __support/xlocale/__strtonum_fallback.h
|
150
|
223 __threading_support
|
|
224 __tree
|
|
225 __tuple
|
|
226 __undef_macros
|
223
|
227 __utility/__decay_copy.h
|
|
228 __utility/as_const.h
|
|
229 __utility/cmp.h
|
|
230 __utility/declval.h
|
|
231 __utility/exchange.h
|
|
232 __utility/forward.h
|
|
233 __utility/in_place.h
|
|
234 __utility/integer_sequence.h
|
|
235 __utility/move.h
|
|
236 __utility/pair.h
|
|
237 __utility/piecewise_construct.h
|
|
238 __utility/rel_ops.h
|
|
239 __utility/swap.h
|
221
|
240 __utility/to_underlying.h
|
223
|
241 __variant/monostate.h
|
150
|
242 algorithm
|
|
243 any
|
|
244 array
|
|
245 atomic
|
173
|
246 barrier
|
150
|
247 bit
|
|
248 bitset
|
|
249 cassert
|
|
250 ccomplex
|
|
251 cctype
|
|
252 cerrno
|
|
253 cfenv
|
|
254 cfloat
|
|
255 charconv
|
|
256 chrono
|
|
257 cinttypes
|
|
258 ciso646
|
|
259 climits
|
|
260 clocale
|
|
261 cmath
|
|
262 codecvt
|
|
263 compare
|
|
264 complex
|
|
265 complex.h
|
173
|
266 concepts
|
150
|
267 condition_variable
|
|
268 csetjmp
|
|
269 csignal
|
|
270 cstdarg
|
|
271 cstdbool
|
|
272 cstddef
|
|
273 cstdint
|
|
274 cstdio
|
|
275 cstdlib
|
|
276 cstring
|
|
277 ctgmath
|
|
278 ctime
|
|
279 ctype.h
|
|
280 cwchar
|
|
281 cwctype
|
|
282 deque
|
|
283 errno.h
|
|
284 exception
|
|
285 execution
|
|
286 experimental/__config
|
|
287 experimental/__memory
|
|
288 experimental/algorithm
|
|
289 experimental/coroutine
|
|
290 experimental/deque
|
|
291 experimental/filesystem
|
|
292 experimental/forward_list
|
|
293 experimental/functional
|
|
294 experimental/iterator
|
|
295 experimental/list
|
|
296 experimental/map
|
|
297 experimental/memory_resource
|
|
298 experimental/propagate_const
|
|
299 experimental/regex
|
|
300 experimental/set
|
|
301 experimental/simd
|
|
302 experimental/string
|
|
303 experimental/type_traits
|
|
304 experimental/unordered_map
|
|
305 experimental/unordered_set
|
|
306 experimental/utility
|
|
307 experimental/vector
|
|
308 ext/__hash
|
|
309 ext/hash_map
|
|
310 ext/hash_set
|
|
311 fenv.h
|
|
312 filesystem
|
|
313 float.h
|
221
|
314 format
|
150
|
315 forward_list
|
|
316 fstream
|
|
317 functional
|
|
318 future
|
|
319 initializer_list
|
|
320 inttypes.h
|
|
321 iomanip
|
|
322 ios
|
|
323 iosfwd
|
|
324 iostream
|
|
325 istream
|
|
326 iterator
|
173
|
327 latch
|
150
|
328 limits
|
|
329 limits.h
|
|
330 list
|
|
331 locale
|
|
332 locale.h
|
|
333 map
|
|
334 math.h
|
|
335 memory
|
|
336 module.modulemap
|
|
337 mutex
|
|
338 new
|
221
|
339 numbers
|
150
|
340 numeric
|
|
341 optional
|
|
342 ostream
|
|
343 queue
|
|
344 random
|
221
|
345 ranges
|
223
|
346 ranges
|
150
|
347 ratio
|
|
348 regex
|
|
349 scoped_allocator
|
173
|
350 semaphore
|
150
|
351 set
|
|
352 setjmp.h
|
|
353 shared_mutex
|
|
354 span
|
|
355 sstream
|
|
356 stack
|
|
357 stdbool.h
|
|
358 stddef.h
|
|
359 stdexcept
|
|
360 stdint.h
|
|
361 stdio.h
|
|
362 stdlib.h
|
|
363 streambuf
|
|
364 string
|
223
|
365 string_view
|
150
|
366 string.h
|
|
367 strstream
|
|
368 system_error
|
|
369 tgmath.h
|
|
370 thread
|
|
371 tuple
|
|
372 type_traits
|
|
373 typeindex
|
|
374 typeinfo
|
|
375 unordered_map
|
|
376 unordered_set
|
|
377 utility
|
|
378 valarray
|
|
379 variant
|
|
380 vector
|
|
381 version
|
|
382 wchar.h
|
|
383 wctype.h
|
|
384 )
|
|
385
|
221
|
386 configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY)
|
150
|
387
|
221
|
388 set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site")
|
|
389 foreach(f ${files})
|
|
390 set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}")
|
|
391 set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}")
|
|
392 add_custom_command(OUTPUT ${dst}
|
|
393 DEPENDS ${src}
|
|
394 COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
|
|
395 COMMENT "Copying CXX header ${f}")
|
|
396 list(APPEND _all_includes "${dst}")
|
|
397 endforeach()
|
|
398
|
|
399 add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes})
|
|
400
|
|
401 add_library(cxx-headers INTERFACE)
|
|
402 add_dependencies(cxx-headers generate-cxx-headers ${LIBCXX_CXX_ABI_HEADER_TARGET})
|
|
403 # TODO: Use target_include_directories once we figure out why that breaks the runtimes build
|
|
404 if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC")
|
|
405 target_compile_options(cxx-headers INTERFACE /I${LIBCXX_GENERATED_INCLUDE_DIR}
|
|
406 INTERFACE /I${LIBCXX_GENERATED_INCLUDE_TARGET_DIR})
|
150
|
407 else()
|
221
|
408 target_compile_options(cxx-headers INTERFACE -I${LIBCXX_GENERATED_INCLUDE_DIR}
|
|
409 INTERFACE -I${LIBCXX_GENERATED_INCLUDE_TARGET_DIR})
|
150
|
410 endif()
|
|
411
|
|
412 if (LIBCXX_INSTALL_HEADERS)
|
|
413 foreach(file ${files})
|
|
414 get_filename_component(dir ${file} DIRECTORY)
|
|
415 install(FILES ${file}
|
221
|
416 DESTINATION ${LIBCXX_INSTALL_INCLUDE_DIR}/${dir}
|
|
417 COMPONENT cxx-headers
|
150
|
418 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
419 )
|
|
420 endforeach()
|
|
421
|
221
|
422 # Install the generated __config_site.
|
|
423 install(FILES ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site
|
|
424 DESTINATION ${LIBCXX_INSTALL_INCLUDE_TARGET_DIR}
|
|
425 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
426 COMPONENT cxx-headers)
|
150
|
427
|
|
428 if (NOT CMAKE_CONFIGURATION_TYPES)
|
221
|
429 add_custom_target(install-cxx-headers
|
|
430 DEPENDS cxx-headers
|
150
|
431 COMMAND "${CMAKE_COMMAND}"
|
221
|
432 -DCMAKE_INSTALL_COMPONENT=cxx-headers
|
150
|
433 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
|
|
434 # Stripping is a no-op for headers
|
221
|
435 add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers)
|
150
|
436 endif()
|
|
437 endif()
|