summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2021-11-09 14:05:04 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-10 14:17:49 +0000
commit12f13ac1ee94623b92bcc18a3e892fe9b74946ee (patch)
tree32cd6476df75f14e398482104739721881707ea5 /qmake
parentbbf3c8a2a02469c2fff4f5a8758ce15c0d168418 (diff)
qmake: Support Visual Studio 2022
Extend the detection of the MSCV_VER variable and make VS 2022 known to the vcxproj generator. [ChangeLog][qmake] Added support for Visual Studio 2022. Fixes: QTBUG-97975 Change-Id: Id2c0a0b7800f721e9e34189f0a40ba4830283578 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 1c880752eb891e77c3d3b5ffbf60fbb9109120fb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp2
-rw-r--r--qmake/generators/win32/msvc_objectmodel.h3
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp10
3 files changed, 14 insertions, 1 deletions
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index e7478046ce..b6854ff8c5 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -50,6 +50,8 @@ DotNET vsVersionFromString(const ProString &versionString)
int versionMajor = versionView.left(idx).toInt();
int versionMinor = versionView.mid(idx + 1).toInt();
+ if (versionMajor == 17)
+ return NET2022;
if (versionMajor == 16)
return NET2019;
if (versionMajor == 15)
diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h
index c2259e8682..24e249f108 100644
--- a/qmake/generators/win32/msvc_objectmodel.h
+++ b/qmake/generators/win32/msvc_objectmodel.h
@@ -53,7 +53,8 @@ enum DotNET {
NET2013 = 0xc0,
NET2015 = 0xd0,
NET2017 = 0xe0,
- NET2019
+ NET2019,
+ NET2022
};
DotNET vsVersionFromString(const ProString &versionString);
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index ae87bb9edb..e81fdf8ebd 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -79,6 +79,8 @@ const char _slnHeader141[] = "Microsoft Visual Studio Solution File, Format
"\n# Visual Studio 15";
const char _slnHeader142[] = "Microsoft Visual Studio Solution File, Format Version 12.00"
"\n# Visual Studio Version 16";
+const char _slnHeader143[] = "Microsoft Visual Studio Solution File, Format Version 12.00"
+ "\n# Visual Studio Version 17";
// The following UUID _may_ change for later servicepacks...
// If so we need to search through the registry at
// HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0\Projects
@@ -314,6 +316,8 @@ QString VcprojGenerator::retrievePlatformToolSet() const
return QStringLiteral("v141");
case NET2019:
return QStringLiteral("v142");
+ case NET2022:
+ return QStringLiteral("v143");
default:
return QString();
}
@@ -541,6 +545,9 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
}
switch (vcProject.Configuration.CompilerVersion) {
+ case NET2022:
+ t << _slnHeader143;
+ break;
case NET2019:
t << _slnHeader142;
break;
@@ -923,6 +930,9 @@ void VcprojGenerator::initProject()
// Own elements -----------------------------
vcProject.Name = project->first("QMAKE_ORIG_TARGET").toQString();
switch (vcProject.Configuration.CompilerVersion) {
+ case NET2022:
+ vcProject.Version = "17.00";
+ break;
case NET2019:
vcProject.Version = "16.00";
break;