|
| 1 | +diff --git a/CMakeLists.txt b/CMakeLists.txt |
| 2 | +index 090cfa352078..624b7c9f3400 100644 |
| 3 | +--- a/CMakeLists.txt |
| 4 | ++++ b/CMakeLists.txt |
| 5 | +@@ -38,12 +38,26 @@ if(CLANG_BUILT_STANDALONE) |
| 6 | + find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}") |
| 7 | + list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}") |
| 8 | + |
| 9 | +- # Turn into CACHE PATHs for overwritting |
| 10 | +- set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") |
| 11 | +- set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree") |
| 12 | +- set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree") |
| 13 | +- set(LLVM_TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}" CACHE PATH "Path to llvm/bin") |
| 14 | +- set(LLVM_LIBRARY_DIR "${LLVM_LIBRARY_DIR}" CACHE PATH "Path to llvm/lib") |
| 15 | ++ # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets |
| 16 | ++ # LLVM_CONFIG. |
| 17 | ++ if (NOT LLVM_CONFIG_FOUND) |
| 18 | ++ # Pull values from LLVMConfig.cmake. We can drop this once the llvm-config |
| 19 | ++ # path is removed. |
| 20 | ++ set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS}) |
| 21 | ++ set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}") |
| 22 | ++ # N.B. this is just a default value, the CACHE PATHs below can be overriden. |
| 23 | ++ set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm") |
| 24 | ++ set(TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}") |
| 25 | ++ set(LIBRARY_DIR "${LLVM_LIBRARY_DIR}") |
| 26 | ++ else() |
| 27 | ++ set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}") |
| 28 | ++ endif() |
| 29 | ++ |
| 30 | ++ set(LLVM_INCLUDE_DIRS ${INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") |
| 31 | ++ set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree") |
| 32 | ++ set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree") |
| 33 | ++ set(LLVM_TOOLS_BINARY_DIR "${TOOLS_BINARY_DIR}" CACHE PATH "Path to llvm/bin") |
| 34 | ++ set(LLVM_LIBRARY_DIR "${LIBRARY_DIR}" CACHE PATH "Path to llvm/lib") |
| 35 | + |
| 36 | + find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR} |
| 37 | + NO_DEFAULT_PATH) |
| 38 | +diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake |
| 39 | +index 75b0080f6715..c895b884cd27 100644 |
| 40 | +--- a/cmake/modules/AddClang.cmake |
| 41 | ++++ b/cmake/modules/AddClang.cmake |
| 42 | +@@ -119,8 +119,8 @@ macro(add_clang_library name) |
| 43 | + install(TARGETS ${lib} |
| 44 | + COMPONENT ${lib} |
| 45 | + ${export_to_clangtargets} |
| 46 | +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} |
| 47 | +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} |
| 48 | ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" |
| 49 | ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" |
| 50 | + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") |
| 51 | + |
| 52 | + if (NOT LLVM_ENABLE_IDE) |
| 53 | +diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt |
| 54 | +index bb9a11eabbef..e2de91c65fbb 100644 |
| 55 | +--- a/lib/Headers/CMakeLists.txt |
| 56 | ++++ b/lib/Headers/CMakeLists.txt |
| 57 | +@@ -437,7 +437,7 @@ add_header_target("openmp-resource-headers" ${openmp_wrapper_files}) |
| 58 | + add_header_target("windows-resource-headers" ${windows_only_files}) |
| 59 | + add_header_target("utility-resource-headers" ${utility_files}) |
| 60 | + |
| 61 | +-set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR}/include) |
| 62 | ++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR}/include) |
| 63 | + |
| 64 | + ############################################################# |
| 65 | + # Install rules for the catch-all clang-resource-headers target |
| 66 | +diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt |
| 67 | +index 4f23065a2472..6a0f55991e24 100644 |
| 68 | +--- a/tools/libclang/CMakeLists.txt |
| 69 | ++++ b/tools/libclang/CMakeLists.txt |
| 70 | +@@ -234,7 +234,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS}) |
| 71 | + COMPONENT |
| 72 | + libclang-python-bindings |
| 73 | + DESTINATION |
| 74 | +- "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") |
| 75 | ++ "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") |
| 76 | + endforeach() |
| 77 | + if(NOT LLVM_ENABLE_IDE) |
| 78 | + add_custom_target(libclang-python-bindings) |
| 79 | +diff --git a/tools/scan-build-py/CMakeLists.txt b/tools/scan-build-py/CMakeLists.txt |
| 80 | +index 3aca22c0b0a8..3115353e3fe3 100644 |
| 81 | +--- a/tools/scan-build-py/CMakeLists.txt |
| 82 | ++++ b/tools/scan-build-py/CMakeLists.txt |
| 83 | +@@ -88,7 +88,7 @@ foreach(lib ${LibScanbuild}) |
| 84 | + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) |
| 85 | + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) |
| 86 | + install(FILES lib/libscanbuild/${lib} |
| 87 | +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild |
| 88 | ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild" |
| 89 | + COMPONENT scan-build-py) |
| 90 | + endforeach() |
| 91 | + |
| 92 | +@@ -106,7 +106,7 @@ foreach(resource ${LibScanbuildResources}) |
| 93 | + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) |
| 94 | + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) |
| 95 | + install(FILES lib/libscanbuild/resources/${resource} |
| 96 | +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild/resources |
| 97 | ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild/resources" |
| 98 | + COMPONENT scan-build-py) |
| 99 | + endforeach() |
| 100 | + |
| 101 | +@@ -122,7 +122,7 @@ foreach(lib ${LibEar}) |
| 102 | + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) |
| 103 | + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) |
| 104 | + install(FILES lib/libear/${lib} |
| 105 | +- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libear |
| 106 | ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libear" |
| 107 | + COMPONENT scan-build-py) |
| 108 | + endforeach() |
| 109 | + |
0 commit comments