summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2020-05-26 10:55:49 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2020-05-26 13:09:07 +0000
commita03113832bf4965feb148084f7d4e766bf3fba50 (patch)
treee333a267c6380b75321e538ea72342d758471a22
parentc9672f4ffa133e7f7d82e8db851a8666b6a12ce7 (diff)
downloadqt-creator-a03113832bf4965feb148084f7d4e766bf3fba50.tar.gz
qbs build: Make clang plugins build with libclang-cpp
Change-Id: Ifbae5f2a124e5c36126391d48b0a186bd153d678 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
-rw-r--r--qbs/modules/libclang/functions.js20
-rw-r--r--qbs/modules/libclang/libclang.qbs3
2 files changed, 9 insertions, 14 deletions
diff --git a/qbs/modules/libclang/functions.js b/qbs/modules/libclang/functions.js
index d03358b3c6..dd9dc1bb09 100644
--- a/qbs/modules/libclang/functions.js
+++ b/qbs/modules/libclang/functions.js
@@ -110,11 +110,11 @@ function formattingLibs(llvmConfig, qtcFunctions, targetOS)
return [];
var clangVersion = version(llvmConfig)
- if (Utilities.versionCompare(clangVersion, "10") >= 0)
- return [];
var libs = []
if (qtcFunctions.versionIsAtLeast(clangVersion, MinimumLLVMVersion)) {
- if (qtcFunctions.versionIsAtLeast(clangVersion, "8.0.0")) {
+ var hasLibClangFormat = File.directoryEntries(libDir(llvmConfig), File.Files)
+ .some(function(p) { return p.contains("clangFormat"); });
+ if (hasLibClangFormat) {
libs.push(
"clangFormat",
"clangToolingInclusions",
@@ -124,13 +124,7 @@ function formattingLibs(llvmConfig, qtcFunctions, targetOS)
"clangBasic"
);
} else {
- libs.push(
- "clangFormat",
- "clangToolingCore",
- "clangRewrite",
- "clangLex",
- "clangBasic"
- );
+ libs.push("clang-cpp");
}
libs = libs.concat(extraLibraries(llvmConfig, targetOS));
}
@@ -140,7 +134,9 @@ function formattingLibs(llvmConfig, qtcFunctions, targetOS)
function toolingLibs(llvmConfig, targetOS)
{
- var fixedList = [
+ var hasLibClangTooling = File.directoryEntries(libDir(llvmConfig), File.Files)
+ .some(function(p) { return p.contains("clangTooling"); });
+ var fixedList = hasLibClangTooling ? [
"clangTooling",
"clangFrontend",
"clangIndex",
@@ -156,7 +152,7 @@ function toolingLibs(llvmConfig, targetOS)
"clangAST",
"clangLex",
"clangBasic",
- ];
+ ] : ["clang-cpp"];
return fixedList.concat(extraLibraries(llvmConfig, targetOS));
}
diff --git a/qbs/modules/libclang/libclang.qbs b/qbs/modules/libclang/libclang.qbs
index bb2878f198..9c2cfae23d 100644
--- a/qbs/modules/libclang/libclang.qbs
+++ b/qbs/modules/libclang/libclang.qbs
@@ -64,8 +64,7 @@ Module {
return incl != llvmIncludeDir;
})
property stringList llvmToolingCxxFlags: clangProbe.llvmToolingCxxFlags
- property bool toolingEnabled: Utilities.versionCompare(llvmVersion, "10") < 0
- && !Environment.getEnv("QTC_DISABLE_CLANG_REFACTORING")
+ property bool toolingEnabled: !Environment.getEnv("QTC_DISABLE_CLANG_REFACTORING")
validate: {
if (!clangProbe.found) {