1diff --git a/CMakeLists.txt b/CMakeLists.txt
2index c27beec313d7..480f13e73c9f 100644
3--- a/CMakeLists.txt
4+++ b/CMakeLists.txt
5@@ -78,15 +78,17 @@ if(CLANG_BUILT_STANDALONE)
6 if (NOT LLVM_CONFIG_FOUND)
7 # Pull values from LLVMConfig.cmake. We can drop this once the llvm-config
8 # path is removed.
9- set(MAIN_INCLUDE_DIR "${LLVM_INCLUDE_DIR}")
10+ set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
11 set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}")
12 # N.B. this is just a default value, the CACHE PATHs below can be overriden.
13 set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm")
14 set(TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}")
15 set(LIBRARY_DIR "${LLVM_LIBRARY_DIR}")
16+ else()
17+ set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}")
18 endif()
19
20- set(LLVM_MAIN_INCLUDE_DIR "${MAIN_INCLUDE_DIR}" CACHE PATH "Path to llvm/include")
21+ set(LLVM_INCLUDE_DIRS ${INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed")
22 set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree")
23 set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree")
24 set(LLVM_TOOLS_BINARY_DIR "${TOOLS_BINARY_DIR}" CACHE PATH "Path to llvm/bin")
25@@ -128,7 +130,7 @@ if(CLANG_BUILT_STANDALONE)
26 set(LLVM_INCLUDE_TESTS ON)
27 endif()
28
29- include_directories("${LLVM_BINARY_DIR}/include" "${LLVM_MAIN_INCLUDE_DIR}")
30+ include_directories(${LLVM_INCLUDE_DIRS})
31 link_directories("${LLVM_LIBRARY_DIR}")
32
33 set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
34diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake
35index 21ac332e4f5f..b16c314bd1e2 100644
36--- a/cmake/modules/AddClang.cmake
37+++ b/cmake/modules/AddClang.cmake
38@@ -119,8 +119,8 @@ macro(add_clang_library name)
39 install(TARGETS ${lib}
40 COMPONENT ${lib}
41 ${export_to_clangtargets}
42- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
43- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
44+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}"
45+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}"
46 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
47
48 if (NOT LLVM_ENABLE_IDE)
49diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
50index 6e2060991b92..b9bc930d26b8 100644
51--- a/lib/Headers/CMakeLists.txt
52+++ b/lib/Headers/CMakeLists.txt
53@@ -420,7 +420,7 @@ add_header_target("openmp-resource-headers" ${openmp_wrapper_files})
54 add_header_target("windows-resource-headers" ${windows_only_files})
55 add_header_target("utility-resource-headers" ${utility_files})
56
57-set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
58+set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
59
60 #############################################################
61 # Install rules for the catch-all clang-resource-headers target
62diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
63index 8d95d0900e8c..ebc70ff7526d 100644
64--- a/tools/libclang/CMakeLists.txt
65+++ b/tools/libclang/CMakeLists.txt
66@@ -180,7 +180,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS})
67 COMPONENT
68 libclang-python-bindings
69 DESTINATION
70- "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
71+ "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
72 endforeach()
73 if(NOT LLVM_ENABLE_IDE)
74 add_custom_target(libclang-python-bindings)
75diff --git a/tools/scan-build-py/CMakeLists.txt b/tools/scan-build-py/CMakeLists.txt
76index 061dc7ef4dd9..adc54b2edc32 100644
77--- a/tools/scan-build-py/CMakeLists.txt
78+++ b/tools/scan-build-py/CMakeLists.txt
79@@ -88,7 +88,7 @@ foreach(lib ${LibScanbuild})
80 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib})
81 list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib})
82 install(PROGRAMS lib/libscanbuild/${lib}
83- DESTINATION lib/libscanbuild
84+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild"
85 COMPONENT scan-build-py)
86 endforeach()
87
88@@ -106,7 +106,7 @@ foreach(resource ${LibScanbuildResources})
89 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource})
90 list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource})
91 install(PROGRAMS lib/libscanbuild/resources/${resource}
92- DESTINATION lib/libscanbuild/resources
93+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild/resources"
94 COMPONENT scan-build-py)
95 endforeach()
96
97@@ -122,7 +122,7 @@ foreach(lib ${LibEar})
98 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib})
99 list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib})
100 install(PROGRAMS lib/libear/${lib}
101- DESTINATION lib/libear
102+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libear"
103 COMPONENT scan-build-py)
104 endforeach()
105