diff --git a/src/plugins/clangcodemodel/clang_installation.pri b/src/plugins/clangcodemodel/clang_installation.pri index 043e307d14b38b364746c52eca03ce80a56c48ed..d1235f83379fc224f4b8477143a1f1706f202a4c 100644 --- a/src/plugins/clangcodemodel/clang_installation.pri +++ b/src/plugins/clangcodemodel/clang_installation.pri @@ -36,22 +36,27 @@ defineReplace(findLLVMConfig) { return(llvm-config) } -win32 { - LLVM_INCLUDEPATH = $$LLVM_INSTALL_DIR/include - exists ($${LLVM_INSTALL_DIR}/lib/clang.*) { - CLANG_LIB = clang - } else { - exists ($${LLVM_INSTALL_DIR}/lib/libclang.*) { - CLANG_LIB = libclang - } else { - error("Cannot find Clang shared library!") +defineReplace(findClangOnWindows) { + FILE_EXTS = a dll + win32-msvc*: FILE_EXTS = lib dll + for (suffix, $$list(lib bin)) { + for (libname, $$list(clang libclang)) { + for (ext, FILE_EXTS) { + exists("$${LLVM_INSTALL_DIR}/$${suffix}/$${libname}.$${ext}") + return($${LLVM_INSTALL_DIR}/$${suffix}/) + } } } - LLVM_LIBDIR = $$LLVM_INSTALL_DIR/lib - LLVM_LIBS = \ - -L$$LLVM_INSTALL_DIR/bin \ - -L$$LLVM_LIBDIR \ - -l$${CLANG_LIB} + error("Cannot find clang shared library at $${LLVM_INSTALL_DIR}") +} + +win32 { + LLVM_INCLUDEPATH = "$$LLVM_INSTALL_DIR/include" + CLANG_LIB_PATH = $$findClangOnWindows() + CLANG_LIB = clang + !exists("$${CLANG_LIB_PATH}/clang.*"):CLANG_LIB = libclang + + LLVM_LIBS = -L"$${CLANG_LIB_PATH}" -l$${CLANG_LIB} LLVM_LIBS += -ladvapi32 -lshell32 LLVM_VERSION = 3.4 }