aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph GrĂ¼ninger <foss@grueninger.de>2024-02-27 21:14:19 +0100
committerChristoph GrĂ¼ninger <foss@grueninger.de>2024-03-01 07:00:56 +0000
commitd4f7af196c84b8cd9507752077b89f7f6e4864e9 (patch)
tree01fad7599c642c08178ab730d98c8d16daa684c8
parent38f578a578cfe1bb25ac0e2a477e862d2f5a0fcd (diff)
[cmake] Adjust for non-installed LLVMupstream/work/fix-non-installed-llvm
In LLVM 16 llvm-config got --src-root removed. Adjust include path for Clang include
-rw-r--r--cmake/FindClang.cmake8
-rw-r--r--cmake/FindLLVM.cmake6
2 files changed, 11 insertions, 3 deletions
diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
index 79aff034..4fc420b8 100644
--- a/cmake/FindClang.cmake
+++ b/cmake/FindClang.cmake
@@ -85,8 +85,12 @@ if(CLANG_FOUND)
set(CLANG_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
# check whether llvm-config comes from an install prefix
+ set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
+ if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
+ set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
+ endif()
execute_process(
- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
OUTPUT_VARIABLE _llvmSourceRoot
OUTPUT_STRIP_TRAILING_WHITESPACE
)
@@ -95,7 +99,7 @@ if(CLANG_FOUND)
message(STATUS "Detected that llvm-config comes from a build-tree, adding more include directories for Clang")
list(APPEND CLANG_INCLUDE_DIRS
"${LLVM_INSTALL_PREFIX}/tools/clang/include" # build dir
- "${_llvmSourceRoot}/tools/clang/include" # source dir
+ "${_llvmSourceRoot}/../../clang/include" # source dir
)
endif()
diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
index a1fd9e3f..889ef192 100644
--- a/cmake/FindLLVM.cmake
+++ b/cmake/FindLLVM.cmake
@@ -118,8 +118,12 @@ if (LLVM_FOUND)
)
# potentially add include dir from binary dir for non-installed LLVM
+ set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
+ if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
+ set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
+ endif()
execute_process(
- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
OUTPUT_VARIABLE _llvmSourceRoot
OUTPUT_STRIP_TRAILING_WHITESPACE
)