1diff --git a/CMakeLists.txt b/CMakeLists.txt
2index 5d52f6450657..a05130cf80b9 100644
3--- a/CMakeLists.txt
4+++ b/CMakeLists.txt
5@@ -14,6 +14,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 include(LLDBStandalone)
12 endif()
13
14diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
15index 4c99278c583b..36d3640a6afc 100644
16--- a/cmake/modules/AddLLDB.cmake
17+++ b/cmake/modules/AddLLDB.cmake
18@@ -94,13 +94,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 e1a133709ff2..357b4bb4492a 100644
36--- a/cmake/modules/LLDBConfig.cmake
37+++ b/cmake/modules/LLDBConfig.cmake
38@@ -335,7 +335,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 ".svn" EXCLUDE
47@@ -345,7 +345,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 ".svn" EXCLUDE
56diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt
57index b5316540fdf3..3c3c882d503f 100644
58--- a/tools/intel-features/CMakeLists.txt
59+++ b/tools/intel-features/CMakeLists.txt
60@@ -64,4 +64,4 @@ if (NOT LLDB_DISABLE_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/CMakeLists.txt b/CMakeLists.txt
67index cdf22c4..d56fc6a 100644
68--- a/CMakeLists.txt
69+++ b/CMakeLists.txt
70@@ -146,7 +146,7 @@ if (NOT LLDB_DISABLE_PYTHON)
71 --cfgBldDir=${lldb_scripts_dir}
72 --prefix=${CMAKE_BINARY_DIR}
73 --cmakeBuildConfiguration=${CMAKE_CFG_INTDIR}
74- --lldbLibDir=lib${LLVM_LIBDIR_SUFFIX}
75+ --lldbLibDir=${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
76 ${use_python_wrapper_from_src_dir}
77 ${use_six_py_from_system}
78 VERBATIM
79diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
80index b726797..1f057ac 100644
81--- a/cmake/modules/LLDBStandalone.cmake
82+++ b/cmake/modules/LLDBStandalone.cmake
83@@ -95,7 +95,7 @@ include_directories(
84 "${CLANG_INCLUDE_DIRS}")
85
86 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
87-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
88+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR}/lib${LLVM_LIBDIR_SUFFIX})
89 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
90
91 set(LLDB_BUILT_STANDALONE 1)
92diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
93index 7de7973..b70aecc 100644
94--- a/scripts/CMakeLists.txt
95+++ b/scripts/CMakeLists.txt
96@@ -50,7 +50,8 @@ if(NOT LLDB_BUILD_FRAMEWORK)
97 OUTPUT_STRIP_TRAILING_WHITESPACE)
98 execute_process(
99 COMMAND ${PYTHON_EXECUTABLE}
100- -c "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(True, False, ''))"
101+ -c "import distutils.sysconfig, sys; print(distutils.sysconfig.get_python_lib(True, False, sys.argv[1]))"
102+ ${CMAKE_INSTALL_LIBDIR}/../
103 OUTPUT_VARIABLE SWIG_INSTALL_DIR
104 OUTPUT_STRIP_TRAILING_WHITESPACE)
105