forked from qt-creator/qt-creator
clang support: Make qmake aware of libclang-cpp
Newer clang releases do not use the static tooling libs anymore. Change-Id: Ia0766dce9ccf79266ec8a3fd0b0f9c638fc41ced Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -131,11 +131,6 @@ defineReplace(extractWarnings) {
|
|||||||
return($$result)
|
return($$result)
|
||||||
}
|
}
|
||||||
|
|
||||||
CLANGTOOLING_LIBS=-lclangTooling -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
|
|
||||||
-lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
|
|
||||||
-lclangASTMatchers -lclangToolingCore -lclangAST -lclangLex -lclangBasic
|
|
||||||
win32:CLANGTOOLING_LIBS += -lversion
|
|
||||||
|
|
||||||
BIN_EXTENSION =
|
BIN_EXTENSION =
|
||||||
win32: BIN_EXTENSION = .exe
|
win32: BIN_EXTENSION = .exe
|
||||||
|
|
||||||
@@ -208,12 +203,17 @@ isEmpty(LLVM_VERSION) {
|
|||||||
isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(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
|
exists($$LLVM_LIBDIR/*clangBasic*) {
|
||||||
ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
|
CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
|
||||||
-lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
|
ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
|
||||||
-lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
|
-lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
|
||||||
-lclangASTMatchers -lclangAST -lclangLex -lclangBasic
|
-lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
|
||||||
win32:CLANGFORMAT_LIBS += -lversion
|
-lclangASTMatchers -lclangAST -lclangLex -lclangBasic
|
||||||
|
win32:CLANGFORMAT_LIBS += -lversion
|
||||||
|
} else {
|
||||||
|
CLANGFORMAT_LIBS = -lclang-cpp
|
||||||
|
ALL_CLANG_LIBS = -lclang-cpp
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
win32:ALL_CLANG_LIBS += -lversion
|
win32:ALL_CLANG_LIBS += -lversion
|
||||||
@@ -240,6 +240,14 @@ isEmpty(LLVM_VERSION) {
|
|||||||
isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
|
isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
|
||||||
QTC_ENABLE_CLANG_REFACTORING=$$(QTC_ENABLE_CLANG_REFACTORING)
|
QTC_ENABLE_CLANG_REFACTORING=$$(QTC_ENABLE_CLANG_REFACTORING)
|
||||||
!isEmpty(QTC_ENABLE_CLANG_REFACTORING) {
|
!isEmpty(QTC_ENABLE_CLANG_REFACTORING) {
|
||||||
|
exists($$LLVM_LIBDIR/*clangBasic*) {
|
||||||
|
CLANGTOOLING_LIBS=-lclangTooling -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
|
||||||
|
-lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
|
||||||
|
-lclangASTMatchers -lclangToolingCore -lclangAST -lclangLex -lclangBasic
|
||||||
|
win32:CLANGTOOLING_LIBS += -lversion
|
||||||
|
} else {
|
||||||
|
CLANGTOOLING_LIBS = -lclang-cpp
|
||||||
|
}
|
||||||
!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
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user