123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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}
- )
- file(COPY .
- DESTINATION "${CMAKE_BINARY_DIR}/include/c++/v1"
- FILES_MATCHING
- ${LIBCXX_HEADER_PATTERN}
- )
- if (LIBCXX_INSTALL_HEADERS)
- install(DIRECTORY .
- DESTINATION include/c++/v1
- COMPONENT libcxx-headers
- FILES_MATCHING
- ${LIBCXX_HEADER_PATTERN}
- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
- )
- if (LIBCXX_NEEDS_SITE_CONFIG)
- set(UNIX_CAT cat)
- if (WIN32)
- set(UNIX_CAT type)
- endif()
- # 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 ${CMAKE_COMMAND} -E copy ${LIBCXX_BINARY_DIR}/__config_site ${LIBCXX_BINARY_DIR}/__generated_config
- COMMAND ${UNIX_CAT} ${LIBCXX_SOURCE_DIR}/include/__config >> ${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 libcxx-headers)
- endif()
- if (NOT CMAKE_CONFIGURATION_TYPES)
- # this target is just needed as a placeholder for the distribution target
- add_custom_target(libcxx-headers)
- add_custom_target(install-libcxx-headers
- DEPENDS libcxx-headers ${generated_config_deps}
- COMMAND "${CMAKE_COMMAND}"
- -DCMAKE_INSTALL_COMPONENT=libcxx-headers
- -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
- endif()
- endif()
|