aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Costa <miguel.costa@qt.io>2018-12-12 18:19:20 +0100
committerMiguel Costa <miguel.costa@qt.io>2018-12-19 14:41:25 +0000
commit1759c2f7bf66e6f5cc032df6764b51d9a96f6a57 (patch)
tree181b4e9ff4e7fd4777addd3fb182caf3e41b3f55
parent432b21365b778822f14842be711b0e64332a6e93 (diff)
Add support for Visual Studio 2019
Change-Id: I54119ed9131bf64a05dc617b6f863464ad5ce993 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--.gitignore1
-rw-r--r--src/config/16.0/qtvstools.targets52
-rw-r--r--src/config/16.0/source.extension.vsixmanifest_TT116
-rw-r--r--src/config/qtvstools.version.targets21
-rw-r--r--src/qtprojectlib/BuildConfig.cs2
-rw-r--r--src/qtprojectlib/HelperFunctions.cs7
-rw-r--r--src/qtprojectlib/ProjectImporter.cs2
-rw-r--r--src/qtprojectlib/QtProject.cs2
-rw-r--r--src/qtprojectlib/Resources.cs2
-rw-r--r--src/qtvstools/QtVsTools.csproj17
-rw-r--r--src/qtvstools/Vsix.cs4
-rw-r--r--src/qtwizard/ConsoleWizard.cs2
-rw-r--r--src/qtwizard/DesignerWizard.cs2
-rw-r--r--src/qtwizard/GuiWizard.cs2
-rw-r--r--src/qtwizard/LibraryWizard.cs2
-rw-r--r--src/qtwizard/ServerWizard.cs2
-rw-r--r--src/vsqml/vsqml.vcxproj10
17 files changed, 216 insertions, 30 deletions
diff --git a/.gitignore b/.gitignore
index 9f5750f6..f52cec48 100644
--- a/.gitignore
+++ b/.gitignore
@@ -273,6 +273,7 @@ vstools.pri
src/config/12.0/source.extension.vsixmanifest
src/config/14.0/source.extension.vsixmanifest
src/config/15.0/source.extension.vsixmanifest
+src/config/16.0/source.extension.vsixmanifest
src/qtappwrapper/Properties/AssemblyInfo.tt.cs
src/qtprojectlib/Properties/AssemblyInfo.tt.cs
src/qttemplates/console/Properties/AssemblyInfo.tt.cs
diff --git a/src/config/16.0/qtvstools.targets b/src/config/16.0/qtvstools.targets
new file mode 100644
index 00000000..cb9e7b32
--- /dev/null
+++ b/src/config/16.0/qtvstools.targets
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0">
+
+ <PropertyGroup>
+ <DefineConstants>$(DefineConstants);VS2019</DefineConstants>
+ </PropertyGroup>
+
+ <ItemGroup Condition=" '$(VisualStudioVersion)' == '16.0' ">
+ <Reference Include="EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.CoreUtility, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Language.StandardClassification, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.Shell.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.15.3.DesignTime, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"/>
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Framework, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Data, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.Logic, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Text.UI.Wpf, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Utilities, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.VCCodeModel, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.VCProjectEngine, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.ComponentModelHost, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="Microsoft.VisualStudio.Editor, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+ <Reference Include="Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </Reference>
+ <Reference Include="Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference Include="PresentationCore" />
+ <Reference Include="PresentationFramework" />
+ <Reference Include="System" />
+ <Reference Include="System.Design" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xaml" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="WindowsBase" />
+ </ItemGroup>
+
+</Project>
diff --git a/src/config/16.0/source.extension.vsixmanifest_TT b/src/config/16.0/source.extension.vsixmanifest_TT
new file mode 100644
index 00000000..a18d44bf
--- /dev/null
+++ b/src/config/16.0/source.extension.vsixmanifest_TT
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ *****************************************************************************
+ **
+ ** Copyright (C) 2017 The Qt Company Ltd.
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the Qt VS Tools.
+ **
+ ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+ ** Commercial License Usage
+ ** Licensees holding valid commercial Qt licenses may use this file in
+ ** accordance with the commercial license agreement provided with the
+ ** Software or, alternatively, in accordance with the terms contained in
+ ** a written agreement between you and The Qt Company. For licensing terms
+ ** and conditions see https://www.qt.io/terms-conditions. For further
+ ** information use the contact form at https://www.qt.io/contact-us.
+ **
+ ** GNU General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU
+ ** General Public License version 3 as published by the Free Software
+ ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+ ** included in the packaging of this file. Please review the following
+ ** information to ensure the GNU General Public License requirements will
+ ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+ **
+ ** $QT_END_LICENSE$
+ **
+ *****************************************************************************
+<#@output extension="vsixmanifest" #>
+<#@include file="$(SolutionDir)\version.tt" #>
+ ** <#=WARNING_GENERATED_FILE#>
+ *****************************************************************************
+-->
+
+<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011"
+ xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
+ <Metadata>
+ <!-- BEGIN Generated Text <#=XML_COMMENT_END#>
+ <Identity
+ Id="QtVsTools.bf3c71c0-ab41-4427-ada9-9b3813d89ff5"
+ Version="<#=QT_VS_TOOLS_VERSION#>"
+ Language="en-US"
+ Publisher="The Qt Company Ltd." />
+ <#=XML_COMMENT_BEGIN#> END Generated Text -->
+ <DisplayName>Qt Visual Studio Tools</DisplayName>
+ <Description xml:space="preserve">The Qt Visual Studio Tools allow developers to use the standard development environment without having to worry about any Qt-related build steps or tools.</Description>
+ <MoreInfo>http://www.qt.io</MoreInfo>
+ <License>LICENSE.GPL3-EXCEPT</License>
+ <ReleaseNotes>Changelog</ReleaseNotes>
+ <Icon>qt.ico</Icon>
+ <PreviewImage>preview.png</PreviewImage>
+ </Metadata>
+ <Installation InstalledByMsi="false">
+ <InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[16.0]" />
+ <InstallationTarget Id="Microsoft.VisualStudio.Premium" Version="[16.0]" />
+ <InstallationTarget Id="Microsoft.VisualStudio.Ultimate" Version="[16.0]" />
+ <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[16.0]" />
+ </Installation>
+ <Dependencies>
+ <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.6,)" />
+ </Dependencies>
+ <Assets>
+ <Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%"
+ Path="|%CurrentProject%;PkgdefProjectOutputGroup|" />
+ <Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project" d:ProjectName="%CurrentProject%"
+ Path="|%CurrentProject%|" />
+ <Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="QtAppWrapper" Path="|QtAppWrapper|" AssemblyName="|QtAppWrapper;AssemblyName|" />
+ <Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="QtProjectWizard" Path="|QtProjectWizard|" AssemblyName="|QtProjectWizard;AssemblyName|" />
+ <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="Console" d:TargetPath="|Console;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="Gui" d:TargetPath="|Gui;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="Lib" d:TargetPath="|Lib;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="Server" d:TargetPath="|Server;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="Designer" d:TargetPath="|Designer;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ItemTemplate" d:Source="Project" d:ProjectName="Resource" d:TargetPath="|Resource;TemplateProjectOutputGroup|" Path="ItemTemplates" d:VsixSubPath="ItemTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ItemTemplate" d:Source="Project" d:ProjectName="DialogButtonBottom" d:TargetPath="|DialogButtonBottom;TemplateProjectOutputGroup|" Path="ItemTemplates" d:VsixSubPath="ItemTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ItemTemplate" d:Source="Project" d:ProjectName="DialogButtonRight" d:TargetPath="|DialogButtonRight;TemplateProjectOutputGroup|" Path="ItemTemplates" d:VsixSubPath="ItemTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ItemTemplate" d:Source="Project" d:ProjectName="MainWindow" d:TargetPath="|MainWindow;TemplateProjectOutputGroup|" Path="ItemTemplates" d:VsixSubPath="ItemTemplates" />
+ <Asset Type="Microsoft.VisualStudio.ItemTemplate" d:Source="Project" d:ProjectName="Widget" d:TargetPath="|Widget;TemplateProjectOutputGroup|" Path="ItemTemplates" d:VsixSubPath="ItemTemplates" />
+ <Asset Type="File" d:Source="File" Path="qt5.natvis.xml" />
+ <Asset Type="File"
+ d:Source="File"
+ Path="x64\SQLite.Interop.dll"
+ d:VsixSubPath="x64" />
+ <Asset Type="file"
+ d:Source="File"
+ Path="x86\SQLite.Interop.dll"
+ d:VsixSubPath="x86" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qt.props" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qt.targets" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" d:VsixSubPath="qtmsbuild"
+ Path="qtmsbuild\qt_tasks.targets" />
+ <Asset Type="File" d:Source="File" d:VsixSubPath="qtmsbuild"
+ Path="qtmsbuild\qt_globals.targets" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qtmoc.targets" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qtqml.targets" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qtrcc.targets" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qtuic.targets" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qtmoc.xml" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qtrcc.xml" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" Path="qtmsbuild\qtuic.xml" d:VsixSubPath="qtmsbuild" />
+ <Asset Type="File" d:Source="File" Path="qtmodules.xml" />
+ <Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="File" Path="QtVsTools.Qml.Debug.pkgdef" />
+ </Assets>
+ <Prerequisites>
+ <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor"
+ Version="[16.0,17.0)"
+ DisplayName="Visual Studio core editor" />
+ <Prerequisite Id="Microsoft.VisualStudio.Component.VC.CoreIde"
+ Version="[16.0,17.0)"
+ DisplayName="Visual Studio C++ core features" />
+ <Prerequisite Id="Microsoft.VisualStudio.Component.VC.Tools.x86.x64"
+ Version="[16.0,17.0)"
+ DisplayName="VC++ 2017 v141 toolset (x86,x64)" />
+ </Prerequisites>
+</PackageManifest>
diff --git a/src/config/qtvstools.version.targets b/src/config/qtvstools.version.targets
index 225b7831..61500fe8 100644
--- a/src/config/qtvstools.version.targets
+++ b/src/config/qtvstools.version.targets
@@ -1,17 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
- <Choose>
- <When Condition=" '$(VisualStudioVersion)' == '15.0' ">
- <PropertyGroup>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
- </PropertyGroup>
- </When>
- <Otherwise>
- <PropertyGroup>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
- </PropertyGroup>
- </Otherwise>
- </Choose>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <TargetFrameworkVersion
+ Condition="'$(VisualStudioVersion)'=='15.0'">v4.6</TargetFrameworkVersion>
+
+ <TargetFrameworkVersion
+ Condition="'$(VisualStudioVersion)'=='16.0'">v4.7.2</TargetFrameworkVersion>
+
+ </PropertyGroup>
</Project>
diff --git a/src/qtprojectlib/BuildConfig.cs b/src/qtprojectlib/BuildConfig.cs
index 4d5abcce..be0e78bc 100644
--- a/src/qtprojectlib/BuildConfig.cs
+++ b/src/qtprojectlib/BuildConfig.cs
@@ -39,7 +39,7 @@ namespace QtProjectLib
// TODO: Find a proper way to return the PlatformToolset version.
#if (VS2013 || VS2015)
return version.Replace(".", string.Empty);
-#elif VS2017
+#elif (VS2017 || VS2019)
return "141";
#else
#error Unknown Visual Studio version!
diff --git a/src/qtprojectlib/HelperFunctions.cs b/src/qtprojectlib/HelperFunctions.cs
index 48f6d87a..e5cedf16 100644
--- a/src/qtprojectlib/HelperFunctions.cs
+++ b/src/qtprojectlib/HelperFunctions.cs
@@ -1666,7 +1666,10 @@ namespace QtProjectLib
private static string GetVCPathFromRegistry()
{
-#if VS2017
+#if VS2019
+ Debug.Assert(false, "VCPath for VS2019 is not available through the registry");
+ string vcPath = string.Empty;
+#elif VS2017
string vsPath = GetRegistrySoftwareString(@"Microsoft\VisualStudio\SxS\VS7", "15.0");
if (string.IsNullOrEmpty(vsPath))
return "";
@@ -1694,7 +1697,7 @@ namespace QtProjectLib
return false;
string comspecPath = Environment.GetEnvironmentVariable("COMSPEC");
-#if VS2017
+#if (VS2017 || VS2019)
string vcVarsCmd = "";
string vcVarsArg = "";
if (isOS64Bit && isQt64Bit)
diff --git a/src/qtprojectlib/ProjectImporter.cs b/src/qtprojectlib/ProjectImporter.cs
index d2981a20..36903b6d 100644
--- a/src/qtprojectlib/ProjectImporter.cs
+++ b/src/qtprojectlib/ProjectImporter.cs
@@ -222,7 +222,7 @@ namespace QtProjectLib
ok = xmlProject.ConvertCustomBuildToQtMsBuild();
if (ok)
ok = xmlProject.EnableMultiProcessorCompilation();
-#if (VS2017 || VS2015)
+#if (VS2019 || VS2017 || VS2015)
if (ok) {
string versionWin10SDK = HelperFunctions.GetWindows10SDKVersion();
if (!string.IsNullOrEmpty(versionWin10SDK))
diff --git a/src/qtprojectlib/QtProject.cs b/src/qtprojectlib/QtProject.cs
index 54de04d3..b90c2c32 100644
--- a/src/qtprojectlib/QtProject.cs
+++ b/src/qtprojectlib/QtProject.cs
@@ -1825,7 +1825,7 @@ namespace QtProjectLib
if (!vfilt.CanAddFilter(subfilterName))
throw new QtVSException(SR.GetString("QtProject_CannotAddFilter", filter.Name));
-#if !VS2017
+#if !(VS2017 || VS2019)
// TODO: Enable once the freeze gets fixed in VS.
vfilt = (VCFilter) vfilt.AddFilter(subfilterName);
vfilt.Filter = "cpp;moc";
diff --git a/src/qtprojectlib/Resources.cs b/src/qtprojectlib/Resources.cs
index b491a28e..8c49ebf6 100644
--- a/src/qtprojectlib/Resources.cs
+++ b/src/qtprojectlib/Resources.cs
@@ -112,7 +112,7 @@ namespace QtProjectLib
public const string registryPackagePath = registryRootPath + "\\Qt5VS2013";
#elif VS2015
public const string registryPackagePath = registryRootPath + "\\Qt5VS2015";
-#elif VS2017
+#elif (VS2017 || VS2019)
public const string registryPackagePath = registryRootPath + "\\Qt5VS2017";
#else
#error Unknown Visual Studio version!
diff --git a/src/qtvstools/QtVsTools.csproj b/src/qtvstools/QtVsTools.csproj
index 46aa7d6f..188db2ab 100644
--- a/src/qtvstools/QtVsTools.csproj
+++ b/src/qtvstools/QtVsTools.csproj
@@ -175,6 +175,23 @@
</Content>
</ItemGroup>
<Choose>
+ <When Condition="'$(VisualStudioVersion)' == '16.0'">
+ <ItemGroup>
+ <T4Template Include="..\config\16.0\source.extension.vsixmanifest_TT">
+ <Link>source.extension.vsixmanifest_TT</Link>
+ <Generator>TextTemplatingFileGenerator</Generator>
+ <OutputFile>..\config\16.0\source.extension.vsixmanifest</OutputFile>
+ <DependsOn>$(SolutionDir)\version.targets;$(SolutionDir)\version.tt;$(SolutionDir)\common.tt</DependsOn>
+ <LastGenOutput>source.extension.vsixmanifest</LastGenOutput>
+ </T4Template>
+ <None Include="..\config\16.0\source.extension.vsixmanifest">
+ <Link>source.extension.vsixmanifest</Link>
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>source.extension.vsixmanifest_TT</DependentUpon>
+ </None>
+ </ItemGroup>
+ </When>
<When Condition="'$(VisualStudioVersion)' == '15.0'">
<ItemGroup>
<T4Template Include="..\config\15.0\source.extension.vsixmanifest_TT">
diff --git a/src/qtvstools/Vsix.cs b/src/qtvstools/Vsix.cs
index cd7c90d5..45e4e4c4 100644
--- a/src/qtvstools/Vsix.cs
+++ b/src/qtvstools/Vsix.cs
@@ -308,7 +308,9 @@ namespace QtVsTools
File.WriteAllText(Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
-#if VS2017
+#if VS2019
+ @"Visual Studio 2019\Visualizers\",
+#elif VS2017
@"Visual Studio 2017\Visualizers\",
#elif VS2015
@"Visual Studio 2015\Visualizers\",
diff --git a/src/qtwizard/ConsoleWizard.cs b/src/qtwizard/ConsoleWizard.cs
index a7805428..63980a18 100644
--- a/src/qtwizard/ConsoleWizard.cs
+++ b/src/qtwizard/ConsoleWizard.cs
@@ -112,7 +112,7 @@ namespace QtProjectWizard
replacements["$ProjectGuid$"] = @"{B12702AD-ABFB-343A-A199-8E24837244A3}";
replacements["$PlatformToolset$"] = BuildConfig.PlatformToolset(version);
-#if (VS2017 || VS2015)
+#if (VS2019 || VS2017 || VS2015)
string versionWin10SDK = HelperFunctions.GetWindows10SDKVersion();
if (!string.IsNullOrEmpty(versionWin10SDK)) {
replacements["$WindowsTargetPlatformVersion$"] = versionWin10SDK;
diff --git a/src/qtwizard/DesignerWizard.cs b/src/qtwizard/DesignerWizard.cs
index 1b5a22ac..efe3a96d 100644
--- a/src/qtwizard/DesignerWizard.cs
+++ b/src/qtwizard/DesignerWizard.cs
@@ -232,7 +232,7 @@ namespace QtProjectWizard
}
replacements["$include$"] = strHeaderInclude;
-#if (VS2017 || VS2015)
+#if (VS2019 || VS2017 || VS2015)
string versionWin10SDK = HelperFunctions.GetWindows10SDKVersion();
if (!string.IsNullOrEmpty(versionWin10SDK)) {
replacements["$WindowsTargetPlatformVersion$"] = versionWin10SDK;
diff --git a/src/qtwizard/GuiWizard.cs b/src/qtwizard/GuiWizard.cs
index 9a75e988..19a082fd 100644
--- a/src/qtwizard/GuiWizard.cs
+++ b/src/qtwizard/GuiWizard.cs
@@ -203,7 +203,7 @@ namespace QtProjectWizard
Directory.Delete(qmakeTmpDir, true);
}
-#if (VS2017 || VS2015)
+#if (VS2019 || VS2017 || VS2015)
else {
string versionWin10SDK = HelperFunctions.GetWindows10SDKVersion();
if (!string.IsNullOrEmpty(versionWin10SDK)) {
diff --git a/src/qtwizard/LibraryWizard.cs b/src/qtwizard/LibraryWizard.cs
index e53526d3..7fbd6213 100644
--- a/src/qtwizard/LibraryWizard.cs
+++ b/src/qtwizard/LibraryWizard.cs
@@ -210,7 +210,7 @@ namespace QtProjectWizard
if (vi.isWinRT())
replacements["$QtWinRT$"] = "true";
-#if (VS2017 || VS2015)
+#if (VS2019 || VS2017 || VS2015)
string versionWin10SDK = HelperFunctions.GetWindows10SDKVersion();
if (!string.IsNullOrEmpty(versionWin10SDK)) {
replacements["$WindowsTargetPlatformVersion$"] = versionWin10SDK;
diff --git a/src/qtwizard/ServerWizard.cs b/src/qtwizard/ServerWizard.cs
index 2048b4d3..647c9d95 100644
--- a/src/qtwizard/ServerWizard.cs
+++ b/src/qtwizard/ServerWizard.cs
@@ -228,7 +228,7 @@ namespace QtProjectWizard
safeprojectname = data.LowerCaseFileNames ? safeprojectname.ToLower() : safeprojectname;
replacements["$pro_name$"] = safeprojectname;
-#if (VS2017 || VS2015)
+#if (VS2019 || VS2017 || VS2015)
string versionWin10SDK = HelperFunctions.GetWindows10SDKVersion();
if (!string.IsNullOrEmpty(versionWin10SDK)) {
replacements["$WindowsTargetPlatformVersion$"] = versionWin10SDK;
diff --git a/src/vsqml/vsqml.vcxproj b/src/vsqml/vsqml.vcxproj
index ad4f3088..1524148e 100644
--- a/src/vsqml/vsqml.vcxproj
+++ b/src/vsqml/vsqml.vcxproj
@@ -11,18 +11,16 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Condition="'$(VisualStudioVersion)'=='12.0'" Label="Globals">
- <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(VisualStudioVersion)'=='14.0'" Label="Globals">
- <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(VisualStudioVersion)'=='15.0'" Label="Globals">
- <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Label="Globals">
+ <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
<ProjectName>VsQml</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -42,11 +40,11 @@
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
- <PropertyGroup Condition="'$(VisualStudioVersion)'=='15.0' and '$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <PropertyGroup Condition="('$(VisualStudioVersion)'=='15.0' OR '$(VisualStudioVersion)'=='16.0') and '$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
- <PropertyGroup Condition="'$(VisualStudioVersion)'=='15.0' and '$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <PropertyGroup Condition="('$(VisualStudioVersion)'=='15.0' OR '$(VisualStudioVersion)'=='16.0') and '$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
@@ -85,7 +83,7 @@
<PropertyGroup Condition="'$(VisualStudioVersion)'=='14.0'">
<QtBuild>$(QtBuild_Static_Vs2015)</QtBuild>
</PropertyGroup>
- <PropertyGroup Condition="'$(VisualStudioVersion)'=='15.0'">
+ <PropertyGroup Condition="'$(VisualStudioVersion)'=='15.0' OR '$(VisualStudioVersion)'=='16.0'">
<QtBuild>$(QtBuild_Static_Vs2017)</QtBuild>
</PropertyGroup>
<PropertyGroup>