diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-10-02 10:53:31 +0200 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-10-05 11:08:27 +0000 |
commit | e0d7d037207c2716380b7a2a860e13138f6eaed5 (patch) | |
tree | 78cd380447ac7e5c28873b30a2b08df293291cf2 /qbs | |
parent | 0e84c8892d98adb61c16d6a9acfee6abfa1a7abe (diff) |
Clang: Fix ClangFormat build with clang-7
Change-Id: I0859b7aad1a49f8d46ee4b32cc32039cfa0b482b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'qbs')
-rw-r--r-- | qbs/modules/libclang/functions.js | 34 | ||||
-rw-r--r-- | qbs/modules/libclang/libclang.qbs | 2 |
2 files changed, 26 insertions, 10 deletions
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")); } } |