From e0d7d037207c2716380b7a2a860e13138f6eaed5 Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Tue, 2 Oct 2018 10:53:31 +0200 Subject: Clang: Fix ClangFormat build with clang-7 Change-Id: I0859b7aad1a49f8d46ee4b32cc32039cfa0b482b Reviewed-by: Tobias Hunger --- qbs/modules/libclang/functions.js | 34 +++++++++++++++++++++++++--------- qbs/modules/libclang/libclang.qbs | 2 +- 2 files changed, 26 insertions(+), 10 deletions(-) (limited to 'qbs/modules') diff --git a/qbs/modules/libclang/functions.js b/qbs/modules/libclang/functions.js index 8533499260..bdffcc9c23 100644 --- a/qbs/modules/libclang/functions.js +++ b/qbs/modules/libclang/functions.js @@ -101,17 +101,33 @@ function extraLibraries(llvmConfig, targetOS) })); } -function formattingLibs(llvmConfig, targetOS) +function formattingLibs(llvmConfig, qtcFunctions, targetOS) { - var fixedList = [ - "clangFormat", - "clangToolingCore", - "clangRewrite", - "clangLex", - "clangBasic", - ]; + var clangVersion = version(llvmConfig) + var libs = [] + if (qtcFunctions.versionIsAtLeast(clangVersion, MinimumLLVMVersion)) { + if (qtcFunctions.versionIsAtLeast(clangVersion, "7.0.0")) { + libs.concat([ + "clangFormat", + "clangToolingInclusions", + "clangToolingCore", + "clangRewrite", + "clangLex", + "clangBasic", + ]); + } else { + libs.concat([ + "clangFormat", + "clangToolingCore", + "clangRewrite", + "clangLex", + "clangBasic", + ]); + } + libs.concat(extraLibraries(llvmConfig, targetOS)); + } - return fixedList.concat(extraLibraries(llvmConfig, targetOS)); + return libs; } function toolingLibs(llvmConfig, targetOS) diff --git a/qbs/modules/libclang/libclang.qbs b/qbs/modules/libclang/libclang.qbs index 1d695a2c8d..e95250ddba 100644 --- a/qbs/modules/libclang/libclang.qbs +++ b/qbs/modules/libclang/libclang.qbs @@ -38,7 +38,7 @@ Module { llvmToolingDefines = toolingParams.defines; llvmToolingIncludes = toolingParams.includes; llvmToolingCxxFlags = toolingParams.cxxFlags; - llvmFormattingLibs = ClangFunctions.formattingLibs(llvmConfig, targetOS); + llvmFormattingLibs = ClangFunctions.formattingLibs(llvmConfig, QtcFunctions, targetOS); found = llvmConfig && File.exists(llvmIncludeDir.concat("/clang-c/Index.h")); } } -- cgit v1.2.1