Files
qt-creator/qbs/modules/libclang/libclang.qbs
Eike Ziller baa83725f6 Remove ClangRefactoring and ClangPchManager
This removes the plugins and tools, and removes all the tests that would
fail to build because of that.

Fixes: QTCREATORBUG-25659
Change-Id: I8adb5d503fc8eea313bcaada421f309dbbfa8c26
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2021-06-15 10:07:57 +00:00

78 lines
3.3 KiB
QML

import qbs
import qbs.Environment
import qbs.File
import qbs.Utilities
import QtcFunctions
import "functions.js" as ClangFunctions
Module {
Probe {
id: clangProbe
property stringList hostOS: qbs.hostOS
property stringList targetOS: qbs.targetOS
property stringList toolchain: qbs.toolchain
property string llvmConfig
property string llvmVersion
property string llvmIncludeDir
property string llvmLibDir
property string llvmBinDir
property stringList llvmLibs
property stringList llvmToolingLibs
property stringList llvmToolingDefines
property stringList llvmToolingIncludes
property stringList llvmToolingCxxFlags
property stringList llvmFormattingLibs
property string llvmBuildMode
configure: {
llvmConfig = ClangFunctions.llvmConfig(hostOS, QtcFunctions);
llvmVersion = ClangFunctions.version(llvmConfig);
llvmIncludeDir = ClangFunctions.includeDir(llvmConfig);
llvmLibDir = ClangFunctions.libDir(llvmConfig);
llvmBinDir = ClangFunctions.binDir(llvmConfig);
llvmLibs = ClangFunctions.libraries(targetOS);
llvmToolingLibs = ClangFunctions.toolingLibs(llvmConfig, targetOS);
llvmBuildMode = ClangFunctions.buildMode(llvmConfig);
var toolingParams = ClangFunctions.toolingParameters(llvmConfig);
llvmToolingDefines = toolingParams.defines;
llvmToolingIncludes = toolingParams.includes;
llvmToolingCxxFlags = toolingParams.cxxFlags;
if (toolchain.contains("gcc")) {
llvmToolingCxxFlags.push("-Wno-unused-parameter");
// clang/Format/Format.h has intentional multiline comments
llvmToolingCxxFlags.push("-Wno-comment");
}
llvmFormattingLibs = ClangFunctions.formattingLibs(llvmConfig, QtcFunctions, targetOS);
found = llvmConfig && File.exists(llvmIncludeDir.concat("/clang-c/Index.h"));
}
}
property string llvmConfig: clangProbe.llvmConfig
property string llvmVersion: clangProbe.llvmVersion
property string llvmIncludeDir: clangProbe.llvmIncludeDir
property string llvmLibDir: clangProbe.llvmLibDir
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
property stringList llvmToolingIncludes: clangProbe.llvmToolingIncludes.filter(function(incl) {
return incl != llvmIncludeDir;
})
property stringList llvmToolingCxxFlags: clangProbe.llvmToolingCxxFlags
validate: {
if (!clangProbe.found) {
console.warn("No usable libclang version found."
+ " Set LLVM_CONFIG to build the Clang Code Model."
+ " For details, see"
+ " doc/src/editors/creator-only/creator-clang-codemodel.qdoc.");
throw new Error();
}
}
}