[CMake] Create a separate install target for libcxx headers

This change doesn't impact the behavior of the install-libcxx target which installs whichever libcxx components you build, it just adds a separate target to just install the headers.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@268124 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Bieneman
2016-04-29 22:17:15 +00:00
parent 59af3f895f
commit ffa3db2cc6
2 changed files with 16 additions and 3 deletions

View File

@@ -19,7 +19,7 @@ file(COPY .
if (LIBCXX_INSTALL_HEADERS)
install(DIRECTORY .
DESTINATION include/c++/v1
COMPONENT libcxx
COMPONENT libcxx-headers
FILES_MATCHING
${LIBCXX_HEADER_PATTERN}
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
@@ -46,7 +46,17 @@ if (LIBCXX_INSTALL_HEADERS)
DESTINATION include/c++/v1
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
RENAME __config
COMPONENT libcxx)
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 ${name} libcxx-headers
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=libcxx-headers
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
endif()
endif()

View File

@@ -180,8 +180,11 @@ if (NOT CMAKE_CONFIGURATION_TYPES AND (LIBCXX_INSTALL_LIBRARY OR
if(LIBCXX_INSTALL_LIBRARY)
set(deps DEPENDS cxx)
endif()
if(LIBCXX_INSTALL_HEADERS)
set(deps DEPENDS install-libcxx-headers)
endif()
add_custom_target(install-libcxx
${deps}
${deps}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=libcxx
-P "${LIBCXX_BINARY_DIR}/cmake_install.cmake")