at 24.05-pre 17 kB view raw
1diff --git a/CMakeLists.txt b/CMakeLists.txt 2index a3d3013cedcd..b298d6ef04af 100644 3--- a/CMakeLists.txt 4+++ b/CMakeLists.txt 5@@ -275,15 +275,21 @@ if (CMAKE_BUILD_TYPE AND 6 message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") 7 endif() 8 9+include(GNUInstallDirs) 10+ 11 set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) 12 13-set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')") 14+set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING 15+ "Path for binary subdirectory (defaults to 'bin')") 16 mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) 17 18 set(LLVM_UTILS_INSTALL_DIR "${LLVM_TOOLS_INSTALL_DIR}" CACHE STRING 19 "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)") 20 mark_as_advanced(LLVM_UTILS_INSTALL_DIR) 21 22+set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING 23+ "Path for CMake subdirectory (defaults to lib/cmake/llvm)" ) 24+ 25 # They are used as destination of target generators. 26 set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) 27 set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) 28@@ -531,9 +537,9 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF) 29 option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON) 30 option (LLVM_ENABLE_BINDINGS "Build bindings." ON) 31 32-set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html" 33+set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html" 34 CACHE STRING "Doxygen-generated HTML documentation install directory") 35-set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html" 36+set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html" 37 CACHE STRING "OCamldoc-generated HTML documentation install directory") 38 39 option (LLVM_BUILD_EXTERNAL_COMPILER_RT 40@@ -966,7 +972,7 @@ endif() 41 42 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 43 install(DIRECTORY include/llvm include/llvm-c 44- DESTINATION include 45+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 46 COMPONENT llvm-headers 47 FILES_MATCHING 48 PATTERN "*.def" 49@@ -978,7 +984,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 50 ) 51 52 install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c 53- DESTINATION include 54+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 55 COMPONENT llvm-headers 56 FILES_MATCHING 57 PATTERN "*.def" 58diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake 59index c0f90ba7068d..d656156ff9c8 100644 60--- a/cmake/modules/AddLLVM.cmake 61+++ b/cmake/modules/AddLLVM.cmake 62@@ -638,11 +638,11 @@ macro(add_llvm_library name) 63 else() 64 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO" OR 65 (LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM")) 66- set(install_dir lib${LLVM_LIBDIR_SUFFIX}) 67+ set(install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) 68 if(ARG_SHARED OR BUILD_SHARED_LIBS) 69 if(WIN32 OR CYGWIN OR MINGW) 70 set(install_type RUNTIME) 71- set(install_dir bin) 72+ set(install_dir ${CMAKE_INSTALL_BINDIR}) 73 else() 74 set(install_type LIBRARY) 75 endif() 76@@ -684,9 +684,9 @@ macro(add_llvm_loadable_module name) 77 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) 78 if(WIN32 OR CYGWIN) 79 # DLL platform 80- set(dlldir "bin") 81+ set(dlldir "${CMAKE_INSTALL_BINDIR}") 82 else() 83- set(dlldir "lib${LLVM_LIBDIR_SUFFIX}") 84+ set(dlldir "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 85 endif() 86 87 if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR 88@@ -698,7 +698,7 @@ macro(add_llvm_loadable_module name) 89 install(TARGETS ${name} 90 ${export_to_llvmexports} 91 LIBRARY DESTINATION ${dlldir} 92- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) 93+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) 94 endif() 95 set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) 96 endif() 97@@ -912,7 +912,7 @@ macro(add_llvm_example name) 98 endif() 99 add_llvm_executable(${name} ${ARGN}) 100 if( LLVM_BUILD_EXAMPLES ) 101- install(TARGETS ${name} RUNTIME DESTINATION examples) 102+ install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples) 103 endif() 104 set_target_properties(${name} PROPERTIES FOLDER "Examples") 105 endmacro(add_llvm_example name) 106@@ -1430,7 +1430,7 @@ function(llvm_install_library_symlink name dest type) 107 set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX}) 108 set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX}) 109 110- set(output_dir lib${LLVM_LIBDIR_SUFFIX}) 111+ set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) 112 if(WIN32 AND "${type}" STREQUAL "SHARED") 113 set(output_dir bin) 114 endif() 115@@ -1446,7 +1446,7 @@ function(llvm_install_library_symlink name dest type) 116 endif() 117 endfunction() 118 119-function(llvm_install_symlink name dest) 120+function(llvm_install_symlink name dest output_dir) 121 cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN}) 122 foreach(path ${CMAKE_MODULE_PATH}) 123 if(EXISTS ${path}/LLVMInstallSymlink.cmake) 124@@ -1469,7 +1469,7 @@ function(llvm_install_symlink name dest) 125 set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX}) 126 127 install(SCRIPT ${INSTALL_SYMLINK} 128- CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})" 129+ CODE "install_symlink(${full_name} ${full_dest} ${output_dir})" 130 COMPONENT ${component}) 131 132 if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE) 133@@ -1551,7 +1551,8 @@ function(add_llvm_tool_symlink link_name target) 134 endif() 135 136 if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS) 137- llvm_install_symlink(${link_name} ${target}) 138+ GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR) 139+ llvm_install_symlink(${link_name} ${target} ${output_dir}) 140 endif() 141 endif() 142 endfunction() 143@@ -1635,9 +1636,9 @@ function(llvm_setup_rpath name) 144 145 if (APPLE) 146 set(_install_name_dir INSTALL_NAME_DIR "@rpath") 147- set(_install_rpath "@loader_path/../lib" ${extra_libdir}) 148+ set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}" ${extra_libdir}) 149 elseif(UNIX) 150- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) 151+ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) 152 if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") 153 set_property(TARGET ${name} APPEND_STRING PROPERTY 154 LINK_FLAGS " -Wl,-z,origin ") 155diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake 156index 02bab6846376..eff26adb2efc 100644 157--- a/cmake/modules/AddOCaml.cmake 158+++ b/cmake/modules/AddOCaml.cmake 159@@ -140,9 +140,9 @@ function(add_ocaml_library name) 160 endforeach() 161 162 if( APPLE ) 163- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") 164+ set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 165 elseif( UNIX ) 166- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") 167+ set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") 168 endif() 169 list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") 170 171diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake 172index 22e3dcb776aa..ba77b9c195e2 100644 173--- a/cmake/modules/AddSphinxTarget.cmake 174+++ b/cmake/modules/AddSphinxTarget.cmake 175@@ -73,7 +73,7 @@ function (add_sphinx_target builder project) 176 177 elseif (builder STREQUAL html) 178 string(TOUPPER "${project}" project_upper) 179- set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html" 180+ set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html" 181 CACHE STRING "HTML documentation install directory for ${project}") 182 183 # '/.' indicates: copy the contents of the directory directly into 184diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt 185index 6c316a2f04fb..129c0995059c 100644 186--- a/cmake/modules/CMakeLists.txt 187+++ b/cmake/modules/CMakeLists.txt 188@@ -1,4 +1,4 @@ 189-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) 190+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')") 191 set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") 192 193 # First for users who use an installed LLVM, create the LLVMExports.cmake file. 194@@ -90,11 +90,11 @@ foreach(p ${_count}) 195 set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE} 196 get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)") 197 endforeach(p) 198-set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include") 199-set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}") 200+set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") 201+set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") 202 set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}") 203 set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}") 204-set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin") 205+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") 206 set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake") 207 set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}") 208 configure_file( 209diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake 210index 1a04de931ff7..1c5ea4200635 100644 211--- a/cmake/modules/LLVMInstallSymlink.cmake 212+++ b/cmake/modules/LLVMInstallSymlink.cmake 213@@ -10,7 +10,7 @@ function(install_symlink name target outdir) 214 set(LINK_OR_COPY copy) 215 endif() 216 217- set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/") 218+ set(bindir "${DESTDIR}${outdir}/") 219 220 message("Creating ${name}") 221 222diff --git a/docs/CMake.rst b/docs/CMake.rst 223index cbcadc212498..a3da96546f43 100644 224--- a/docs/CMake.rst 225+++ b/docs/CMake.rst 226@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``. 227 **LLVM_LIBDIR_SUFFIX**:STRING 228 Extra suffix to append to the directory where libraries are to be 229 installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64`` 230- to install libraries to ``/usr/lib64``. 231+ to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``. 232 233 **CMAKE_C_FLAGS**:STRING 234 Extra flags to use when compiling C source files. 235@@ -473,8 +473,8 @@ LLVM-specific variables 236 237 **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING 238 The path to install Doxygen-generated HTML documentation to. This path can 239- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to 240- `share/doc/llvm/doxygen-html`. 241+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to 242+ `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`. 243 244 **LLVM_ENABLE_SPHINX**:BOOL 245 If specified, CMake will search for the ``sphinx-build`` executable and will make 246@@ -505,13 +505,33 @@ LLVM-specific variables 247 248 **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING 249 The path to install Sphinx-generated HTML documentation to. This path can 250- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to 251- `share/doc/llvm/html`. 252+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to 253+ `${CMAKE_INSTALL_DOCDIR}/${project}/html`. 254 255 **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING 256 The path to install OCamldoc-generated HTML documentation to. This path can 257- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to 258- `share/doc/llvm/ocaml-html`. 259+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to 260+ `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`. 261+ 262+**CMAKE_INSTALL_BINDIR**:STRING 263+ The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``. 264+ Defaults to `bin`. 265+ 266+**CMAKE_INSTALL_LIBDIR**:STRING 267+ The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``. 268+ Defaults to `lib`. 269+ 270+**CMAKE_INSTALL_INCLUDEDIR**:STRING 271+ The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``. 272+ Defaults to `include`. 273+ 274+**CMAKE_INSTALL_DOCDIR**:STRING 275+ The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``. 276+ Defaults to `share/doc`. 277+ 278+**CMAKE_INSTALL_MANDIR**:STRING 279+ The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``. 280+ Defaults to `share/man`. 281 282 **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL 283 OS X Only: If enabled CMake will generate a target named 284@@ -676,9 +696,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``). 285 286 This file is available in two different locations. 287 288-* ``<INSTALL_PREFIX>/lib/cmake/llvm/LLVMConfig.cmake`` where 289- ``<INSTALL_PREFIX>`` is the install prefix of an installed version of LLVM. 290- On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. 291+* ``<LLVM_INSTALL_PACKAGE_DIR>LLVMConfig.cmake`` where 292+ ``<LLVM_INSTALL_PACKAGE_DIR>`` is the location where LLVM CMake modules are 293+ installed as part of an installed version of LLVM. This is typically 294+ ``cmake/llvm/`` within the lib directory. On Linux, this is typically 295+ ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. 296 297 * ``<LLVM_BUILD_ROOT>/lib/cmake/llvm/LLVMConfig.cmake`` where 298 ``<LLVM_BUILD_ROOT>`` is the root of the LLVM build tree. **Note: this is only 299diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt 300index 1d5ca3ba92b0..026f5453c1da 100644 301--- a/include/llvm/CMakeLists.txt 302+++ b/include/llvm/CMakeLists.txt 303@@ -4,5 +4,5 @@ add_subdirectory(Support) 304 # If we're doing an out-of-tree build, copy a module map for generated 305 # header files into the build area. 306 if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") 307- configure_file(module.modulemap.build module.modulemap COPYONLY) 308+ configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY) 309 endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") 310diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in 311index f201e1f7bff0..4582ed556a02 100644 312--- a/tools/llvm-config/BuildVariables.inc.in 313+++ b/tools/llvm-config/BuildVariables.inc.in 314@@ -24,6 +24,10 @@ 315 #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" 316 #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" 317 #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" 318+#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@" 319+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" 320+#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" 321+#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@" 322 #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" 323 #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" 324 #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@" 325diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp 326index 892adc3b9dd8..cabe7fcc630f 100644 327--- a/tools/llvm-config/llvm-config.cpp 328+++ b/tools/llvm-config/llvm-config.cpp 329@@ -333,12 +333,26 @@ int main(int argc, char **argv) { 330 ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); 331 } else { 332 ActivePrefix = CurrentExecPrefix; 333- ActiveIncludeDir = ActivePrefix + "/include"; 334- SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); 335- sys::fs::make_absolute(ActivePrefix, path); 336- ActiveBinDir = path.str(); 337- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; 338- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; 339+ { 340+ SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR)); 341+ sys::fs::make_absolute(ActivePrefix, path); 342+ ActiveIncludeDir = std::string(path.str()); 343+ } 344+ { 345+ SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR)); 346+ sys::fs::make_absolute(ActivePrefix, path); 347+ ActiveBinDir = std::string(path.str()); 348+ } 349+ { 350+ SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX)); 351+ sys::fs::make_absolute(ActivePrefix, path); 352+ ActiveLibDir = std::string(path.str()); 353+ } 354+ { 355+ SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR)); 356+ sys::fs::make_absolute(ActivePrefix, path); 357+ ActiveCMakeDir = std::string(path.str()); 358+ } 359 ActiveIncludeOption = "-I" + ActiveIncludeDir; 360 } 361 362diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt 363index 6e913519a809..85641eef721f 100644 364--- a/tools/lto/CMakeLists.txt 365+++ b/tools/lto/CMakeLists.txt 366@@ -19,7 +19,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports) 367 add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen) 368 369 install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h 370- DESTINATION include/llvm-c 371+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c 372 COMPONENT LTO) 373 374 if (APPLE) 375diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt 376index 19b606933082..27b9f71b3d79 100644 377--- a/tools/opt-viewer/CMakeLists.txt 378+++ b/tools/opt-viewer/CMakeLists.txt 379@@ -8,6 +8,6 @@ set (files 380 381 foreach (file ${files}) 382 install(PROGRAMS ${file} 383- DESTINATION share/opt-viewer 384+ DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer 385 COMPONENT opt-viewer) 386 endforeach (file)