From a03113832bf4965feb148084f7d4e766bf3fba50 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 26 May 2020 10:55:49 +0200 Subject: [PATCH] qbs build: Make clang plugins build with libclang-cpp Change-Id: Ifbae5f2a124e5c36126391d48b0a186bd153d678 Reviewed-by: Nikolai Kosjar --- qbs/modules/libclang/functions.js | 20 ++++++++------------ qbs/modules/libclang/libclang.qbs | 3 +-- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/qbs/modules/libclang/functions.js b/qbs/modules/libclang/functions.js index d03358b3c6c..dd9dc1bb096 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 bb2878f1980..9c2cfae23d1 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) {