Unify disabling build of llvm related plugins or test on Windows

If libclang's build mode mismatches the current build mode
of Qt Creator some plugins are automatically disabled.
Do the same for the unittest and unify the way to do this.

Change-Id: Ib4cd6494ed63cb89ed8d99b3c0ba23a19572fc9b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Christian Stenger
2019-06-26 15:10:07 +02:00
parent 9703f2e948
commit 49525c578c
4 changed files with 26 additions and 22 deletions

View File

@@ -6,11 +6,6 @@ include(../../shared/clang/clang_defines.pri)
requires(!isEmpty(CLANGFORMAT_LIBS)) requires(!isEmpty(CLANGFORMAT_LIBS))
win32 {
LLVM_BUILDMODE = $$system($$llvm_config --build-mode, lines)
CONFIG(debug, debug|release):requires(equals(LLVM_BUILDMODE, "Debug"))
}
LIBS += $$CLANGFORMAT_LIBS LIBS += $$CLANGFORMAT_LIBS
INCLUDEPATH += $$LLVM_INCLUDEPATH INCLUDEPATH += $$LLVM_INCLUDEPATH

View File

@@ -6,11 +6,6 @@ include(../../shared/clang/clang_defines.pri)
requires(!isEmpty(LIBTOOLING_LIBS)) requires(!isEmpty(LIBTOOLING_LIBS))
win32 {
LLVM_BUILDMODE = $$system($$llvm_config --build-mode, lines)
CONFIG(debug, debug|release):requires(equals(LLVM_BUILDMODE, "Debug"))
}
HEADERS += \ HEADERS += \
clangrefactoringplugin.h \ clangrefactoringplugin.h \
baseclangquerytexteditorwidget.h \ baseclangquerytexteditorwidget.h \

View File

@@ -195,6 +195,15 @@ isEmpty(LLVM_VERSION) {
LLVM_STATIC_LIBS = $$split(LLVM_STATIC_LIBS_STRING, " ") LLVM_STATIC_LIBS = $$split(LLVM_STATIC_LIBS_STRING, " ")
win32 {
LLVM_BUILDMODE = $$system($$llvm_config --build-mode, lines)
CONFIG(debug, debug|release):!equals(LLVM_BUILDMODE, "Debug") {
message("Mismatching build config (Debug vs Release) setting QTC_CLANG_BUILDMODE_MISMATCH")
QTC_CLANG_BUILDMODE_MISMATCH=1
}
}
isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
exists($$CLANGFORMAT_MAIN_HEADER) { exists($$CLANGFORMAT_MAIN_HEADER) {
CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
@@ -204,6 +213,7 @@ isEmpty(LLVM_VERSION) {
-lclangASTMatchers -lclangAST -lclangLex -lclangBasic -lclangASTMatchers -lclangAST -lclangLex -lclangBasic
win32:CLANGFORMAT_LIBS += -lversion win32:CLANGFORMAT_LIBS += -lversion
} }
}
win32:ALL_CLANG_LIBS += -lversion win32:ALL_CLANG_LIBS += -lversion
LIBCLANG_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang-c/Index.h LIBCLANG_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang-c/Index.h
@@ -225,11 +235,13 @@ isEmpty(LLVM_VERSION) {
!contains(QMAKE_DEFAULT_LIBDIRS, $$LLVM_LIBDIR): LIBCLANG_LIBS = -L$${LLVM_LIBDIR} !contains(QMAKE_DEFAULT_LIBDIRS, $$LLVM_LIBDIR): LIBCLANG_LIBS = -L$${LLVM_LIBDIR}
LIBCLANG_LIBS += $${CLANG_LIB} LIBCLANG_LIBS += $${CLANG_LIB}
isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
QTC_DISABLE_CLANG_REFACTORING=$$(QTC_DISABLE_CLANG_REFACTORING) QTC_DISABLE_CLANG_REFACTORING=$$(QTC_DISABLE_CLANG_REFACTORING)
isEmpty(QTC_DISABLE_CLANG_REFACTORING) { isEmpty(QTC_DISABLE_CLANG_REFACTORING) {
!contains(QMAKE_DEFAULT_LIBDIRS, $$LLVM_LIBDIR): LIBTOOLING_LIBS = -L$${LLVM_LIBDIR} !contains(QMAKE_DEFAULT_LIBDIRS, $$LLVM_LIBDIR): LIBTOOLING_LIBS = -L$${LLVM_LIBDIR}
LIBTOOLING_LIBS += $$CLANGTOOLING_LIBS $$LLVM_STATIC_LIBS LIBTOOLING_LIBS += $$CLANGTOOLING_LIBS $$LLVM_STATIC_LIBS
} }
}
!isEmpty(CLANGFORMAT_LIBS) { !isEmpty(CLANGFORMAT_LIBS) {
CLANGFORMAT_LIBS = -L$${LLVM_LIBDIR} $$CLANGFORMAT_LIBS $$LLVM_STATIC_LIBS CLANGFORMAT_LIBS = -L$${LLVM_LIBDIR} $$CLANGFORMAT_LIBS $$LLVM_STATIC_LIBS

View File

@@ -9,6 +9,8 @@ include(clang_dependency.pri)
include(creator_dependency.pri) include(creator_dependency.pri)
include(benchmark_dependency.pri) include(benchmark_dependency.pri)
requires(isEmpty(QTC_CLANG_BUILDMODE_MISMATCH))
OBJECTS_DIR = $$OUT_PWD/obj # workaround for qmake bug in object_parallel_to_source OBJECTS_DIR = $$OUT_PWD/obj # workaround for qmake bug in object_parallel_to_source
!msvc:force_debug_info:QMAKE_CXXFLAGS += -fno-omit-frame-pointer !msvc:force_debug_info:QMAKE_CXXFLAGS += -fno-omit-frame-pointer