diff options
Diffstat (limited to 'qbs/modules/libclang/libclang.qbs')
-rw-r--r-- | qbs/modules/libclang/libclang.qbs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/qbs/modules/libclang/libclang.qbs b/qbs/modules/libclang/libclang.qbs index 871b1e0f69..402e492217 100644 --- a/qbs/modules/libclang/libclang.qbs +++ b/qbs/modules/libclang/libclang.qbs @@ -1,5 +1,7 @@ import qbs +import qbs.Environment import qbs.File +import qbs.Utilities import QtcFunctions import "functions.js" as ClangFunctions @@ -12,6 +14,11 @@ Module { property string llvmIncludeDir property string llvmLibDir property stringList llvmLibs + property stringList llvmToolingLibs + property stringList llvmToolingDefines + property stringList llvmToolingIncludes + property stringList llvmToolingCxxFlags + property string llvmBuildMode configure: { llvmConfig = ClangFunctions.llvmConfig(qbs, QtcFunctions); @@ -19,6 +26,12 @@ Module { llvmIncludeDir = ClangFunctions.includeDir(llvmConfig); llvmLibDir = ClangFunctions.libDir(llvmConfig); llvmLibs = ClangFunctions.libraries(qbs.targetOS); + llvmToolingLibs = ClangFunctions.toolingLibs(llvmConfig, qbs.targetOS); + llvmBuildMode = ClangFunctions.buildMode(llvmConfig); + var toolingParams = ClangFunctions.toolingParameters(llvmConfig); + llvmToolingDefines = toolingParams.defines; + llvmToolingIncludes = toolingParams.includes; + llvmToolingCxxFlags = toolingParams.cxxFlags; found = llvmConfig && File.exists(llvmIncludeDir.concat("/clang-c/Index.h")); } } @@ -28,6 +41,17 @@ Module { property string llvmIncludeDir: clangProbe.llvmIncludeDir property string llvmLibDir: clangProbe.llvmLibDir property stringList llvmLibs: clangProbe.llvmLibs + property stringList llvmToolingLibs: clangProbe.llvmToolingLibs + property string llvmBuildMode: clangProbe.llvmBuildMode + property bool llvmBuildModeMatches: qbs.buildVariant === llvmBuildMode.toLowerCase() + property stringList llvmToolingDefines: clangProbe.llvmToolingDefines + property stringList llvmToolingIncludes: clangProbe.llvmToolingIncludes.filter(function(incl) { + return incl != llvmIncludeDir; + }) + property stringList llvmToolingCxxFlags: clangProbe.llvmToolingCxxFlags + property bool toolingEnabled: !Environment.getEnv("QTC_NO_CLANG_LIBTOOLING") + && Utilities.versionCompare(llvmVersion, "3.9") > 0 + && Utilities.versionCompare(llvmVersion, "4") < 0 validate: { if (!clangProbe.found) { |