aboutsummaryrefslogtreecommitdiffstats
path: root/qbs/modules
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2018-09-18 18:06:12 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2018-09-25 06:03:49 +0000
commit9da9ed45e9a869b99bdbe9c8a692dd80023fe5b6 (patch)
tree17fd80ae7b909b9ed4dc182d0e54e8002b9dd9b4 /qbs/modules
parent422da635f733219097ba1fd180942bc99c0da256 (diff)
Fix qbs build of clangformat plugin
Change-Id: Ic23a34048c62ed39590ad422ea3e4f8fea9fc5a1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'qbs/modules')
-rw-r--r--qbs/modules/libclang/functions.js34
-rw-r--r--qbs/modules/libclang/libclang.qbs3
2 files changed, 30 insertions, 7 deletions
diff --git a/qbs/modules/libclang/functions.js b/qbs/modules/libclang/functions.js
index beca112787..8533499260 100644
--- a/qbs/modules/libclang/functions.js
+++ b/qbs/modules/libclang/functions.js
@@ -89,6 +89,31 @@ function libraries(targetOS)
return targetOS.contains("windows") ? ["libclang.lib", "advapi32.lib", "shell32.lib"] : ["clang"]
}
+function extraLibraries(llvmConfig, targetOS)
+{
+ var libs = []
+ if (targetOS.contains("windows"))
+ libs.push("version");
+ var dynamicList = readListOutput(llvmConfig, ["--libs"])
+ .concat(readListOutput(llvmConfig, ["--system-libs"]));
+ return libs.concat(dynamicList.map(function(s) {
+ return s.startsWith("-l") ? s.slice(2) : s;
+ }));
+}
+
+function formattingLibs(llvmConfig, targetOS)
+{
+ var fixedList = [
+ "clangFormat",
+ "clangToolingCore",
+ "clangRewrite",
+ "clangLex",
+ "clangBasic",
+ ];
+
+ return fixedList.concat(extraLibraries(llvmConfig, targetOS));
+}
+
function toolingLibs(llvmConfig, targetOS)
{
var fixedList = [
@@ -108,13 +133,8 @@ function toolingLibs(llvmConfig, targetOS)
"clangLex",
"clangBasic",
];
- if (targetOS.contains("windows"))
- fixedList.push("version");
- var dynamicList = readListOutput(llvmConfig, ["--libs"])
- .concat(readListOutput(llvmConfig, ["--system-libs"]));
- return fixedList.concat(dynamicList.map(function(s) {
- return s.startsWith("-l") ? s.slice(2) : s;
- }));
+
+ return fixedList.concat(extraLibraries(llvmConfig, targetOS));
}
function toolingParameters(llvmConfig)
diff --git a/qbs/modules/libclang/libclang.qbs b/qbs/modules/libclang/libclang.qbs
index 435b8b786a..1d695a2c8d 100644
--- a/qbs/modules/libclang/libclang.qbs
+++ b/qbs/modules/libclang/libclang.qbs
@@ -22,6 +22,7 @@ Module {
property stringList llvmToolingDefines
property stringList llvmToolingIncludes
property stringList llvmToolingCxxFlags
+ property stringList llvmFormattingLibs
property string llvmBuildMode
configure: {
@@ -37,6 +38,7 @@ Module {
llvmToolingDefines = toolingParams.defines;
llvmToolingIncludes = toolingParams.includes;
llvmToolingCxxFlags = toolingParams.cxxFlags;
+ llvmFormattingLibs = ClangFunctions.formattingLibs(llvmConfig, targetOS);
found = llvmConfig && File.exists(llvmIncludeDir.concat("/clang-c/Index.h"));
}
}
@@ -48,6 +50,7 @@ Module {
property string llvmBinDir: clangProbe.llvmBinDir
property stringList llvmLibs: clangProbe.llvmLibs
property stringList llvmToolingLibs: clangProbe.llvmToolingLibs
+ property stringList llvmFormattingLibs: clangProbe.llvmFormattingLibs
property string llvmBuildMode: clangProbe.llvmBuildMode
property bool llvmBuildModeMatches: qbs.buildVariant === llvmBuildMode.toLowerCase()
property stringList llvmToolingDefines: clangProbe.llvmToolingDefines