summaryrefslogtreecommitdiff
path: root/qbs
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2015-08-04 13:15:51 +0200
committerEike Ziller <eike.ziller@theqtcompany.com>2015-08-04 13:16:03 +0200
commitcd5f9f6ff87d6bb81c7906d5d31a2663707cbb1b (patch)
tree2528cef434dfbf85d967b61a03fbb7d3fce5a3af /qbs
parentb1401173dec00bb1ccc39ab5f8f83625f3aa0909 (diff)
parentaa8998cfb38f6227891ce104de23b1e62bd7bbcf (diff)
downloadqt-creator-cd5f9f6ff87d6bb81c7906d5d31a2663707cbb1b.tar.gz
Merge remote-tracking branch 'origin/3.5'
Change-Id: I7b3ef276d438ff0f184a649153e8aeec08a9f8c9
Diffstat (limited to 'qbs')
-rw-r--r--qbs/imports/QtcClangInstallation/functions.js19
1 files changed, 16 insertions, 3 deletions
diff --git a/qbs/imports/QtcClangInstallation/functions.js b/qbs/imports/QtcClangInstallation/functions.js
index 682211a06f..f00b109a63 100644
--- a/qbs/imports/QtcClangInstallation/functions.js
+++ b/qbs/imports/QtcClangInstallation/functions.js
@@ -1,4 +1,17 @@
-function llvmConfig(qbs)
+var File = loadExtension("qbs.File")
+var MinimumLLVMVersion = "3.6.0"
+
+function isSuitableLLVMConfig(llvmConfigCandidate, qtcFunctions, processOutputReader)
+{
+ if (File.exists(llvmConfigCandidate)) {
+ var candidateVersion = version(llvmConfigCandidate, processOutputReader);
+ if (candidateVersion && candidateVersion.length)
+ return qtcFunctions.versionIsAtLeast(candidateVersion, MinimumLLVMVersion)
+ }
+ return false;
+}
+
+function llvmConfig(qbs, qtcFunctions, processOutputReader)
{
var llvmInstallDirFromEnv = qbs.getEnv("LLVM_INSTALL_DIR")
var llvmConfigVariants = [
@@ -10,7 +23,7 @@ function llvmConfig(qbs)
if (llvmInstallDirFromEnv) {
for (var i = 0; i < llvmConfigVariants.length; ++i) {
var variant = llvmInstallDirFromEnv + "/bin/" + llvmConfigVariants[i];
- if (File.exists(variant))
+ if (isSuitableLLVMConfig(variant, qtcFunctions, processOutputReader))
return variant;
}
}
@@ -22,7 +35,7 @@ function llvmConfig(qbs)
for (var i = 0; i < llvmConfigVariants.length; ++i) {
for (var j = 0; j < pathList.length; ++j) {
var variant = pathList[j] + "/" + llvmConfigVariants[i];
- if (File.exists(variant))
+ if (isSuitableLLVMConfig(variant, qtcFunctions, processOutputReader))
return variant;
}
}