| if (NOT LIBCXX_INSTALL_SUPPORT_HEADERS) |
| set(LIBCXX_SUPPORT_HEADER_PATTERN PATTERN "support" EXCLUDE) |
| endif() |
| |
| set(LIBCXX_HEADER_PATTERN |
| PATTERN "*" |
| PATTERN "CMakeLists.txt" EXCLUDE |
| PATTERN ".svn" EXCLUDE |
| PATTERN "__config_site.in" EXCLUDE |
| ${LIBCXX_SUPPORT_HEADER_PATTERN} |
| ) |
| |
| if(NOT LIBCXX_USING_INSTALLED_LLVM AND LLVM_BINARY_DIR) |
| file(COPY . |
| DESTINATION "${LLVM_BINARY_DIR}/include/c++/v1" |
| FILES_MATCHING |
| ${LIBCXX_HEADER_PATTERN} |
| ) |
| endif() |
| |
| if (LIBCXX_INSTALL_HEADERS) |
| install(DIRECTORY . |
| DESTINATION include/c++/v1 |
| COMPONENT cxx-headers |
| FILES_MATCHING |
| ${LIBCXX_HEADER_PATTERN} |
| PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
| ) |
| |
| if (LIBCXX_NEEDS_SITE_CONFIG) |
| # Generate and install a custom __config header. The new header is created |
| # by prepending __config_site to the current __config header. |
| add_custom_command(OUTPUT ${LIBCXX_BINARY_DIR}/__generated_config |
| COMMAND ${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/cat_files.py |
| ${LIBCXX_BINARY_DIR}/__config_site |
| ${LIBCXX_SOURCE_DIR}/include/__config |
| -o ${LIBCXX_BINARY_DIR}/__generated_config |
| DEPENDS ${LIBCXX_SOURCE_DIR}/include/__config |
| ${LIBCXX_BINARY_DIR}/__config_site |
| ) |
| # Add a target that executes the generation commands. |
| add_custom_target(generate_config_header ALL |
| DEPENDS ${LIBCXX_BINARY_DIR}/__generated_config) |
| set(generated_config_deps generate_config_header) |
| # Install the generated header as __config. |
| install(FILES ${LIBCXX_BINARY_DIR}/__generated_config |
| DESTINATION include/c++/v1 |
| PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
| RENAME __config |
| COMPONENT cxx-headers) |
| endif() |
| |
| if (NOT CMAKE_CONFIGURATION_TYPES) |
| # this target is just needed as a placeholder for the distribution target |
| add_custom_target(cxx-headers) |
| add_custom_target(install-cxx-headers |
| DEPENDS cxx-headers ${generated_config_deps} |
| COMMAND "${CMAKE_COMMAND}" |
| -DCMAKE_INSTALL_COMPONENT=cxx-headers |
| -P "${CMAKE_BINARY_DIR}/cmake_install.cmake") |
| |
| add_custom_target(libcxx-headers) |
| add_custom_target(install-libcxx-headers DEPENDS install-cxx-headers) |
| endif() |
| |
| endif() |