xref: /openbsd-src/gnu/llvm/libcxx/include/CMakeLists.txt (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
1set(files
2  __algorithm/adjacent_find.h
3  __algorithm/all_of.h
4  __algorithm/any_of.h
5  __algorithm/binary_search.h
6  __algorithm/clamp.h
7  __algorithm/comp.h
8  __algorithm/comp_ref_type.h
9  __algorithm/copy.h
10  __algorithm/copy_backward.h
11  __algorithm/copy_if.h
12  __algorithm/copy_move_common.h
13  __algorithm/copy_n.h
14  __algorithm/count.h
15  __algorithm/count_if.h
16  __algorithm/equal.h
17  __algorithm/equal_range.h
18  __algorithm/fill.h
19  __algorithm/fill_n.h
20  __algorithm/find.h
21  __algorithm/find_end.h
22  __algorithm/find_first_of.h
23  __algorithm/find_if.h
24  __algorithm/find_if_not.h
25  __algorithm/for_each.h
26  __algorithm/for_each_n.h
27  __algorithm/generate.h
28  __algorithm/generate_n.h
29  __algorithm/half_positive.h
30  __algorithm/in_found_result.h
31  __algorithm/in_fun_result.h
32  __algorithm/in_in_out_result.h
33  __algorithm/in_in_result.h
34  __algorithm/in_out_out_result.h
35  __algorithm/in_out_result.h
36  __algorithm/includes.h
37  __algorithm/inplace_merge.h
38  __algorithm/is_heap.h
39  __algorithm/is_heap_until.h
40  __algorithm/is_partitioned.h
41  __algorithm/is_permutation.h
42  __algorithm/is_sorted.h
43  __algorithm/is_sorted_until.h
44  __algorithm/iter_swap.h
45  __algorithm/iterator_operations.h
46  __algorithm/lexicographical_compare.h
47  __algorithm/lower_bound.h
48  __algorithm/make_heap.h
49  __algorithm/make_projected.h
50  __algorithm/max.h
51  __algorithm/max_element.h
52  __algorithm/merge.h
53  __algorithm/min.h
54  __algorithm/min_element.h
55  __algorithm/min_max_result.h
56  __algorithm/minmax.h
57  __algorithm/minmax_element.h
58  __algorithm/mismatch.h
59  __algorithm/move.h
60  __algorithm/move_backward.h
61  __algorithm/next_permutation.h
62  __algorithm/none_of.h
63  __algorithm/nth_element.h
64  __algorithm/partial_sort.h
65  __algorithm/partial_sort_copy.h
66  __algorithm/partition.h
67  __algorithm/partition_copy.h
68  __algorithm/partition_point.h
69  __algorithm/pop_heap.h
70  __algorithm/prev_permutation.h
71  __algorithm/push_heap.h
72  __algorithm/ranges_adjacent_find.h
73  __algorithm/ranges_all_of.h
74  __algorithm/ranges_any_of.h
75  __algorithm/ranges_binary_search.h
76  __algorithm/ranges_clamp.h
77  __algorithm/ranges_copy.h
78  __algorithm/ranges_copy_backward.h
79  __algorithm/ranges_copy_if.h
80  __algorithm/ranges_copy_n.h
81  __algorithm/ranges_count.h
82  __algorithm/ranges_count_if.h
83  __algorithm/ranges_equal.h
84  __algorithm/ranges_equal_range.h
85  __algorithm/ranges_fill.h
86  __algorithm/ranges_fill_n.h
87  __algorithm/ranges_find.h
88  __algorithm/ranges_find_end.h
89  __algorithm/ranges_find_first_of.h
90  __algorithm/ranges_find_if.h
91  __algorithm/ranges_find_if_not.h
92  __algorithm/ranges_for_each.h
93  __algorithm/ranges_for_each_n.h
94  __algorithm/ranges_generate.h
95  __algorithm/ranges_generate_n.h
96  __algorithm/ranges_includes.h
97  __algorithm/ranges_inplace_merge.h
98  __algorithm/ranges_is_heap.h
99  __algorithm/ranges_is_heap_until.h
100  __algorithm/ranges_is_partitioned.h
101  __algorithm/ranges_is_permutation.h
102  __algorithm/ranges_is_sorted.h
103  __algorithm/ranges_is_sorted_until.h
104  __algorithm/ranges_iterator_concept.h
105  __algorithm/ranges_lexicographical_compare.h
106  __algorithm/ranges_lower_bound.h
107  __algorithm/ranges_make_heap.h
108  __algorithm/ranges_max.h
109  __algorithm/ranges_max_element.h
110  __algorithm/ranges_merge.h
111  __algorithm/ranges_min.h
112  __algorithm/ranges_min_element.h
113  __algorithm/ranges_minmax.h
114  __algorithm/ranges_minmax_element.h
115  __algorithm/ranges_mismatch.h
116  __algorithm/ranges_move.h
117  __algorithm/ranges_move_backward.h
118  __algorithm/ranges_next_permutation.h
119  __algorithm/ranges_none_of.h
120  __algorithm/ranges_nth_element.h
121  __algorithm/ranges_partial_sort.h
122  __algorithm/ranges_partial_sort_copy.h
123  __algorithm/ranges_partition.h
124  __algorithm/ranges_partition_copy.h
125  __algorithm/ranges_partition_point.h
126  __algorithm/ranges_pop_heap.h
127  __algorithm/ranges_prev_permutation.h
128  __algorithm/ranges_push_heap.h
129  __algorithm/ranges_remove.h
130  __algorithm/ranges_remove_copy.h
131  __algorithm/ranges_remove_copy_if.h
132  __algorithm/ranges_remove_if.h
133  __algorithm/ranges_replace.h
134  __algorithm/ranges_replace_copy.h
135  __algorithm/ranges_replace_copy_if.h
136  __algorithm/ranges_replace_if.h
137  __algorithm/ranges_reverse.h
138  __algorithm/ranges_reverse_copy.h
139  __algorithm/ranges_rotate.h
140  __algorithm/ranges_rotate_copy.h
141  __algorithm/ranges_sample.h
142  __algorithm/ranges_search.h
143  __algorithm/ranges_search_n.h
144  __algorithm/ranges_set_difference.h
145  __algorithm/ranges_set_intersection.h
146  __algorithm/ranges_set_symmetric_difference.h
147  __algorithm/ranges_set_union.h
148  __algorithm/ranges_shuffle.h
149  __algorithm/ranges_sort.h
150  __algorithm/ranges_sort_heap.h
151  __algorithm/ranges_stable_partition.h
152  __algorithm/ranges_stable_sort.h
153  __algorithm/ranges_swap_ranges.h
154  __algorithm/ranges_transform.h
155  __algorithm/ranges_unique.h
156  __algorithm/ranges_unique_copy.h
157  __algorithm/ranges_upper_bound.h
158  __algorithm/remove.h
159  __algorithm/remove_copy.h
160  __algorithm/remove_copy_if.h
161  __algorithm/remove_if.h
162  __algorithm/replace.h
163  __algorithm/replace_copy.h
164  __algorithm/replace_copy_if.h
165  __algorithm/replace_if.h
166  __algorithm/reverse.h
167  __algorithm/reverse_copy.h
168  __algorithm/rotate.h
169  __algorithm/rotate_copy.h
170  __algorithm/sample.h
171  __algorithm/search.h
172  __algorithm/search_n.h
173  __algorithm/set_difference.h
174  __algorithm/set_intersection.h
175  __algorithm/set_symmetric_difference.h
176  __algorithm/set_union.h
177  __algorithm/shift_left.h
178  __algorithm/shift_right.h
179  __algorithm/shuffle.h
180  __algorithm/sift_down.h
181  __algorithm/sort.h
182  __algorithm/sort_heap.h
183  __algorithm/stable_partition.h
184  __algorithm/stable_sort.h
185  __algorithm/swap_ranges.h
186  __algorithm/transform.h
187  __algorithm/uniform_random_bit_generator_adaptor.h
188  __algorithm/unique.h
189  __algorithm/unique_copy.h
190  __algorithm/unwrap_iter.h
191  __algorithm/unwrap_range.h
192  __algorithm/upper_bound.h
193  __assert
194  __availability
195  __bit/bit_cast.h
196  __bit/bit_ceil.h
197  __bit/bit_floor.h
198  __bit/bit_log2.h
199  __bit/bit_width.h
200  __bit/blsr.h
201  __bit/byteswap.h
202  __bit/countl.h
203  __bit/countr.h
204  __bit/endian.h
205  __bit/has_single_bit.h
206  __bit/popcount.h
207  __bit/rotate.h
208  __bit_reference
209  __bsd_locale_defaults.h
210  __bsd_locale_fallbacks.h
211  __charconv/chars_format.h
212  __charconv/from_chars_result.h
213  __charconv/tables.h
214  __charconv/to_chars_base_10.h
215  __charconv/to_chars_result.h
216  __chrono/calendar.h
217  __chrono/convert_to_timespec.h
218  __chrono/convert_to_tm.h
219  __chrono/day.h
220  __chrono/duration.h
221  __chrono/file_clock.h
222  __chrono/formatter.h
223  __chrono/hh_mm_ss.h
224  __chrono/high_resolution_clock.h
225  __chrono/literals.h
226  __chrono/month.h
227  __chrono/month_weekday.h
228  __chrono/monthday.h
229  __chrono/ostream.h
230  __chrono/parser_std_format_spec.h
231  __chrono/statically_widen.h
232  __chrono/steady_clock.h
233  __chrono/system_clock.h
234  __chrono/time_point.h
235  __chrono/weekday.h
236  __chrono/year.h
237  __chrono/year_month.h
238  __chrono/year_month_day.h
239  __chrono/year_month_weekday.h
240  __compare/common_comparison_category.h
241  __compare/compare_partial_order_fallback.h
242  __compare/compare_strong_order_fallback.h
243  __compare/compare_three_way.h
244  __compare/compare_three_way_result.h
245  __compare/compare_weak_order_fallback.h
246  __compare/is_eq.h
247  __compare/ordering.h
248  __compare/partial_order.h
249  __compare/strong_order.h
250  __compare/synth_three_way.h
251  __compare/three_way_comparable.h
252  __compare/weak_order.h
253  __concepts/arithmetic.h
254  __concepts/assignable.h
255  __concepts/boolean_testable.h
256  __concepts/class_or_enum.h
257  __concepts/common_reference_with.h
258  __concepts/common_with.h
259  __concepts/constructible.h
260  __concepts/convertible_to.h
261  __concepts/copyable.h
262  __concepts/derived_from.h
263  __concepts/destructible.h
264  __concepts/different_from.h
265  __concepts/equality_comparable.h
266  __concepts/invocable.h
267  __concepts/movable.h
268  __concepts/predicate.h
269  __concepts/regular.h
270  __concepts/relation.h
271  __concepts/same_as.h
272  __concepts/semiregular.h
273  __concepts/swappable.h
274  __concepts/totally_ordered.h
275  __config
276  __coroutine/coroutine_handle.h
277  __coroutine/coroutine_traits.h
278  __coroutine/noop_coroutine_handle.h
279  __coroutine/trivial_awaitables.h
280  __debug
281  __debug_utils/randomize_range.h
282  __errc
283  __expected/bad_expected_access.h
284  __expected/expected.h
285  __expected/unexpect.h
286  __expected/unexpected.h
287  __filesystem/copy_options.h
288  __filesystem/directory_entry.h
289  __filesystem/directory_iterator.h
290  __filesystem/directory_options.h
291  __filesystem/file_status.h
292  __filesystem/file_time_type.h
293  __filesystem/file_type.h
294  __filesystem/filesystem_error.h
295  __filesystem/operations.h
296  __filesystem/path.h
297  __filesystem/path_iterator.h
298  __filesystem/perm_options.h
299  __filesystem/perms.h
300  __filesystem/recursive_directory_iterator.h
301  __filesystem/space_info.h
302  __filesystem/u8path.h
303  __format/buffer.h
304  __format/concepts.h
305  __format/container_adaptor.h
306  __format/enable_insertable.h
307  __format/escaped_output_table.h
308  __format/extended_grapheme_cluster_table.h
309  __format/format_arg.h
310  __format/format_arg_store.h
311  __format/format_args.h
312  __format/format_context.h
313  __format/format_error.h
314  __format/format_functions.h
315  __format/format_fwd.h
316  __format/format_parse_context.h
317  __format/format_string.h
318  __format/format_to_n_result.h
319  __format/formatter.h
320  __format/formatter_bool.h
321  __format/formatter_char.h
322  __format/formatter_floating_point.h
323  __format/formatter_integer.h
324  __format/formatter_integral.h
325  __format/formatter_output.h
326  __format/formatter_pointer.h
327  __format/formatter_string.h
328  __format/formatter_tuple.h
329  __format/parser_std_format_spec.h
330  __format/range_default_formatter.h
331  __format/range_formatter.h
332  __format/unicode.h
333  __functional/binary_function.h
334  __functional/binary_negate.h
335  __functional/bind.h
336  __functional/bind_back.h
337  __functional/bind_front.h
338  __functional/binder1st.h
339  __functional/binder2nd.h
340  __functional/boyer_moore_searcher.h
341  __functional/compose.h
342  __functional/default_searcher.h
343  __functional/function.h
344  __functional/hash.h
345  __functional/identity.h
346  __functional/invoke.h
347  __functional/is_transparent.h
348  __functional/mem_fn.h
349  __functional/mem_fun_ref.h
350  __functional/not_fn.h
351  __functional/operations.h
352  __functional/perfect_forward.h
353  __functional/pointer_to_binary_function.h
354  __functional/pointer_to_unary_function.h
355  __functional/ranges_operations.h
356  __functional/reference_wrapper.h
357  __functional/unary_function.h
358  __functional/unary_negate.h
359  __functional/unwrap_ref.h
360  __functional/weak_result_type.h
361  __fwd/array.h
362  __fwd/get.h
363  __fwd/hash.h
364  __fwd/memory_resource.h
365  __fwd/pair.h
366  __fwd/span.h
367  __fwd/string.h
368  __fwd/string_view.h
369  __fwd/subrange.h
370  __fwd/tuple.h
371  __hash_table
372  __ios/fpos.h
373  __iterator/access.h
374  __iterator/advance.h
375  __iterator/back_insert_iterator.h
376  __iterator/bounded_iter.h
377  __iterator/common_iterator.h
378  __iterator/concepts.h
379  __iterator/counted_iterator.h
380  __iterator/data.h
381  __iterator/default_sentinel.h
382  __iterator/distance.h
383  __iterator/empty.h
384  __iterator/erase_if_container.h
385  __iterator/front_insert_iterator.h
386  __iterator/incrementable_traits.h
387  __iterator/indirectly_comparable.h
388  __iterator/insert_iterator.h
389  __iterator/istream_iterator.h
390  __iterator/istreambuf_iterator.h
391  __iterator/iter_move.h
392  __iterator/iter_swap.h
393  __iterator/iterator.h
394  __iterator/iterator_traits.h
395  __iterator/iterator_with_data.h
396  __iterator/mergeable.h
397  __iterator/move_iterator.h
398  __iterator/move_sentinel.h
399  __iterator/next.h
400  __iterator/ostream_iterator.h
401  __iterator/ostreambuf_iterator.h
402  __iterator/permutable.h
403  __iterator/prev.h
404  __iterator/projected.h
405  __iterator/readable_traits.h
406  __iterator/reverse_access.h
407  __iterator/reverse_iterator.h
408  __iterator/segmented_iterator.h
409  __iterator/size.h
410  __iterator/sortable.h
411  __iterator/unreachable_sentinel.h
412  __iterator/wrap_iter.h
413  __locale
414  __mbstate_t.h
415  __memory/addressof.h
416  __memory/align.h
417  __memory/allocate_at_least.h
418  __memory/allocation_guard.h
419  __memory/allocator.h
420  __memory/allocator_arg_t.h
421  __memory/allocator_destructor.h
422  __memory/allocator_traits.h
423  __memory/assume_aligned.h
424  __memory/auto_ptr.h
425  __memory/builtin_new_allocator.h
426  __memory/compressed_pair.h
427  __memory/concepts.h
428  __memory/construct_at.h
429  __memory/destruct_n.h
430  __memory/pointer_traits.h
431  __memory/ranges_construct_at.h
432  __memory/ranges_uninitialized_algorithms.h
433  __memory/raw_storage_iterator.h
434  __memory/shared_ptr.h
435  __memory/swap_allocator.h
436  __memory/temp_value.h
437  __memory/temporary_buffer.h
438  __memory/uninitialized_algorithms.h
439  __memory/unique_ptr.h
440  __memory/uses_allocator.h
441  __memory/uses_allocator_construction.h
442  __memory/voidify.h
443  __memory_resource/memory_resource.h
444  __memory_resource/monotonic_buffer_resource.h
445  __memory_resource/polymorphic_allocator.h
446  __memory_resource/pool_options.h
447  __memory_resource/synchronized_pool_resource.h
448  __memory_resource/unsynchronized_pool_resource.h
449  __mutex_base
450  __node_handle
451  __numeric/accumulate.h
452  __numeric/adjacent_difference.h
453  __numeric/exclusive_scan.h
454  __numeric/gcd_lcm.h
455  __numeric/inclusive_scan.h
456  __numeric/inner_product.h
457  __numeric/iota.h
458  __numeric/midpoint.h
459  __numeric/partial_sum.h
460  __numeric/reduce.h
461  __numeric/transform_exclusive_scan.h
462  __numeric/transform_inclusive_scan.h
463  __numeric/transform_reduce.h
464  __random/bernoulli_distribution.h
465  __random/binomial_distribution.h
466  __random/cauchy_distribution.h
467  __random/chi_squared_distribution.h
468  __random/clamp_to_integral.h
469  __random/default_random_engine.h
470  __random/discard_block_engine.h
471  __random/discrete_distribution.h
472  __random/exponential_distribution.h
473  __random/extreme_value_distribution.h
474  __random/fisher_f_distribution.h
475  __random/gamma_distribution.h
476  __random/generate_canonical.h
477  __random/geometric_distribution.h
478  __random/independent_bits_engine.h
479  __random/is_seed_sequence.h
480  __random/is_valid.h
481  __random/knuth_b.h
482  __random/linear_congruential_engine.h
483  __random/log2.h
484  __random/lognormal_distribution.h
485  __random/mersenne_twister_engine.h
486  __random/negative_binomial_distribution.h
487  __random/normal_distribution.h
488  __random/piecewise_constant_distribution.h
489  __random/piecewise_linear_distribution.h
490  __random/poisson_distribution.h
491  __random/random_device.h
492  __random/ranlux.h
493  __random/seed_seq.h
494  __random/shuffle_order_engine.h
495  __random/student_t_distribution.h
496  __random/subtract_with_carry_engine.h
497  __random/uniform_int_distribution.h
498  __random/uniform_random_bit_generator.h
499  __random/uniform_real_distribution.h
500  __random/weibull_distribution.h
501  __ranges/access.h
502  __ranges/all.h
503  __ranges/as_rvalue_view.h
504  __ranges/common_view.h
505  __ranges/concepts.h
506  __ranges/copyable_box.h
507  __ranges/counted.h
508  __ranges/dangling.h
509  __ranges/data.h
510  __ranges/drop_view.h
511  __ranges/drop_while_view.h
512  __ranges/elements_view.h
513  __ranges/empty.h
514  __ranges/empty_view.h
515  __ranges/enable_borrowed_range.h
516  __ranges/enable_view.h
517  __ranges/filter_view.h
518  __ranges/iota_view.h
519  __ranges/istream_view.h
520  __ranges/join_view.h
521  __ranges/lazy_split_view.h
522  __ranges/non_propagating_cache.h
523  __ranges/owning_view.h
524  __ranges/range_adaptor.h
525  __ranges/rbegin.h
526  __ranges/ref_view.h
527  __ranges/rend.h
528  __ranges/reverse_view.h
529  __ranges/single_view.h
530  __ranges/size.h
531  __ranges/split_view.h
532  __ranges/subrange.h
533  __ranges/take_view.h
534  __ranges/take_while_view.h
535  __ranges/transform_view.h
536  __ranges/view_interface.h
537  __ranges/views.h
538  __ranges/zip_view.h
539  __split_buffer
540  __std_stream
541  __string/char_traits.h
542  __string/extern_template_lists.h
543  __support/android/locale_bionic.h
544  __support/fuchsia/xlocale.h
545  __support/ibm/gettod_zos.h
546  __support/ibm/locale_mgmt_zos.h
547  __support/ibm/nanosleep.h
548  __support/ibm/xlocale.h
549  __support/musl/xlocale.h
550  __support/newlib/xlocale.h
551  __support/openbsd/xlocale.h
552  __support/solaris/floatingpoint.h
553  __support/solaris/wchar.h
554  __support/solaris/xlocale.h
555  __support/win32/locale_win32.h
556  __support/xlocale/__nop_locale_mgmt.h
557  __support/xlocale/__posix_l_fallback.h
558  __support/xlocale/__strtonum_fallback.h
559  __thread/poll_with_backoff.h
560  __thread/timed_backoff_policy.h
561  __threading_support
562  __tree
563  __tuple_dir/apply_cv.h
564  __tuple_dir/make_tuple_types.h
565  __tuple_dir/pair_like.h
566  __tuple_dir/sfinae_helpers.h
567  __tuple_dir/tuple_element.h
568  __tuple_dir/tuple_indices.h
569  __tuple_dir/tuple_like.h
570  __tuple_dir/tuple_like_ext.h
571  __tuple_dir/tuple_size.h
572  __tuple_dir/tuple_types.h
573  __type_traits/add_const.h
574  __type_traits/add_cv.h
575  __type_traits/add_lvalue_reference.h
576  __type_traits/add_pointer.h
577  __type_traits/add_rvalue_reference.h
578  __type_traits/add_volatile.h
579  __type_traits/aligned_storage.h
580  __type_traits/aligned_union.h
581  __type_traits/alignment_of.h
582  __type_traits/apply_cv.h
583  __type_traits/can_extract_key.h
584  __type_traits/common_reference.h
585  __type_traits/common_type.h
586  __type_traits/conditional.h
587  __type_traits/conjunction.h
588  __type_traits/copy_cv.h
589  __type_traits/copy_cvref.h
590  __type_traits/decay.h
591  __type_traits/dependent_type.h
592  __type_traits/disjunction.h
593  __type_traits/enable_if.h
594  __type_traits/extent.h
595  __type_traits/has_unique_object_representation.h
596  __type_traits/has_virtual_destructor.h
597  __type_traits/integral_constant.h
598  __type_traits/is_abstract.h
599  __type_traits/is_aggregate.h
600  __type_traits/is_allocator.h
601  __type_traits/is_always_bitcastable.h
602  __type_traits/is_arithmetic.h
603  __type_traits/is_array.h
604  __type_traits/is_assignable.h
605  __type_traits/is_base_of.h
606  __type_traits/is_bounded_array.h
607  __type_traits/is_callable.h
608  __type_traits/is_char_like_type.h
609  __type_traits/is_class.h
610  __type_traits/is_compound.h
611  __type_traits/is_const.h
612  __type_traits/is_constant_evaluated.h
613  __type_traits/is_constructible.h
614  __type_traits/is_convertible.h
615  __type_traits/is_copy_assignable.h
616  __type_traits/is_copy_constructible.h
617  __type_traits/is_core_convertible.h
618  __type_traits/is_default_constructible.h
619  __type_traits/is_destructible.h
620  __type_traits/is_empty.h
621  __type_traits/is_enum.h
622  __type_traits/is_final.h
623  __type_traits/is_floating_point.h
624  __type_traits/is_function.h
625  __type_traits/is_fundamental.h
626  __type_traits/is_implicitly_default_constructible.h
627  __type_traits/is_integral.h
628  __type_traits/is_literal_type.h
629  __type_traits/is_member_function_pointer.h
630  __type_traits/is_member_object_pointer.h
631  __type_traits/is_member_pointer.h
632  __type_traits/is_move_assignable.h
633  __type_traits/is_move_constructible.h
634  __type_traits/is_nothrow_assignable.h
635  __type_traits/is_nothrow_constructible.h
636  __type_traits/is_nothrow_convertible.h
637  __type_traits/is_nothrow_copy_assignable.h
638  __type_traits/is_nothrow_copy_constructible.h
639  __type_traits/is_nothrow_default_constructible.h
640  __type_traits/is_nothrow_destructible.h
641  __type_traits/is_nothrow_move_assignable.h
642  __type_traits/is_nothrow_move_constructible.h
643  __type_traits/is_null_pointer.h
644  __type_traits/is_object.h
645  __type_traits/is_pod.h
646  __type_traits/is_pointer.h
647  __type_traits/is_polymorphic.h
648  __type_traits/is_primary_template.h
649  __type_traits/is_reference.h
650  __type_traits/is_reference_wrapper.h
651  __type_traits/is_referenceable.h
652  __type_traits/is_same.h
653  __type_traits/is_scalar.h
654  __type_traits/is_scoped_enum.h
655  __type_traits/is_signed.h
656  __type_traits/is_signed_integer.h
657  __type_traits/is_specialization.h
658  __type_traits/is_standard_layout.h
659  __type_traits/is_swappable.h
660  __type_traits/is_trivial.h
661  __type_traits/is_trivially_assignable.h
662  __type_traits/is_trivially_constructible.h
663  __type_traits/is_trivially_copy_assignable.h
664  __type_traits/is_trivially_copy_constructible.h
665  __type_traits/is_trivially_copyable.h
666  __type_traits/is_trivially_default_constructible.h
667  __type_traits/is_trivially_destructible.h
668  __type_traits/is_trivially_move_assignable.h
669  __type_traits/is_trivially_move_constructible.h
670  __type_traits/is_unbounded_array.h
671  __type_traits/is_union.h
672  __type_traits/is_unsigned.h
673  __type_traits/is_unsigned_integer.h
674  __type_traits/is_valid_expansion.h
675  __type_traits/is_void.h
676  __type_traits/is_volatile.h
677  __type_traits/lazy.h
678  __type_traits/make_32_64_or_128_bit.h
679  __type_traits/make_const_lvalue_ref.h
680  __type_traits/make_signed.h
681  __type_traits/make_unsigned.h
682  __type_traits/maybe_const.h
683  __type_traits/nat.h
684  __type_traits/negation.h
685  __type_traits/noexcept_move_assign_container.h
686  __type_traits/promote.h
687  __type_traits/rank.h
688  __type_traits/remove_all_extents.h
689  __type_traits/remove_const.h
690  __type_traits/remove_const_ref.h
691  __type_traits/remove_cv.h
692  __type_traits/remove_cvref.h
693  __type_traits/remove_extent.h
694  __type_traits/remove_pointer.h
695  __type_traits/remove_reference.h
696  __type_traits/remove_volatile.h
697  __type_traits/result_of.h
698  __type_traits/strip_signature.h
699  __type_traits/type_identity.h
700  __type_traits/type_list.h
701  __type_traits/underlying_type.h
702  __type_traits/void_t.h
703  __undef_macros
704  __utility/as_const.h
705  __utility/auto_cast.h
706  __utility/cmp.h
707  __utility/convert_to_integral.h
708  __utility/declval.h
709  __utility/exception_guard.h
710  __utility/exchange.h
711  __utility/forward.h
712  __utility/forward_like.h
713  __utility/in_place.h
714  __utility/integer_sequence.h
715  __utility/move.h
716  __utility/pair.h
717  __utility/piecewise_construct.h
718  __utility/priority_tag.h
719  __utility/rel_ops.h
720  __utility/swap.h
721  __utility/to_underlying.h
722  __utility/unreachable.h
723  __variant/monostate.h
724  __verbose_abort
725  algorithm
726  any
727  array
728  atomic
729  barrier
730  bit
731  bitset
732  cassert
733  ccomplex
734  cctype
735  cerrno
736  cfenv
737  cfloat
738  charconv
739  chrono
740  cinttypes
741  ciso646
742  climits
743  clocale
744  cmath
745  codecvt
746  compare
747  complex
748  complex.h
749  concepts
750  condition_variable
751  coroutine
752  csetjmp
753  csignal
754  cstdarg
755  cstdbool
756  cstddef
757  cstdint
758  cstdio
759  cstdlib
760  cstring
761  ctgmath
762  ctime
763  ctype.h
764  cuchar
765  cwchar
766  cwctype
767  deque
768  errno.h
769  exception
770  execution
771  expected
772  experimental/__config
773  experimental/__memory
774  experimental/algorithm
775  experimental/coroutine
776  experimental/deque
777  experimental/forward_list
778  experimental/functional
779  experimental/iterator
780  experimental/list
781  experimental/map
782  experimental/memory_resource
783  experimental/propagate_const
784  experimental/regex
785  experimental/set
786  experimental/simd
787  experimental/string
788  experimental/type_traits
789  experimental/unordered_map
790  experimental/unordered_set
791  experimental/utility
792  experimental/vector
793  ext/__hash
794  ext/hash_map
795  ext/hash_set
796  fenv.h
797  filesystem
798  float.h
799  format
800  forward_list
801  fstream
802  functional
803  future
804  initializer_list
805  inttypes.h
806  iomanip
807  ios
808  iosfwd
809  iostream
810  istream
811  iterator
812  latch
813  libcxx.imp
814  limits
815  limits.h
816  list
817  locale
818  locale.h
819  map
820  math.h
821  memory
822  memory_resource
823  mutex
824  new
825  numbers
826  numeric
827  optional
828  ostream
829  queue
830  random
831  ranges
832  ratio
833  regex
834  scoped_allocator
835  semaphore
836  set
837  setjmp.h
838  shared_mutex
839  source_location
840  span
841  sstream
842  stack
843  stdatomic.h
844  stdbool.h
845  stddef.h
846  stdexcept
847  stdint.h
848  stdio.h
849  stdlib.h
850  streambuf
851  string
852  string.h
853  string_view
854  strstream
855  system_error
856  tgmath.h
857  thread
858  tuple
859  type_traits
860  typeindex
861  typeinfo
862  uchar.h
863  unordered_map
864  unordered_set
865  utility
866  valarray
867  variant
868  vector
869  version
870  wchar.h
871  wctype.h
872  )
873
874foreach(feature LIBCXX_ENABLE_FILESYSTEM LIBCXX_ENABLE_LOCALIZATION LIBCXX_ENABLE_FSTREAM LIBCXX_ENABLE_THREADS LIBCXX_ENABLE_WIDE_CHARACTERS)
875  if (NOT ${${feature}})
876    set(requires_${feature} "requires LIBCXX_CONFIGURED_WITHOUT_SUPPORT_FOR_THIS_HEADER")
877  endif()
878endforeach()
879
880configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY)
881configure_file("module.modulemap.in" "${LIBCXX_GENERATED_INCLUDE_DIR}/module.modulemap" @ONLY)
882
883set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site"
884                  "${LIBCXX_GENERATED_INCLUDE_DIR}/module.modulemap")
885foreach(f ${files})
886  set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}")
887  set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}")
888  add_custom_command(OUTPUT ${dst}
889    DEPENDS ${src}
890    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
891    COMMENT "Copying CXX header ${f}")
892  list(APPEND _all_includes "${dst}")
893endforeach()
894
895add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes})
896
897add_library(cxx-headers INTERFACE)
898target_link_libraries(cxx-headers INTERFACE libcxx-abi-headers)
899add_dependencies(cxx-headers generate-cxx-headers)
900target_include_directories(cxx-headers INTERFACE ${LIBCXX_GENERATED_INCLUDE_DIR}
901                                                 ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR})
902
903if (LIBCXX_INSTALL_HEADERS)
904  foreach(file ${files})
905    get_filename_component(dir ${file} DIRECTORY)
906    install(FILES ${file}
907      DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}/${dir}"
908      COMPONENT cxx-headers
909      PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
910    )
911  endforeach()
912
913  # Install the generated __config_site file to the per-target include dir.
914  install(FILES "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site"
915    DESTINATION "${LIBCXX_INSTALL_INCLUDE_TARGET_DIR}"
916    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
917    COMPONENT cxx-headers)
918
919  # Install the generated modulemap file to the generic include dir.
920  install(FILES "${LIBCXX_GENERATED_INCLUDE_DIR}/module.modulemap"
921    DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}"
922    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
923    COMPONENT cxx-headers)
924
925  if (NOT CMAKE_CONFIGURATION_TYPES)
926    add_custom_target(install-cxx-headers
927                      DEPENDS cxx-headers
928                      COMMAND "${CMAKE_COMMAND}"
929                              -DCMAKE_INSTALL_COMPONENT=cxx-headers
930                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
931    # Stripping is a no-op for headers
932    add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers)
933  endif()
934endif()
935