diff --git a/cmake/modules/FindClang.cmake b/cmake/modules/FindClang.cmake --- a/cmake/modules/FindClang.cmake +++ b/cmake/modules/FindClang.cmake @@ -89,9 +89,21 @@ if(CLANG_FOUND) set(CLANG_LIBRARY_DIRS ${LLVM_LIBRARY_DIRS}) - set(CLANG_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS}) set(CLANG_VERSION ${LLVM_VERSION}) + find_path(CLANG_INCLUDE_DIRS + NAMES "cpuid.h" + HINTS "clang" + PATHS "${CLANG_LIBRARY_DIRS}/clang/${CLANG_VERSION}/include" + "${CLANG_LIBRARY_DIRS}/../../../clang/${CLANG_VERSION}/include" + "${LLVM_INCLUDE_DIRS}/clang/${CLANG_VERSION}/include" + "${LLVM_INCLUDE_DIRS}/../../../clang/${CLANG_VERSION}/include" + ) + + if (NOT CLANG_INCLUDE_DIRS) + message(FATAL_ERROR "Unabled to find the include file cpuid.h from clang.") + endif() + # check whether llvm-config comes from an install prefix execute_process( COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root diff --git a/plugins/clang/CMakeLists.txt b/plugins/clang/CMakeLists.txt --- a/plugins/clang/CMakeLists.txt +++ b/plugins/clang/CMakeLists.txt @@ -1,6 +1,6 @@ add_definitions(-DTRANSLATION_DOMAIN=\"kdevclang\") add_definitions(${LLVM_CFLAGS}) -include_directories(${CLANG_INCLUDE_DIRS}) +include_directories(${LLVM_INCLUDE_DIRS}) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/libclang_include_path.h.cmake" diff --git a/plugins/clang/libclang_include_path.h.cmake b/plugins/clang/libclang_include_path.h.cmake --- a/plugins/clang/libclang_include_path.h.cmake +++ b/plugins/clang/libclang_include_path.h.cmake @@ -19,4 +19,4 @@ Boston, MA 02110-1301, USA. */ -#define KDEV_CLANG_BUILTIN_DIR "@CLANG_LIBRARY_DIRS@/clang/@CLANG_VERSION@/include" +#define KDEV_CLANG_BUILTIN_DIR "@CLANG_INCLUDE_DIRS@"