1diff --git a/CMakeLists.txt b/CMakeLists.txt
2index ca5afba86d19..ed69e4043c3d 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 5.0.0)
13 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
14diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
15index b1f6bee8f945..1b455fceed7f 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 libcxx
25 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
26 )
27diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
28index 5a1b2ccdc426..106d3d6c1d3c 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 578651423f3b..277befd631ac 100644
51--- a/lib/CMakeLists.txt
52+++ b/lib/CMakeLists.txt
53@@ -355,8 +355,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@@ -364,7 +364,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()