[Bf-blender-cvs] [e54a4b355ef] master: CMake: Fix `FindClang` not finding system clang on linux in some cases.

Bastien Montagne noreply at git.blender.org
Tue Jun 8 11:16:54 CEST 2021


Commit: e54a4b355efba1bf72e15c7af061a150a7782f8c
Author: Bastien Montagne
Date:   Tue Jun 8 11:14:52 2021 +0200
Branches: master
https://developer.blender.org/rBe54a4b355efba1bf72e15c7af061a150a7782f8c

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.

===================================================================

M	build_files/cmake/Modules/FindClang.cmake

===================================================================

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
 )



More information about the Bf-blender-cvs mailing list