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_n.h 13 __algorithm/count.h 14 __algorithm/count_if.h 15 __algorithm/equal.h 16 __algorithm/equal_range.h 17 __algorithm/fill.h 18 __algorithm/fill_n.h 19 __algorithm/find.h 20 __algorithm/find_end.h 21 __algorithm/find_first_of.h 22 __algorithm/find_if.h 23 __algorithm/find_if_not.h 24 __algorithm/for_each.h 25 __algorithm/for_each_n.h 26 __algorithm/generate.h 27 __algorithm/generate_n.h 28 __algorithm/half_positive.h 29 __algorithm/in_found_result.h 30 __algorithm/in_fun_result.h 31 __algorithm/in_in_out_result.h 32 __algorithm/in_in_result.h 33 __algorithm/in_out_out_result.h 34 __algorithm/in_out_result.h 35 __algorithm/includes.h 36 __algorithm/inplace_merge.h 37 __algorithm/is_heap.h 38 __algorithm/is_heap_until.h 39 __algorithm/is_partitioned.h 40 __algorithm/is_permutation.h 41 __algorithm/is_sorted.h 42 __algorithm/is_sorted_until.h 43 __algorithm/iter_swap.h 44 __algorithm/lexicographical_compare.h 45 __algorithm/lower_bound.h 46 __algorithm/make_heap.h 47 __algorithm/max.h 48 __algorithm/max_element.h 49 __algorithm/merge.h 50 __algorithm/min.h 51 __algorithm/min_element.h 52 __algorithm/min_max_result.h 53 __algorithm/minmax.h 54 __algorithm/minmax_element.h 55 __algorithm/mismatch.h 56 __algorithm/move.h 57 __algorithm/move_backward.h 58 __algorithm/next_permutation.h 59 __algorithm/none_of.h 60 __algorithm/nth_element.h 61 __algorithm/partial_sort.h 62 __algorithm/partial_sort_copy.h 63 __algorithm/partition.h 64 __algorithm/partition_copy.h 65 __algorithm/partition_point.h 66 __algorithm/pop_heap.h 67 __algorithm/prev_permutation.h 68 __algorithm/push_heap.h 69 __algorithm/ranges_copy.h 70 __algorithm/ranges_copy_backward.h 71 __algorithm/ranges_copy_if.h 72 __algorithm/ranges_copy_n.h 73 __algorithm/ranges_count.h 74 __algorithm/ranges_count_if.h 75 __algorithm/ranges_find.h 76 __algorithm/ranges_find_if.h 77 __algorithm/ranges_find_if_not.h 78 __algorithm/ranges_for_each.h 79 __algorithm/ranges_for_each_n.h 80 __algorithm/ranges_is_partitioned.h 81 __algorithm/ranges_max.h 82 __algorithm/ranges_max_element.h 83 __algorithm/ranges_min.h 84 __algorithm/ranges_min_element.h 85 __algorithm/ranges_minmax.h 86 __algorithm/ranges_minmax_element.h 87 __algorithm/ranges_mismatch.h 88 __algorithm/ranges_swap_ranges.h 89 __algorithm/ranges_transform.h 90 __algorithm/remove.h 91 __algorithm/remove_copy.h 92 __algorithm/remove_copy_if.h 93 __algorithm/remove_if.h 94 __algorithm/replace.h 95 __algorithm/replace_copy.h 96 __algorithm/replace_copy_if.h 97 __algorithm/replace_if.h 98 __algorithm/reverse.h 99 __algorithm/reverse_copy.h 100 __algorithm/rotate.h 101 __algorithm/rotate_copy.h 102 __algorithm/sample.h 103 __algorithm/search.h 104 __algorithm/search_n.h 105 __algorithm/set_difference.h 106 __algorithm/set_intersection.h 107 __algorithm/set_symmetric_difference.h 108 __algorithm/set_union.h 109 __algorithm/shift_left.h 110 __algorithm/shift_right.h 111 __algorithm/shuffle.h 112 __algorithm/sift_down.h 113 __algorithm/sort.h 114 __algorithm/sort_heap.h 115 __algorithm/stable_partition.h 116 __algorithm/stable_sort.h 117 __algorithm/swap_ranges.h 118 __algorithm/transform.h 119 __algorithm/unique.h 120 __algorithm/unique_copy.h 121 __algorithm/unwrap_iter.h 122 __algorithm/upper_bound.h 123 __assert 124 __availability 125 __bit/bit_cast.h 126 __bit/byteswap.h 127 __bit_reference 128 __bits 129 __bsd_locale_defaults.h 130 __bsd_locale_fallbacks.h 131 __charconv/chars_format.h 132 __charconv/from_chars_result.h 133 __charconv/to_chars_result.h 134 __chrono/calendar.h 135 __chrono/convert_to_timespec.h 136 __chrono/day.h 137 __chrono/duration.h 138 __chrono/file_clock.h 139 __chrono/hh_mm_ss.h 140 __chrono/high_resolution_clock.h 141 __chrono/literals.h 142 __chrono/month.h 143 __chrono/month_weekday.h 144 __chrono/monthday.h 145 __chrono/steady_clock.h 146 __chrono/system_clock.h 147 __chrono/time_point.h 148 __chrono/weekday.h 149 __chrono/year.h 150 __chrono/year_month.h 151 __chrono/year_month_day.h 152 __chrono/year_month_weekday.h 153 __compare/common_comparison_category.h 154 __compare/compare_partial_order_fallback.h 155 __compare/compare_strong_order_fallback.h 156 __compare/compare_three_way.h 157 __compare/compare_three_way_result.h 158 __compare/compare_weak_order_fallback.h 159 __compare/is_eq.h 160 __compare/ordering.h 161 __compare/partial_order.h 162 __compare/strong_order.h 163 __compare/synth_three_way.h 164 __compare/three_way_comparable.h 165 __compare/weak_order.h 166 __concepts/arithmetic.h 167 __concepts/assignable.h 168 __concepts/boolean_testable.h 169 __concepts/class_or_enum.h 170 __concepts/common_reference_with.h 171 __concepts/common_with.h 172 __concepts/constructible.h 173 __concepts/convertible_to.h 174 __concepts/copyable.h 175 __concepts/derived_from.h 176 __concepts/destructible.h 177 __concepts/different_from.h 178 __concepts/equality_comparable.h 179 __concepts/invocable.h 180 __concepts/movable.h 181 __concepts/predicate.h 182 __concepts/regular.h 183 __concepts/relation.h 184 __concepts/same_as.h 185 __concepts/semiregular.h 186 __concepts/swappable.h 187 __concepts/totally_ordered.h 188 __config 189 __coroutine/coroutine_handle.h 190 __coroutine/coroutine_traits.h 191 __coroutine/noop_coroutine_handle.h 192 __coroutine/trivial_awaitables.h 193 __debug 194 __errc 195 __filesystem/copy_options.h 196 __filesystem/directory_entry.h 197 __filesystem/directory_iterator.h 198 __filesystem/directory_options.h 199 __filesystem/file_status.h 200 __filesystem/file_time_type.h 201 __filesystem/file_type.h 202 __filesystem/filesystem_error.h 203 __filesystem/operations.h 204 __filesystem/path.h 205 __filesystem/path_iterator.h 206 __filesystem/perm_options.h 207 __filesystem/perms.h 208 __filesystem/recursive_directory_iterator.h 209 __filesystem/space_info.h 210 __filesystem/u8path.h 211 __format/buffer.h 212 __format/enable_insertable.h 213 __format/format_arg.h 214 __format/format_args.h 215 __format/format_context.h 216 __format/format_error.h 217 __format/format_fwd.h 218 __format/format_parse_context.h 219 __format/format_string.h 220 __format/format_to_n_result.h 221 __format/formatter.h 222 __format/formatter_bool.h 223 __format/formatter_char.h 224 __format/formatter_floating_point.h 225 __format/formatter_integer.h 226 __format/formatter_integral.h 227 __format/formatter_pointer.h 228 __format/formatter_string.h 229 __format/parser_std_format_spec.h 230 __functional/binary_function.h 231 __functional/binary_negate.h 232 __functional/bind.h 233 __functional/bind_back.h 234 __functional/bind_front.h 235 __functional/binder1st.h 236 __functional/binder2nd.h 237 __functional/compose.h 238 __functional/default_searcher.h 239 __functional/function.h 240 __functional/hash.h 241 __functional/identity.h 242 __functional/invoke.h 243 __functional/is_transparent.h 244 __functional/mem_fn.h 245 __functional/mem_fun_ref.h 246 __functional/not_fn.h 247 __functional/operations.h 248 __functional/perfect_forward.h 249 __functional/pointer_to_binary_function.h 250 __functional/pointer_to_unary_function.h 251 __functional/ranges_operations.h 252 __functional/reference_wrapper.h 253 __functional/unary_function.h 254 __functional/unary_negate.h 255 __functional/unwrap_ref.h 256 __functional/weak_result_type.h 257 __fwd/span.h 258 __fwd/string_view.h 259 __hash_table 260 __ios/fpos.h 261 __iterator/access.h 262 __iterator/advance.h 263 __iterator/back_insert_iterator.h 264 __iterator/common_iterator.h 265 __iterator/concepts.h 266 __iterator/counted_iterator.h 267 __iterator/data.h 268 __iterator/default_sentinel.h 269 __iterator/distance.h 270 __iterator/empty.h 271 __iterator/erase_if_container.h 272 __iterator/front_insert_iterator.h 273 __iterator/incrementable_traits.h 274 __iterator/indirectly_comparable.h 275 __iterator/insert_iterator.h 276 __iterator/istream_iterator.h 277 __iterator/istreambuf_iterator.h 278 __iterator/iter_move.h 279 __iterator/iter_swap.h 280 __iterator/iterator.h 281 __iterator/iterator_traits.h 282 __iterator/mergeable.h 283 __iterator/move_iterator.h 284 __iterator/move_sentinel.h 285 __iterator/next.h 286 __iterator/ostream_iterator.h 287 __iterator/ostreambuf_iterator.h 288 __iterator/permutable.h 289 __iterator/prev.h 290 __iterator/projected.h 291 __iterator/readable_traits.h 292 __iterator/reverse_access.h 293 __iterator/reverse_iterator.h 294 __iterator/size.h 295 __iterator/sortable.h 296 __iterator/unreachable_sentinel.h 297 __iterator/wrap_iter.h 298 __locale 299 __mbstate_t.h 300 __memory/addressof.h 301 __memory/allocate_at_least.h 302 __memory/allocation_guard.h 303 __memory/allocator.h 304 __memory/allocator_arg_t.h 305 __memory/allocator_traits.h 306 __memory/assume_aligned.h 307 __memory/auto_ptr.h 308 __memory/compressed_pair.h 309 __memory/concepts.h 310 __memory/construct_at.h 311 __memory/pointer_traits.h 312 __memory/ranges_construct_at.h 313 __memory/ranges_uninitialized_algorithms.h 314 __memory/raw_storage_iterator.h 315 __memory/shared_ptr.h 316 __memory/temporary_buffer.h 317 __memory/uninitialized_algorithms.h 318 __memory/unique_ptr.h 319 __memory/uses_allocator.h 320 __memory/voidify.h 321 __mutex_base 322 __node_handle 323 __numeric/accumulate.h 324 __numeric/adjacent_difference.h 325 __numeric/exclusive_scan.h 326 __numeric/gcd_lcm.h 327 __numeric/inclusive_scan.h 328 __numeric/inner_product.h 329 __numeric/iota.h 330 __numeric/midpoint.h 331 __numeric/partial_sum.h 332 __numeric/reduce.h 333 __numeric/transform_exclusive_scan.h 334 __numeric/transform_inclusive_scan.h 335 __numeric/transform_reduce.h 336 __random/bernoulli_distribution.h 337 __random/binomial_distribution.h 338 __random/cauchy_distribution.h 339 __random/chi_squared_distribution.h 340 __random/clamp_to_integral.h 341 __random/default_random_engine.h 342 __random/discard_block_engine.h 343 __random/discrete_distribution.h 344 __random/exponential_distribution.h 345 __random/extreme_value_distribution.h 346 __random/fisher_f_distribution.h 347 __random/gamma_distribution.h 348 __random/generate_canonical.h 349 __random/geometric_distribution.h 350 __random/independent_bits_engine.h 351 __random/is_seed_sequence.h 352 __random/is_valid.h 353 __random/knuth_b.h 354 __random/linear_congruential_engine.h 355 __random/log2.h 356 __random/lognormal_distribution.h 357 __random/mersenne_twister_engine.h 358 __random/negative_binomial_distribution.h 359 __random/normal_distribution.h 360 __random/piecewise_constant_distribution.h 361 __random/piecewise_linear_distribution.h 362 __random/poisson_distribution.h 363 __random/random_device.h 364 __random/ranlux.h 365 __random/seed_seq.h 366 __random/shuffle_order_engine.h 367 __random/student_t_distribution.h 368 __random/subtract_with_carry_engine.h 369 __random/uniform_int_distribution.h 370 __random/uniform_random_bit_generator.h 371 __random/uniform_real_distribution.h 372 __random/weibull_distribution.h 373 __ranges/access.h 374 __ranges/all.h 375 __ranges/common_view.h 376 __ranges/concepts.h 377 __ranges/copyable_box.h 378 __ranges/counted.h 379 __ranges/dangling.h 380 __ranges/data.h 381 __ranges/drop_view.h 382 __ranges/empty.h 383 __ranges/empty_view.h 384 __ranges/enable_borrowed_range.h 385 __ranges/enable_view.h 386 __ranges/filter_view.h 387 __ranges/iota_view.h 388 __ranges/join_view.h 389 __ranges/lazy_split_view.h 390 __ranges/non_propagating_cache.h 391 __ranges/owning_view.h 392 __ranges/range_adaptor.h 393 __ranges/rbegin.h 394 __ranges/ref_view.h 395 __ranges/rend.h 396 __ranges/reverse_view.h 397 __ranges/single_view.h 398 __ranges/size.h 399 __ranges/subrange.h 400 __ranges/take_view.h 401 __ranges/transform_view.h 402 __ranges/view_interface.h 403 __ranges/views.h 404 __ranges/zip_view.h 405 __split_buffer 406 __std_stream 407 __string 408 __support/android/locale_bionic.h 409 __support/fuchsia/xlocale.h 410 __support/ibm/gettod_zos.h 411 __support/ibm/limits.h 412 __support/ibm/locale_mgmt_zos.h 413 __support/ibm/nanosleep.h 414 __support/ibm/support.h 415 __support/ibm/xlocale.h 416 __support/musl/xlocale.h 417 __support/newlib/xlocale.h 418 __support/openbsd/xlocale.h 419 __support/solaris/floatingpoint.h 420 __support/solaris/wchar.h 421 __support/solaris/xlocale.h 422 __support/win32/limits_msvc_win32.h 423 __support/win32/locale_win32.h 424 __support/xlocale/__nop_locale_mgmt.h 425 __support/xlocale/__posix_l_fallback.h 426 __support/xlocale/__strtonum_fallback.h 427 __thread/poll_with_backoff.h 428 __thread/timed_backoff_policy.h 429 __threading_support 430 __tree 431 __tuple 432 __type_traits/integral_constant.h 433 __type_traits/is_callable.h 434 __undef_macros 435 __utility/as_const.h 436 __utility/auto_cast.h 437 __utility/cmp.h 438 __utility/declval.h 439 __utility/exchange.h 440 __utility/forward.h 441 __utility/in_place.h 442 __utility/integer_sequence.h 443 __utility/move.h 444 __utility/pair.h 445 __utility/piecewise_construct.h 446 __utility/priority_tag.h 447 __utility/rel_ops.h 448 __utility/swap.h 449 __utility/to_underlying.h 450 __utility/transaction.h 451 __utility/unreachable.h 452 __variant/monostate.h 453 algorithm 454 any 455 array 456 atomic 457 barrier 458 bit 459 bitset 460 cassert 461 ccomplex 462 cctype 463 cerrno 464 cfenv 465 cfloat 466 charconv 467 chrono 468 cinttypes 469 ciso646 470 climits 471 clocale 472 cmath 473 codecvt 474 compare 475 complex 476 complex.h 477 concepts 478 condition_variable 479 coroutine 480 csetjmp 481 csignal 482 cstdarg 483 cstdbool 484 cstddef 485 cstdint 486 cstdio 487 cstdlib 488 cstring 489 ctgmath 490 ctime 491 ctype.h 492 cuchar 493 cwchar 494 cwctype 495 deque 496 errno.h 497 exception 498 execution 499 experimental/__config 500 experimental/__memory 501 experimental/algorithm 502 experimental/coroutine 503 experimental/deque 504 experimental/forward_list 505 experimental/functional 506 experimental/iterator 507 experimental/list 508 experimental/map 509 experimental/memory_resource 510 experimental/propagate_const 511 experimental/regex 512 experimental/set 513 experimental/simd 514 experimental/string 515 experimental/type_traits 516 experimental/unordered_map 517 experimental/unordered_set 518 experimental/utility 519 experimental/vector 520 ext/__hash 521 ext/hash_map 522 ext/hash_set 523 fenv.h 524 filesystem 525 float.h 526 format 527 forward_list 528 fstream 529 functional 530 future 531 initializer_list 532 inttypes.h 533 iomanip 534 ios 535 iosfwd 536 iostream 537 istream 538 iterator 539 latch 540 limits 541 limits.h 542 list 543 locale 544 locale.h 545 map 546 math.h 547 memory 548 module.modulemap 549 mutex 550 new 551 numbers 552 numeric 553 optional 554 ostream 555 queue 556 random 557 ranges 558 ratio 559 regex 560 scoped_allocator 561 semaphore 562 set 563 setjmp.h 564 shared_mutex 565 span 566 sstream 567 stack 568 stdatomic.h 569 stdbool.h 570 stddef.h 571 stdexcept 572 stdint.h 573 stdio.h 574 stdlib.h 575 streambuf 576 string 577 string.h 578 string_view 579 strstream 580 system_error 581 tgmath.h 582 thread 583 tuple 584 type_traits 585 typeindex 586 typeinfo 587 uchar.h 588 unordered_map 589 unordered_set 590 utility 591 valarray 592 variant 593 vector 594 version 595 wchar.h 596 wctype.h 597 ) 598 599configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY) 600 601set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site") 602foreach(f ${files}) 603 set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}") 604 set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}") 605 add_custom_command(OUTPUT ${dst} 606 DEPENDS ${src} 607 COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst} 608 COMMENT "Copying CXX header ${f}") 609 list(APPEND _all_includes "${dst}") 610endforeach() 611 612add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes}) 613 614add_library(cxx-headers INTERFACE) 615add_dependencies(cxx-headers generate-cxx-headers ${LIBCXX_CXX_ABI_HEADER_TARGET}) 616target_include_directories(cxx-headers INTERFACE ${LIBCXX_GENERATED_INCLUDE_DIR} 617 ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}) 618 619if (LIBCXX_INSTALL_HEADERS) 620 foreach(file ${files}) 621 get_filename_component(dir ${file} DIRECTORY) 622 install(FILES ${file} 623 DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}/${dir}" 624 COMPONENT cxx-headers 625 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 626 ) 627 endforeach() 628 629 # Install the generated __config_site. 630 install(FILES ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site 631 DESTINATION "${LIBCXX_INSTALL_INCLUDE_TARGET_DIR}" 632 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 633 COMPONENT cxx-headers) 634 635 if (NOT CMAKE_CONFIGURATION_TYPES) 636 add_custom_target(install-cxx-headers 637 DEPENDS cxx-headers 638 COMMAND "${CMAKE_COMMAND}" 639 -DCMAKE_INSTALL_COMPONENT=cxx-headers 640 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake") 641 # Stripping is a no-op for headers 642 add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers) 643 endif() 644endif() 645