From 2257b03212327a1341ef0b7f2ceb5d511c1eabd3 Mon Sep 17 00:00:00 2001 From: Konstantin Podsvirov Date: Sat, 4 Feb 2017 01:46:35 +0300 Subject: [PATCH] ClangCodeModel: fix link error with MinGW based build For MinGW clang link library named: liblibclang.dll.a. Changes: - improved clang library search algorithm; - use clang_defines.pri in clangpchmanager.pro. Task-number: QTCREATORBUG-17680 Change-Id: Ic01fa86238b980991726eeb984ccd82afb333c35 Reviewed-by: Kai Koehne Reviewed-by: Oswald Buddenhagen Reviewed-by: Marco Bubke Reviewed-by: Tim Jenssen --- src/plugins/clangpchmanager/clangpchmanager.pro | 4 +--- src/shared/clang/clang_installation.pri | 11 +++++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/plugins/clangpchmanager/clangpchmanager.pro b/src/plugins/clangpchmanager/clangpchmanager.pro index 10c8f1b70b4..3792f6d6a3f 100644 --- a/src/plugins/clangpchmanager/clangpchmanager.pro +++ b/src/plugins/clangpchmanager/clangpchmanager.pro @@ -1,9 +1,7 @@ include(../../qtcreatorplugin.pri) include(clangpchmanager-source.pri) include(../../shared/clang/clang_installation.pri) - -DEFINES += CLANG_VERSION=\\\"$${LLVM_VERSION}\\\" -DEFINES += "\"CLANG_RESOURCE_DIR=\\\"$${LLVM_LIBDIR}/clang/$${LLVM_VERSION}/include\\\"\"" +include(../../shared/clang/clang_defines.pri) HEADERS += \ $$PWD/clangpchmanagerplugin.h \ diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri index 6d37719384a..2747520d2f4 100644 --- a/src/shared/clang/clang_installation.pri +++ b/src/shared/clang/clang_installation.pri @@ -45,6 +45,10 @@ defineReplace(findClangLibInLibDir) { } else { exists ($${libdir}/libclang.*) { return("-llibclang") + } else { + exists ($${libdir}/liblibclang.dll.a) { + return("-llibclang.dll") + } } } } @@ -78,8 +82,11 @@ LLVM_LIBDIR = $$quote($$system($$llvm_config --libdir, lines)) LLVM_INCLUDEPATH = $$system($$llvm_config --includedir, lines) output = $$system($$llvm_config --version, lines) LLVM_VERSION = $$extractVersion($$output) -unix:LLVM_STATIC_LIBS_STRING += $$system($$llvm_config --libs, lines) -win32:LLVM_STATIC_LIBS_STRING += $$system($$llvm_config --libnames, lines) +msvc { + LLVM_STATIC_LIBS_STRING += $$system($$llvm_config --libnames, lines) +} else { + LLVM_STATIC_LIBS_STRING += $$system($$llvm_config --libs, lines) +} LLVM_STATIC_LIBS_STRING += $$system($$llvm_config --system-libs, lines) LLVM_STATIC_LIBS = $$split(LLVM_STATIC_LIBS_STRING, " ")