diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-08-04 13:15:51 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-08-04 13:16:03 +0200 |
commit | cd5f9f6ff87d6bb81c7906d5d31a2663707cbb1b (patch) | |
tree | 2528cef434dfbf85d967b61a03fbb7d3fce5a3af /qbs | |
parent | b1401173dec00bb1ccc39ab5f8f83625f3aa0909 (diff) | |
parent | aa8998cfb38f6227891ce104de23b1e62bd7bbcf (diff) | |
download | qt-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.js | 19 |
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; } } |