forked from qt-creator/qt-creator
qbs: add support for the clang-cl compiler
Task-nubmer: QBS-1316 Change-Id: I10d6ec2f425a990191aaf0974782c7e02d70bb93 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -176,7 +176,7 @@ protected:
|
||||
QString m_varsBatArg; // Argument
|
||||
};
|
||||
|
||||
class ClangClToolChain : public MsvcToolChain
|
||||
class PROJECTEXPLORER_EXPORT ClangClToolChain : public MsvcToolChain
|
||||
{
|
||||
public:
|
||||
ClangClToolChain(const QString &name, const QString &llvmDir, Detection d);
|
||||
|
@@ -36,6 +36,7 @@
|
||||
#include <projectexplorer/kitinformation.h>
|
||||
#include <projectexplorer/toolchain.h>
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
#include <projectexplorer/msvctoolchain.h>
|
||||
|
||||
#include <utils/hostosinfo.h>
|
||||
#include <utils/qtcassert.h>
|
||||
@@ -133,6 +134,8 @@ static QStringList toolchainList(const ProjectExplorer::ToolChain *tc)
|
||||
list << QLatin1String("gcc"); // TODO: Detect llvm-gcc
|
||||
} else if (tc->typeId() == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID) {
|
||||
list << QLatin1String("mingw") << QLatin1String("gcc");
|
||||
} else if (tc->typeId() == ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) {
|
||||
list << QLatin1String("clang-cl") << QLatin1String("msvc");
|
||||
} else if (tc->typeId() == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID) {
|
||||
list << QLatin1String("msvc");
|
||||
} else if (tc->typeId() == BareMetal::Constants::IAREW_TOOLCHAIN_TYPEID) {
|
||||
@@ -320,7 +323,12 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
||||
if (!mainToolchainPrefix.isEmpty())
|
||||
data.insert(QLatin1String(CPP_TOOLCHAINPREFIX), mainToolchainPrefix);
|
||||
|
||||
if (toolchain.contains(QLatin1String("msvc"))) {
|
||||
if (toolchain.contains(QLatin1String("clang-cl"))) {
|
||||
data.insert(QLatin1String(CPP_COMPILERNAME), mainCompilerName);
|
||||
const auto clangClToolchain =
|
||||
static_cast<ProjectExplorer::Internal::ClangClToolChain *>(mainTc);
|
||||
data.insert(QLatin1String(CPP_VCVARSALLPATH), clangClToolchain->varsBat());
|
||||
} else if (toolchain.contains(QLatin1String("msvc"))) {
|
||||
data.insert(QLatin1String(CPP_COMPILERNAME), mainCompilerName);
|
||||
} else {
|
||||
if (!mainCompilerName.isEmpty())
|
||||
|
@@ -88,6 +88,7 @@ const char CPP_CCOMPILERNAME[] = "cpp.cCompilerName";
|
||||
const char CPP_CXXCOMPILERNAME[] = "cpp.cxxCompilerName";
|
||||
const char CPP_PLATFORMCOMMONCOMPILERFLAGS[] = "cpp.platformCommonCompilerFlags";
|
||||
const char CPP_PLATFORMLINKERFLAGS[] = "cpp.platformLinkerFlags";
|
||||
const char CPP_VCVARSALLPATH[] = "cpp.vcvarsallPath";
|
||||
const char XCODE_DEVELOPERPATH[] = "xcode.developerPath";
|
||||
const char XCODE_SDK[] = "xcode.sdk";
|
||||
|
||||
|
Reference in New Issue
Block a user