1diff --git a/CMakeLists.txt b/CMakeLists.txt
2index b5633e21c56a..f2f1035e9238 100644
3--- a/CMakeLists.txt
4+++ b/CMakeLists.txt
5@@ -10,6 +10,8 @@ set(CMAKE_MODULE_PATH
6 # If we are not building as part of LLVM, build LLDB as a standalone project,
7 # using LLVM as an external library.
8 if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
9+ include(GNUInstallDirs)
10+
11 project(lldb)
12 include(LLDBStandalone)
13
14diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
15index 4ed5c647c5d2..89f96e710d55 100644
16--- a/cmake/modules/AddLLDB.cmake
17+++ b/cmake/modules/AddLLDB.cmake
18@@ -107,13 +107,13 @@ function(add_lldb_library name)
19 endif()
20
21 if(PARAM_SHARED)
22- set(install_dest lib${LLVM_LIBDIR_SUFFIX})
23+ set(install_dest ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
24 if(PARAM_INSTALL_PREFIX)
25 set(install_dest ${PARAM_INSTALL_PREFIX})
26 endif()
27 # RUNTIME is relevant for DLL platforms, FRAMEWORK for macOS
28 install(TARGETS ${name} COMPONENT ${name}
29- RUNTIME DESTINATION bin
30+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
31 LIBRARY DESTINATION ${install_dest}
32 ARCHIVE DESTINATION ${install_dest}
33 FRAMEWORK DESTINATION ${install_dest})
34diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
35index 2fdf1502d055..37364341ff8b 100644
36--- a/cmake/modules/LLDBConfig.cmake
37+++ b/cmake/modules/LLDBConfig.cmake
38@@ -225,7 +225,7 @@ include_directories(BEFORE
39 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
40 install(DIRECTORY include/
41 COMPONENT lldb-headers
42- DESTINATION include
43+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
44 FILES_MATCHING
45 PATTERN "*.h"
46 PATTERN ".cmake" EXCLUDE
47@@ -233,7 +233,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
48
49 install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
50 COMPONENT lldb-headers
51- DESTINATION include
52+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
53 FILES_MATCHING
54 PATTERN "*.h"
55 PATTERN ".cmake" EXCLUDE
56diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt
57index 734167e51bc5..f95761b5df58 100644
58--- a/tools/intel-features/CMakeLists.txt
59+++ b/tools/intel-features/CMakeLists.txt
60@@ -65,4 +65,4 @@ if (LLDB_ENABLE_PYTHON AND LLDB_BUILD_INTEL_PT)
61 endif()
62
63 install(TARGETS lldbIntelFeatures
64- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
65+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
66diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
67index 752113b..010f187 100644
68--- a/cmake/modules/LLDBStandalone.cmake
69+++ b/cmake/modules/LLDBStandalone.cmake
70@@ -62,7 +62,7 @@ endif()
71
72 # They are used as destination of target generators.
73 set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
74-set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
75+set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
76 if(WIN32 OR CYGWIN)
77 # DLL platform -- put DLLs into bin.
78 set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
79diff --git a/CMakeLists.txt b/CMakeLists.txt
80index b5633e2..86e4738 100644
81--- a/CMakeLists.txt
82+++ b/CMakeLists.txt
83@@ -79,7 +79,7 @@ if (LLDB_ENABLE_PYTHON)
84 if(LLDB_BUILD_FRAMEWORK)
85 set(lldb_python_target_dir "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/LLDB.framework/Resources/Python/lldb")
86 else()
87- set(lldb_python_target_dir "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LLDB_PYTHON_RELATIVE_PATH}/lldb")
88+ set(lldb_python_target_dir "${CMAKE_INSTALL_LIBDIR}/../${LLDB_PYTHON_RELATIVE_PATH}/lldb")
89 endif()
90 get_target_property(lldb_python_bindings_dir swig_wrapper_python BINARY_DIR)
91 finish_swig_python("lldb-python" "${lldb_python_bindings_dir}" "${lldb_python_target_dir}")