1diff --git a/CMakeLists.txt b/CMakeLists.txt
2index 9e8e9d5e3d9b..e1d6d2392b92 100644
3--- a/CMakeLists.txt
4+++ b/CMakeLists.txt
5@@ -22,6 +22,8 @@ set(CMAKE_MODULE_PATH
6 if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
7 project(libcxx CXX C)
8
9+ include(GNUInstallDirs)
10+
11 set(PACKAGE_NAME libcxx)
12 set(PACKAGE_VERSION 6.0.0)
13 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
14diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
15index 558e11ba2cc1..c6a99cec0191 100644
16--- a/cmake/Modules/HandleLibCXXABI.cmake
17+++ b/cmake/Modules/HandleLibCXXABI.cmake
18@@ -55,7 +55,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs)
19 )
20 if (LIBCXX_INSTALL_HEADERS)
21 install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
22- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1/${dstdir}
23+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}
24 COMPONENT cxx-headers
25 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
26 )
27diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
28index b98e09260ca1..c920f48697bc 100644
29--- a/include/CMakeLists.txt
30+++ b/include/CMakeLists.txt
31@@ -20,7 +20,7 @@ endif()
32
33 if (LIBCXX_INSTALL_HEADERS)
34 install(DIRECTORY .
35- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1
36+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1
37 COMPONENT cxx-headers
38 FILES_MATCHING
39 ${LIBCXX_HEADER_PATTERN}
40@@ -44,7 +44,7 @@ if (LIBCXX_INSTALL_HEADERS)
41 set(generated_config_deps generate_config_header)
42 # Install the generated header as __config.
43 install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
44- DESTINATION ${LIBCXX_INSTALL_PREFIX}include/c++/v1
45+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1
46 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
47 RENAME __config
48 COMPONENT cxx-headers)
49diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
50index aa5ebf1568ec..36d85b94c3ba 100644
51--- a/lib/CMakeLists.txt
52+++ b/lib/CMakeLists.txt
53@@ -357,8 +357,8 @@ if (LIBCXX_INSTALL_LIBRARY)
54 set(experimental_lib cxx_experimental)
55 endif()
56 install(TARGETS ${LIBCXX_TARGETS} ${experimental_lib}
57- LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
58- ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
59+ LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
60+ ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
61 )
62 # NOTE: This install command must go after the cxx install command otherwise
63 # it will not be executed after the library symlinks are installed.
64@@ -366,7 +366,7 @@ if (LIBCXX_INSTALL_LIBRARY)
65 # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx>
66 # after we required CMake 3.0.
67 install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}"
68- DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX}
69+ DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}
70 COMPONENT libcxx)
71 endif()
72 endif()