1diff --git a/CMakeLists.txt b/CMakeLists.txt
2index 6b83bce1ae72..63cda3e4e80c 100644
3--- a/CMakeLists.txt
4+++ b/CMakeLists.txt
5@@ -26,6 +26,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 8.0.1)
13 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
14diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
15index 1c19d7e01af7..9c8aee8e8bb7 100644
16--- a/cmake/Modules/HandleLibCXXABI.cmake
17+++ b/cmake/Modules/HandleLibCXXABI.cmake
18@@ -59,7 +59,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_HEADER_PREFIX}include/c++/v1/${dstdir}
23+ DESTINATION ${LIBCXX_INSTALL_HEADER_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 73f7cfc4d8e3..92cf0864ac7e 100644
29--- a/include/CMakeLists.txt
30+++ b/include/CMakeLists.txt
31@@ -243,7 +243,7 @@ if (LIBCXX_INSTALL_HEADERS)
32 foreach(file ${files})
33 get_filename_component(dir ${file} DIRECTORY)
34 install(FILES ${file}
35- DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir}
36+ DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dir}
37 COMPONENT cxx-headers
38 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
39 )
40@@ -252,7 +252,7 @@ if (LIBCXX_INSTALL_HEADERS)
41 if (LIBCXX_NEEDS_SITE_CONFIG)
42 # Install the generated header as __config.
43 install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
44- DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1
45+ DESTINATION ${LIBCXX_INSTALL_HEADER_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 24489e8fb5e8..7327e5ee4b85 100644
51--- a/lib/CMakeLists.txt
52+++ b/lib/CMakeLists.txt
53@@ -414,8 +414,8 @@ if (LIBCXX_INSTALL_LIBRARY)
54 set(experimental_lib cxx_experimental)
55 endif()
56 install(TARGETS ${LIBCXX_INSTALL_TARGETS} ${filesystem_lib} ${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@@ -423,7 +423,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()