Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2021-06-08 12:14:52 +0300
committerBastien Montagne <bastien@blender.org>2021-06-08 12:16:45 +0300
commite54a4b355efba1bf72e15c7af061a150a7782f8c (patch)
tree1c7de2bdc3a627b16d62c8c9b1f18fdeab448049 /build_files
parent933c2cffd6407008671d9ba942109377bbf26f2e (diff)
CMake: Fix `FindClang` not finding system clang on linux in some cases.
In Debian e.g. Clang is part of LLVM, so we need to also check its root directory sometimes to find Clang files.
Diffstat (limited to 'build_files')
-rw-r--r--build_files/cmake/Modules/FindClang.cmake16
1 files changed, 16 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindClang.cmake b/build_files/cmake/Modules/FindClang.cmake
index b5c2cfbc28d..41df6e106b2 100644
--- a/build_files/cmake/Modules/FindClang.cmake
+++ b/build_files/cmake/Modules/FindClang.cmake
@@ -20,8 +20,24 @@ if(NOT CLANG_ROOT_DIR AND NOT $ENV{CLANG_ROOT_DIR} STREQUAL "")
set(CLANG_ROOT_DIR $ENV{CLANG_ROOT_DIR})
endif()
+if(NOT LLVM_ROOT_DIR)
+ if(DEFINED LLVM_VERSION)
+ message(running llvm-config-${LLVM_VERSION})
+ find_program(LLVM_CONFIG llvm-config-${LLVM_VERSION})
+ endif()
+ if(NOT LLVM_CONFIG)
+ find_program(LLVM_CONFIG llvm-config)
+ endif()
+
+ execute_process(COMMAND ${LLVM_CONFIG} --prefix
+ OUTPUT_VARIABLE LLVM_ROOT_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(LLVM_ROOT_DIR ${LLVM_ROOT_DIR} CACHE PATH "Path to the LLVM installation")
+endif()
+
set(_CLANG_SEARCH_DIRS
${CLANG_ROOT_DIR}
+ ${LLVM_ROOT_DIR}
/opt/lib/clang
)