set(files
  __algorithm/adjacent_find.h
  __algorithm/all_of.h
  __algorithm/any_of.h
  __algorithm/binary_search.h
  __algorithm/clamp.h
  __algorithm/comp_ref_type.h
  __algorithm/comp.h
  __algorithm/copy_backward.h
  __algorithm/copy_if.h
  __algorithm/copy_n.h
  __algorithm/copy.h
  __algorithm/count_if.h
  __algorithm/count.h
  __algorithm/equal_range.h
  __algorithm/equal.h
  __algorithm/fill_n.h
  __algorithm/fill.h
  __algorithm/find_end.h
  __algorithm/find_first_of.h
  __algorithm/find_if_not.h
  __algorithm/find_if.h
  __algorithm/find.h
  __algorithm/for_each_n.h
  __algorithm/for_each.h
  __algorithm/generate_n.h
  __algorithm/generate.h
  __algorithm/half_positive.h
  __algorithm/includes.h
  __algorithm/inplace_merge.h
  __algorithm/is_heap_until.h
  __algorithm/is_heap.h
  __algorithm/is_partitioned.h
  __algorithm/is_permutation.h
  __algorithm/is_sorted_until.h
  __algorithm/is_sorted.h
  __algorithm/iter_swap.h
  __algorithm/lexicographical_compare.h
  __algorithm/lower_bound.h
  __algorithm/make_heap.h
  __algorithm/max_element.h
  __algorithm/max.h
  __algorithm/merge.h
  __algorithm/min_element.h
  __algorithm/min.h
  __algorithm/minmax_element.h
  __algorithm/minmax.h
  __algorithm/mismatch.h
  __algorithm/move_backward.h
  __algorithm/move.h
  __algorithm/next_permutation.h
  __algorithm/none_of.h
  __algorithm/nth_element.h
  __algorithm/partial_sort_copy.h
  __algorithm/partial_sort.h
  __algorithm/partition_copy.h
  __algorithm/partition_point.h
  __algorithm/partition.h
  __algorithm/pop_heap.h
  __algorithm/prev_permutation.h
  __algorithm/push_heap.h
  __algorithm/remove_copy_if.h
  __algorithm/remove_copy.h
  __algorithm/remove_if.h
  __algorithm/remove.h
  __algorithm/replace_copy_if.h
  __algorithm/replace_copy.h
  __algorithm/replace_if.h
  __algorithm/replace.h
  __algorithm/reverse_copy.h
  __algorithm/reverse.h
  __algorithm/rotate_copy.h
  __algorithm/rotate.h
  __algorithm/sample.h
  __algorithm/search_n.h
  __algorithm/search.h
  __algorithm/set_difference.h
  __algorithm/set_intersection.h
  __algorithm/set_symmetric_difference.h
  __algorithm/set_union.h
  __algorithm/shift_left.h
  __algorithm/shift_right.h
  __algorithm/shuffle.h
  __algorithm/sift_down.h
  __algorithm/sort_heap.h
  __algorithm/sort.h
  __algorithm/stable_partition.h
  __algorithm/stable_sort.h
  __algorithm/swap_ranges.h
  __algorithm/transform.h
  __algorithm/unique_copy.h
  __algorithm/unique.h
  __algorithm/unwrap_iter.h
  __algorithm/upper_bound.h
  __availability
  __bit_reference
  __bit/bit_cast.h
  __bits
  __bsd_locale_defaults.h
  __bsd_locale_fallbacks.h
  __charconv/chars_format.h
  __charconv/from_chars_result.h
  __charconv/to_chars_result.h
  __compare/common_comparison_category.h
  __compare/compare_three_way.h
  __compare/compare_three_way_result.h
  __compare/is_eq.h
  __compare/ordering.h
  __compare/synth_three_way.h
  __compare/three_way_comparable.h
  __concepts/arithmetic.h
  __concepts/assignable.h
  __concepts/boolean_testable.h
  __concepts/class_or_enum.h
  __concepts/common_reference_with.h
  __concepts/common_with.h
  __concepts/constructible.h
  __concepts/convertible_to.h
  __concepts/copyable.h
  __concepts/derived_from.h
  __concepts/destructible.h
  __concepts/different_from.h
  __concepts/equality_comparable.h
  __concepts/invocable.h
  __concepts/movable.h
  __concepts/predicate.h
  __concepts/regular.h
  __concepts/relation.h
  __concepts/same_as.h
  __concepts/semiregular.h
  __concepts/swappable.h
  __concepts/totally_ordered.h
  __config
  __debug
  __errc
  __format/format_arg.h
  __format/format_args.h
  __format/format_context.h
  __format/format_error.h
  __format/format_fwd.h
  __format/format_parse_context.h
  __format/format_string.h
  __format/formatter.h
  __format/formatter_bool.h
  __format/formatter_char.h
  __format/formatter_integer.h
  __format/formatter_integral.h
  __format/formatter_string.h
  __format/parser_std_format_spec.h
  __function_like.h
  __functional_base
  __functional/binary_function.h
  __functional/binary_negate.h
  __functional/bind_back.h
  __functional/bind_front.h
  __functional/bind.h
  __functional/binder1st.h
  __functional/binder2nd.h
  __functional/compose.h
  __functional/default_searcher.h
  __functional/function.h
  __functional/hash.h
  __functional/identity.h
  __functional/invoke.h
  __functional/is_transparent.h
  __functional/mem_fn.h
  __functional/mem_fun_ref.h
  __functional/not_fn.h
  __functional/operations.h
  __functional/perfect_forward.h
  __functional/pointer_to_binary_function.h
  __functional/pointer_to_unary_function.h
  __functional/ranges_operations.h
  __functional/reference_wrapper.h
  __functional/unary_function.h
  __functional/unary_negate.h
  __functional/unwrap_ref.h
  __functional/weak_result_type.h
  __hash_table
  __iterator/access.h
  __iterator/advance.h
  __iterator/back_insert_iterator.h
  __iterator/common_iterator.h
  __iterator/concepts.h
  __iterator/counted_iterator.h
  __iterator/data.h
  __iterator/default_sentinel.h
  __iterator/distance.h
  __iterator/empty.h
  __iterator/erase_if_container.h
  __iterator/front_insert_iterator.h
  __iterator/incrementable_traits.h
  __iterator/insert_iterator.h
  __iterator/istream_iterator.h
  __iterator/istreambuf_iterator.h
  __iterator/iter_move.h
  __iterator/iter_swap.h
  __iterator/iterator_traits.h
  __iterator/iterator.h
  __iterator/move_iterator.h
  __iterator/next.h
  __iterator/ostream_iterator.h
  __iterator/ostreambuf_iterator.h
  __iterator/prev.h
  __iterator/projected.h
  __iterator/readable_traits.h
  __iterator/reverse_access.h
  __iterator/reverse_iterator.h
  __iterator/size.h
  __iterator/unreachable_sentinel.h
  __iterator/wrap_iter.h
  __libcpp_version
  __locale
  __mbstate_t.h
  __memory/addressof.h
  __memory/allocation_guard.h
  __memory/allocator_arg_t.h
  __memory/allocator_traits.h
  __memory/allocator.h
  __memory/auto_ptr.h
  __memory/compressed_pair.h
  __memory/construct_at.h
  __memory/pointer_safety.h
  __memory/pointer_traits.h
  __memory/raw_storage_iterator.h
  __memory/shared_ptr.h
  __memory/temporary_buffer.h
  __memory/uninitialized_algorithms.h
  __memory/unique_ptr.h
  __memory/uses_allocator.h
  __mutex_base
  __node_handle
  __nullptr
  __random/uniform_int_distribution.h
  __ranges/access.h
  __ranges/all.h
  __ranges/common_view.h
  __ranges/concepts.h
  __ranges/copyable_box.h
  __ranges/counted.h
  __ranges/dangling.h
  __ranges/data.h
  __ranges/drop_view.h
  __ranges/empty_view.h
  __ranges/empty.h
  __ranges/enable_borrowed_range.h
  __ranges/enable_view.h
  __ranges/iota_view.h
  __ranges/join_view.h
  __ranges/non_propagating_cache.h
  __ranges/range_adaptor.h
  __ranges/ref_view.h
  __ranges/reverse_view.h
  __ranges/single_view.h
  __ranges/size.h
  __ranges/subrange.h
  __ranges/take_view.h
  __ranges/transform_view.h
  __ranges/view_interface.h
  __split_buffer
  __std_stream
  __string
  __support/android/locale_bionic.h
  __support/fuchsia/xlocale.h
  __support/ibm/gettod_zos.h
  __support/ibm/limits.h
  __support/ibm/locale_mgmt_zos.h
  __support/ibm/nanosleep.h
  __support/ibm/support.h
  __support/ibm/xlocale.h
  __support/musl/xlocale.h
  __support/newlib/xlocale.h
  __support/openbsd/xlocale.h
  __support/solaris/floatingpoint.h
  __support/solaris/wchar.h
  __support/solaris/xlocale.h
  __support/win32/limits_msvc_win32.h
  __support/win32/locale_win32.h
  __support/xlocale/__nop_locale_mgmt.h
  __support/xlocale/__posix_l_fallback.h
  __support/xlocale/__strtonum_fallback.h
  __threading_support
  __tree
  __tuple
  __undef_macros
  __utility/as_const.h
  __utility/cmp.h
  __utility/decay_copy.h
  __utility/declval.h
  __utility/exchange.h
  __utility/forward.h
  __utility/in_place.h
  __utility/integer_sequence.h
  __utility/move.h
  __utility/pair.h
  __utility/piecewise_construct.h
  __utility/rel_ops.h
  __utility/swap.h
  __utility/to_underlying.h
  __variant/monostate.h
  algorithm
  any
  array
  atomic
  barrier
  bit
  bitset
  cassert
  ccomplex
  cctype
  cerrno
  cfenv
  cfloat
  charconv
  chrono
  cinttypes
  ciso646
  climits
  clocale
  cmath
  codecvt
  compare
  complex
  complex.h
  concepts
  condition_variable
  csetjmp
  csignal
  cstdarg
  cstdbool
  cstddef
  cstdint
  cstdio
  cstdlib
  cstring
  ctgmath
  ctime
  ctype.h
  cwchar
  cwctype
  deque
  errno.h
  exception
  execution
  experimental/__config
  experimental/__memory
  experimental/algorithm
  experimental/coroutine
  experimental/deque
  experimental/filesystem
  experimental/forward_list
  experimental/functional
  experimental/iterator
  experimental/list
  experimental/map
  experimental/memory_resource
  experimental/propagate_const
  experimental/regex
  experimental/set
  experimental/simd
  experimental/string
  experimental/type_traits
  experimental/unordered_map
  experimental/unordered_set
  experimental/utility
  experimental/vector
  ext/__hash
  ext/hash_map
  ext/hash_set
  fenv.h
  filesystem
  float.h
  format
  forward_list
  fstream
  functional
  future
  initializer_list
  inttypes.h
  iomanip
  ios
  iosfwd
  iostream
  istream
  iterator
  latch
  limits
  limits.h
  list
  locale
  locale.h
  map
  math.h
  memory
  module.modulemap
  mutex
  new
  numbers
  numeric
  optional
  ostream
  queue
  random
  ranges
  ratio
  regex
  scoped_allocator
  semaphore
  set
  setjmp.h
  shared_mutex
  span
  sstream
  stack
  stdbool.h
  stddef.h
  stdexcept
  stdint.h
  stdio.h
  stdlib.h
  streambuf
  string
  string_view
  string.h
  strstream
  system_error
  tgmath.h
  thread
  tuple
  type_traits
  typeindex
  typeinfo
  unordered_map
  unordered_set
  utility
  valarray
  variant
  vector
  version
  wchar.h
  wctype.h
  )

configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY)

set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site")
foreach(f ${files})
  set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}")
  set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}")
  add_custom_command(OUTPUT ${dst}
    DEPENDS ${src}
    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
    COMMENT "Copying CXX header ${f}")
  list(APPEND _all_includes "${dst}")
endforeach()

add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes})

add_library(cxx-headers INTERFACE)
add_dependencies(cxx-headers generate-cxx-headers ${LIBCXX_CXX_ABI_HEADER_TARGET})
# TODO: Use target_include_directories once we figure out why that breaks the runtimes build
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC")
  target_compile_options(cxx-headers INTERFACE /I${LIBCXX_GENERATED_INCLUDE_DIR}
                                     INTERFACE /I${LIBCXX_GENERATED_INCLUDE_TARGET_DIR})
else()
  target_compile_options(cxx-headers INTERFACE -I${LIBCXX_GENERATED_INCLUDE_DIR}
                                     INTERFACE -I${LIBCXX_GENERATED_INCLUDE_TARGET_DIR})
endif()

if (LIBCXX_INSTALL_HEADERS)
  foreach(file ${files})
    get_filename_component(dir ${file} DIRECTORY)
    install(FILES ${file}
      DESTINATION ${LIBCXX_INSTALL_INCLUDE_DIR}/${dir}
      COMPONENT cxx-headers
      PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
    )
  endforeach()

  # Install the generated __config_site.
  install(FILES ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site
    DESTINATION ${LIBCXX_INSTALL_INCLUDE_TARGET_DIR}
    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
    COMPONENT cxx-headers)

  if (NOT CMAKE_CONFIGURATION_TYPES)
    add_custom_target(install-cxx-headers
                      DEPENDS cxx-headers
                      COMMAND "${CMAKE_COMMAND}"
                              -DCMAKE_INSTALL_COMPONENT=cxx-headers
                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
    # Stripping is a no-op for headers
    add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers)
  endif()
endif()
