1 1.1 joerg set(files 2 1.1 joerg __availability 3 1.1 joerg __bit_reference 4 1.1 joerg __bits 5 1.1 joerg __bsd_locale_defaults.h 6 1.1 joerg __bsd_locale_fallbacks.h 7 1.1 joerg __config 8 1.1 joerg __debug 9 1.1 joerg __errc 10 1.1 joerg __functional_03 11 1.1 joerg __functional_base 12 1.1 joerg __functional_base_03 13 1.1 joerg __hash_table 14 1.1 joerg __iterator/concepts.h 15 1.1 joerg __iterator/incrementable_traits.h 16 1.1 joerg __iterator/iter_move.h 17 1.1 joerg __iterator/iterator_traits.h 18 1.1 joerg __iterator/readable_traits.h 19 1.1 joerg __libcpp_version 20 1.1 joerg __locale 21 1.1 joerg __memory/addressof.h 22 1.1 joerg __memory/allocation_guard.h 23 1.1 joerg __memory/allocator.h 24 1.1 joerg __memory/allocator_traits.h 25 1.1 joerg __memory/auto_ptr.h 26 1.1 joerg __memory/compressed_pair.h 27 1.1 joerg __memory/construct_at.h 28 1.1 joerg __memory/pointer_safety.h 29 1.1 joerg __memory/pointer_traits.h 30 1.1 joerg __memory/raw_storage_iterator.h 31 1.1 joerg __memory/shared_ptr.h 32 1.1 joerg __memory/temporary_buffer.h 33 1.1 joerg __memory/uninitialized_algorithms.h 34 1.1 joerg __memory/unique_ptr.h 35 1.1 joerg __mutex_base 36 1.1 joerg __node_handle 37 1.1 joerg __nullptr 38 1.1 joerg __ranges/access.h 39 1.1 joerg __ranges/concepts.h 40 1.1 joerg __ranges/data.h 41 1.1 joerg __ranges/empty.h 42 1.1 joerg __ranges/enable_borrowed_range.h 43 1.1 joerg __ranges/view.h 44 1.1 joerg __ranges/size.h 45 1.1 joerg __split_buffer 46 1.1 joerg __std_stream 47 1.1 joerg __string 48 1.1 joerg __threading_support 49 1.1 joerg __tree 50 1.1 joerg __tuple 51 1.1 joerg __undef_macros 52 1.1 joerg __utility/to_underlying.h 53 1.1 joerg algorithm 54 1.1 joerg any 55 1.1 joerg array 56 1.1 joerg atomic 57 1.1 joerg barrier 58 1.1 joerg bit 59 1.1 joerg bitset 60 1.1 joerg cassert 61 1.1 joerg ccomplex 62 1.1 joerg cctype 63 1.1 joerg cerrno 64 1.1 joerg cfenv 65 1.1 joerg cfloat 66 1.1 joerg charconv 67 1.1 joerg chrono 68 1.1 joerg cinttypes 69 1.1 joerg ciso646 70 1.1 joerg climits 71 1.1 joerg clocale 72 1.1 joerg cmath 73 1.1 joerg codecvt 74 1.1 joerg compare 75 1.1 joerg complex 76 1.1 joerg complex.h 77 1.1 joerg concepts 78 1.1 joerg condition_variable 79 1.1 joerg csetjmp 80 1.1 joerg csignal 81 1.1 joerg cstdarg 82 1.1 joerg cstdbool 83 1.1 joerg cstddef 84 1.1 joerg cstdint 85 1.1 joerg cstdio 86 1.1 joerg cstdlib 87 1.1 joerg cstring 88 1.1 joerg ctgmath 89 1.1 joerg ctime 90 1.1 joerg ctype.h 91 1.1 joerg cwchar 92 1.1 joerg cwctype 93 1.1 joerg deque 94 1.1 joerg errno.h 95 1.1 joerg exception 96 1.1 joerg execution 97 1.1 joerg experimental/__config 98 1.1 joerg experimental/__memory 99 1.1 joerg experimental/algorithm 100 1.1 joerg experimental/coroutine 101 1.1 joerg experimental/deque 102 1.1 joerg experimental/filesystem 103 1.1 joerg experimental/forward_list 104 1.1 joerg experimental/functional 105 1.1 joerg experimental/iterator 106 1.1 joerg experimental/list 107 1.1 joerg experimental/map 108 1.1 joerg experimental/memory_resource 109 1.1 joerg experimental/propagate_const 110 1.1 joerg experimental/regex 111 1.1 joerg experimental/set 112 1.1 joerg experimental/simd 113 1.1 joerg experimental/string 114 1.1 joerg experimental/type_traits 115 1.1 joerg experimental/unordered_map 116 1.1 joerg experimental/unordered_set 117 1.1 joerg experimental/utility 118 1.1 joerg experimental/vector 119 1.1 joerg ext/__hash 120 1.1 joerg ext/hash_map 121 1.1 joerg ext/hash_set 122 1.1 joerg fenv.h 123 1.1 joerg filesystem 124 1.1 joerg float.h 125 1.1 joerg format 126 1.1 joerg forward_list 127 1.1 joerg fstream 128 1.1 joerg functional 129 1.1 joerg future 130 1.1 joerg initializer_list 131 1.1 joerg inttypes.h 132 1.1 joerg iomanip 133 1.1 joerg ios 134 1.1 joerg iosfwd 135 1.1 joerg iostream 136 1.1 joerg istream 137 1.1 joerg iterator 138 1.1 joerg latch 139 1.1 joerg limits 140 1.1 joerg limits.h 141 1.1 joerg list 142 1.1 joerg locale 143 1.1 joerg locale.h 144 1.1 joerg map 145 1.1 joerg math.h 146 1.1 joerg memory 147 1.1 joerg module.modulemap 148 1.1 joerg mutex 149 1.1 joerg new 150 1.1 joerg numbers 151 1.1 joerg numeric 152 1.1 joerg optional 153 1.1 joerg ostream 154 1.1 joerg queue 155 1.1 joerg random 156 1.1 joerg ranges 157 1.1 joerg ratio 158 1.1 joerg ranges 159 1.1 joerg regex 160 1.1 joerg scoped_allocator 161 1.1 joerg semaphore 162 1.1 joerg set 163 1.1 joerg setjmp.h 164 1.1 joerg shared_mutex 165 1.1 joerg span 166 1.1 joerg sstream 167 1.1 joerg stack 168 1.1 joerg stdbool.h 169 1.1 joerg stddef.h 170 1.1 joerg stdexcept 171 1.1 joerg stdint.h 172 1.1 joerg stdio.h 173 1.1 joerg stdlib.h 174 1.1 joerg streambuf 175 1.1 joerg string 176 1.1 joerg string.h 177 1.1 joerg string_view 178 1.1 joerg strstream 179 1.1 joerg __support/android/locale_bionic.h 180 1.1 joerg __support/fuchsia/xlocale.h 181 1.1 joerg __support/ibm/gettod_zos.h 182 1.1 joerg __support/ibm/limits.h 183 1.1 joerg __support/ibm/locale_mgmt_aix.h 184 1.1 joerg __support/ibm/locale_mgmt_zos.h 185 1.1 joerg __support/ibm/nanosleep.h 186 1.1 joerg __support/ibm/support.h 187 1.1 joerg __support/ibm/xlocale.h 188 1.1 joerg __support/musl/xlocale.h 189 1.1 joerg __support/newlib/xlocale.h 190 1.1 joerg __support/nuttx/xlocale.h 191 1.1 joerg __support/openbsd/xlocale.h 192 1.1 joerg __support/solaris/floatingpoint.h 193 1.1 joerg __support/solaris/wchar.h 194 1.1 joerg __support/solaris/xlocale.h 195 1.1 joerg __support/win32/limits_msvc_win32.h 196 1.1 joerg __support/win32/locale_win32.h 197 1.1 joerg __support/xlocale/__nop_locale_mgmt.h 198 1.1 joerg __support/xlocale/__posix_l_fallback.h 199 1.1 joerg __support/xlocale/__strtonum_fallback.h 200 1.1 joerg system_error 201 1.1 joerg tgmath.h 202 1.1 joerg thread 203 1.1 joerg tuple 204 1.1 joerg type_traits 205 1.1 joerg typeindex 206 1.1 joerg typeinfo 207 1.1 joerg unordered_map 208 1.1 joerg unordered_set 209 1.1 joerg utility 210 1.1 joerg valarray 211 1.1 joerg variant 212 1.1 joerg vector 213 1.1 joerg version 214 1.1 joerg wchar.h 215 1.1 joerg wctype.h 216 1.1 joerg ) 217 1.1 joerg 218 1.1 joerg configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY) 219 1.1 joerg 220 1.1 joerg set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site") 221 1.1 joerg foreach(f ${files}) 222 1.1 joerg set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}") 223 1.1 joerg set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}") 224 1.1 joerg add_custom_command(OUTPUT ${dst} 225 1.1 joerg DEPENDS ${src} 226 1.1 joerg COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst} 227 1.1 joerg COMMENT "Copying CXX header ${f}") 228 1.1 joerg list(APPEND _all_includes "${dst}") 229 1.1 joerg endforeach() 230 1.1 joerg 231 1.1 joerg add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes}) 232 1.1 joerg 233 1.1 joerg add_library(cxx-headers INTERFACE) 234 1.1 joerg add_dependencies(cxx-headers generate-cxx-headers ${LIBCXX_CXX_ABI_HEADER_TARGET}) 235 1.1 joerg # TODO: Use target_include_directories once we figure out why that breaks the runtimes build 236 1.1 joerg if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC") 237 1.1 joerg target_compile_options(cxx-headers INTERFACE /I${LIBCXX_GENERATED_INCLUDE_DIR} 238 1.1 joerg INTERFACE /I${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}) 239 1.1 joerg else() 240 1.1 joerg target_compile_options(cxx-headers INTERFACE -I${LIBCXX_GENERATED_INCLUDE_DIR} 241 1.1 joerg INTERFACE -I${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}) 242 1.1 joerg endif() 243 1.1 joerg 244 1.1 joerg if (LIBCXX_INSTALL_HEADERS) 245 1.1 joerg foreach(file ${files}) 246 1.1 joerg get_filename_component(dir ${file} DIRECTORY) 247 1.1 joerg install(FILES ${file} 248 1.1 joerg DESTINATION ${LIBCXX_INSTALL_INCLUDE_DIR}/${dir} 249 1.1 joerg COMPONENT cxx-headers 250 1.1 joerg PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 251 1.1 joerg ) 252 1.1 joerg endforeach() 253 1.1 joerg 254 1.1 joerg # Install the generated __config_site. 255 1.1 joerg install(FILES ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site 256 1.1 joerg DESTINATION ${LIBCXX_INSTALL_INCLUDE_TARGET_DIR} 257 1.1 joerg PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ 258 1.1 joerg COMPONENT cxx-headers) 259 1.1 joerg 260 1.1 joerg if (NOT CMAKE_CONFIGURATION_TYPES) 261 1.1 joerg add_custom_target(install-cxx-headers 262 1.1 joerg DEPENDS cxx-headers 263 1.1 joerg COMMAND "${CMAKE_COMMAND}" 264 1.1 joerg -DCMAKE_INSTALL_COMPONENT=cxx-headers 265 1.1 joerg -P "${CMAKE_BINARY_DIR}/cmake_install.cmake") 266 1.1 joerg # Stripping is a no-op for headers 267 1.1 joerg add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers) 268 1.1 joerg endif() 269 1.1 joerg endif() 270