[libcxx] Add "install-libcxx" target.
Summary: Currently you can't install libc++ from within the LLVM tree without installing all of LLVM. This patch adds an install rule for libc++.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11697
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@245470 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
index 4224882..39cca9d 100644
--- a/cmake/Modules/HandleLibCXXABI.cmake
+++ b/cmake/Modules/HandleLibCXXABI.cmake
@@ -43,6 +43,7 @@
)
install(FILES "${CMAKE_BINARY_DIR}/include/${fpath}"
DESTINATION include/c++/v1/${dstdir}
+ COMPONENT libcxx
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
list(APPEND abilib_headers "${CMAKE_BINARY_DIR}/include/${fpath}")
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
index 95206bf..7a7c229 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -17,6 +17,7 @@
if (LIBCXX_INSTALL_HEADERS)
install(DIRECTORY .
DESTINATION include/c++/v1
+ COMPONENT libcxx
FILES_MATCHING
${LIBCXX_HEADER_PATTERN}
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 26dee67..0c83f05 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -134,6 +134,14 @@
)
install(TARGETS cxx
- LIBRARY DESTINATION lib${LIBCXX_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LIBCXX_LIBDIR_SUFFIX}
+ LIBRARY DESTINATION lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT libcxx
+ ARCHIVE DESTINATION lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT libcxx
)
+
+if (NOT CMAKE_CONFIGURATION_TYPES)
+ add_custom_target(install-libcxx
+ DEPENDS cxx
+ COMMAND "${CMAKE_COMMAND}"
+ -DCMAKE_INSTALL_COMPONENT=libcxx
+ -P "${LIBCXX_BINARY_DIR}/cmake_install.cmake")
+endif()