aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Costa <miguel.costa@qt.io>2022-07-06 15:47:19 +0200
committerKarsten Heimrich <karsten.heimrich@qt.io>2022-08-11 13:27:34 +0000
commitfbcd2ee7e4160d1b5aa0169e2d24da3916416597 (patch)
treea24c5a7da667a0062f361b4951787f163eb35639
parenta44eea3801e798041f18c3a916dea98d6560ae6b (diff)
Add test projects for all format versions
Added simple projects in each of the project format versions. This will allow testing the extension against older format versions. Also, added some basic documentation describing each format version. Change-Id: I2493a8feb98ec87f717cb771bf995926f5204a68 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
-rw-r--r--Tests/ProjectFormats/100/QtProjectV100.cpp10
-rw-r--r--Tests/ProjectFormats/100/QtProjectV100.h16
-rw-r--r--Tests/ProjectFormats/100/QtProjectV100.pro6
-rw-r--r--Tests/ProjectFormats/100/QtProjectV100.qrc4
-rw-r--r--Tests/ProjectFormats/100/QtProjectV100.ui28
-rw-r--r--Tests/ProjectFormats/100/QtProjectV100.vcxproj215
-rw-r--r--Tests/ProjectFormats/100/QtProjectV100.vcxproj.filters95
-rw-r--r--Tests/ProjectFormats/100/main.cpp10
-rw-r--r--Tests/ProjectFormats/200/QtProjectV200.cpp7
-rw-r--r--Tests/ProjectFormats/200/QtProjectV200.h15
-rw-r--r--Tests/ProjectFormats/200/QtProjectV200.qrc4
-rw-r--r--Tests/ProjectFormats/200/QtProjectV200.sln22
-rw-r--r--Tests/ProjectFormats/200/QtProjectV200.ui29
-rw-r--r--Tests/ProjectFormats/200/QtProjectV200.vcxproj133
-rw-r--r--Tests/ProjectFormats/200/QtProjectV200.vcxproj.filters75
-rw-r--r--Tests/ProjectFormats/200/main.cpp10
-rw-r--r--Tests/ProjectFormats/300/QtProjectV300.cpp7
-rw-r--r--Tests/ProjectFormats/300/QtProjectV300.h15
-rw-r--r--Tests/ProjectFormats/300/QtProjectV300.qrc4
-rw-r--r--Tests/ProjectFormats/300/QtProjectV300.sln25
-rw-r--r--Tests/ProjectFormats/300/QtProjectV300.ui29
-rw-r--r--Tests/ProjectFormats/300/QtProjectV300.vcxproj106
-rw-r--r--Tests/ProjectFormats/300/QtProjectV300.vcxproj.filters50
-rw-r--r--Tests/ProjectFormats/300/main.cpp10
-rw-r--r--Tests/ProjectFormats/301/QtProjectV301.cpp7
-rw-r--r--Tests/ProjectFormats/301/QtProjectV301.h15
-rw-r--r--Tests/ProjectFormats/301/QtProjectV301.qrc4
-rw-r--r--Tests/ProjectFormats/301/QtProjectV301.sln25
-rw-r--r--Tests/ProjectFormats/301/QtProjectV301.ui29
-rw-r--r--Tests/ProjectFormats/301/QtProjectV301.vcxproj109
-rw-r--r--Tests/ProjectFormats/301/QtProjectV301.vcxproj.filters50
-rw-r--r--Tests/ProjectFormats/301/main.cpp10
-rw-r--r--Tests/ProjectFormats/302/QtProjectV302.cpp7
-rw-r--r--Tests/ProjectFormats/302/QtProjectV302.h15
-rw-r--r--Tests/ProjectFormats/302/QtProjectV302.qrc4
-rw-r--r--Tests/ProjectFormats/302/QtProjectV302.sln25
-rw-r--r--Tests/ProjectFormats/302/QtProjectV302.ui28
-rw-r--r--Tests/ProjectFormats/302/QtProjectV302.vcxproj102
-rw-r--r--Tests/ProjectFormats/302/QtProjectV302.vcxproj.filters46
-rw-r--r--Tests/ProjectFormats/302/main.cpp10
-rw-r--r--Tests/ProjectFormats/303/QtProjectV303.cpp7
-rw-r--r--Tests/ProjectFormats/303/QtProjectV303.h15
-rw-r--r--Tests/ProjectFormats/303/QtProjectV303.qrc4
-rw-r--r--Tests/ProjectFormats/303/QtProjectV303.sln25
-rw-r--r--Tests/ProjectFormats/303/QtProjectV303.ui28
-rw-r--r--Tests/ProjectFormats/303/QtProjectV303.vcxproj106
-rw-r--r--Tests/ProjectFormats/303/QtProjectV303.vcxproj.filters49
-rw-r--r--Tests/ProjectFormats/303/main.cpp10
-rw-r--r--Tests/ProjectFormats/304/QtProjectV304.cpp10
-rw-r--r--Tests/ProjectFormats/304/QtProjectV304.h16
-rw-r--r--Tests/ProjectFormats/304/QtProjectV304.qrc4
-rw-r--r--Tests/ProjectFormats/304/QtProjectV304.sln25
-rw-r--r--Tests/ProjectFormats/304/QtProjectV304.ui28
-rw-r--r--Tests/ProjectFormats/304/QtProjectV304.vcxproj105
-rw-r--r--Tests/ProjectFormats/304/QtProjectV304.vcxproj.filters48
-rw-r--r--Tests/ProjectFormats/304/main.cpp10
-rw-r--r--Tests/ProjectFormats/ProjectFormats.md1324
57 files changed, 3225 insertions, 0 deletions
diff --git a/Tests/ProjectFormats/100/QtProjectV100.cpp b/Tests/ProjectFormats/100/QtProjectV100.cpp
new file mode 100644
index 00000000..690b6a50
--- /dev/null
+++ b/Tests/ProjectFormats/100/QtProjectV100.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV100.h"
+
+QtProjectV100::QtProjectV100(QWidget *parent)
+ : QMainWindow(parent)
+{
+ ui.setupUi(this);
+}
+
+QtProjectV100::~QtProjectV100()
+{}
diff --git a/Tests/ProjectFormats/100/QtProjectV100.h b/Tests/ProjectFormats/100/QtProjectV100.h
new file mode 100644
index 00000000..18b22d34
--- /dev/null
+++ b/Tests/ProjectFormats/100/QtProjectV100.h
@@ -0,0 +1,16 @@
+#pragma once
+
+#include <QtWidgets/QMainWindow>
+#include "ui_QtProjectV100.h"
+
+class QtProjectV100 : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ QtProjectV100(QWidget *parent = nullptr);
+ ~QtProjectV100();
+
+private:
+ Ui::QtProjectV100Class ui;
+};
diff --git a/Tests/ProjectFormats/100/QtProjectV100.pro b/Tests/ProjectFormats/100/QtProjectV100.pro
new file mode 100644
index 00000000..f5a183a5
--- /dev/null
+++ b/Tests/ProjectFormats/100/QtProjectV100.pro
@@ -0,0 +1,6 @@
+QT += widgets
+HEADERS = QtProjectV100.h
+FORMS = QtProjectV100.ui
+RESOURCES = QtProjectV100.qrc
+SOURCES = QtProjectV100.cpp \
+ main.cpp
diff --git a/Tests/ProjectFormats/100/QtProjectV100.qrc b/Tests/ProjectFormats/100/QtProjectV100.qrc
new file mode 100644
index 00000000..6f2858e5
--- /dev/null
+++ b/Tests/ProjectFormats/100/QtProjectV100.qrc
@@ -0,0 +1,4 @@
+<RCC>
+ <qresource prefix="QtProjectV100">
+ </qresource>
+</RCC>
diff --git a/Tests/ProjectFormats/100/QtProjectV100.ui b/Tests/ProjectFormats/100/QtProjectV100.ui
new file mode 100644
index 00000000..ae91484d
--- /dev/null
+++ b/Tests/ProjectFormats/100/QtProjectV100.ui
@@ -0,0 +1,28 @@
+<UI version="4.0" >
+ <class>QtProjectV100Class</class>
+ <widget class="QMainWindow" name="QtProjectV100Class" >
+ <property name="objectName" >
+ <string notr="true">QtProjectV100Class</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>QtProjectV100</string>
+ </property> <widget class="QMenuBar" name="menuBar" />
+ <widget class="QToolBar" name="mainToolBar" />
+ <widget class="QWidget" name="centralWidget" />
+ <widget class="QStatusBar" name="statusBar" />
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources>
+ <include location="QtProjectV100.qrc"/>
+ </resources>
+ <connections/>
+</UI>
diff --git a/Tests/ProjectFormats/100/QtProjectV100.vcxproj b/Tests/ProjectFormats/100/QtProjectV100.vcxproj
new file mode 100644
index 00000000..160e02a1
--- /dev/null
+++ b/Tests/ProjectFormats/100/QtProjectV100.vcxproj
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E5EA0EEF-BDC2-3484-A4F0-BA6C71E224CF}</ProjectGuid>
+ <RootNamespace>QtProjectV100</RootNamespace>
+ <Keyword>Qt4VSv1.0</Keyword>
+ <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;" Label="Configuration">
+ <PlatformToolset>v142</PlatformToolset>
+ <OutputDirectory>release\</OutputDirectory>
+ <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
+ <CharacterSet>NotSet</CharacterSet>
+ <ConfigurationType>Application</ConfigurationType>
+ <IntermediateDirectory>release\</IntermediateDirectory>
+ <PrimaryOutput>QtProjectV100</PrimaryOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;" Label="Configuration">
+ <PlatformToolset>v142</PlatformToolset>
+ <OutputDirectory>debug\</OutputDirectory>
+ <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
+ <CharacterSet>NotSet</CharacterSet>
+ <ConfigurationType>Application</ConfigurationType>
+ <IntermediateDirectory>debug\</IntermediateDirectory>
+ <PrimaryOutput>QtProjectV100</PrimaryOutput>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" />
+ </ImportGroup>
+ <ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\</OutDir>
+ <IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\</IntDir>
+ <TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">QtProjectV100</TargetName>
+ <IgnoreImportLibrary Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">true</IgnoreImportLibrary>
+ <LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">false</LinkIncremental>
+ <OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\</OutDir>
+ <IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\</IntDir>
+ <TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">QtProjectV100</TargetName>
+ <IgnoreImportLibrary Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">true</IgnoreImportLibrary>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">
+ <ClCompile>
+ <AdditionalIncludeDirectories>.;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtWidgets;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtGui;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtANGLE;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtCore;release;.;/include;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
+ <AssemblerListingLocation>release\</AssemblerListingLocation>
+ <BrowseInformation>false</BrowseInformation>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <ObjectFileName>release\</ObjectFileName>
+ <Optimization>MaxSpeed</Optimization>
+ <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessToFile>false</PreprocessToFile>
+ <ProgramDataBaseFileName></ProgramDataBaseFileName>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Widgets.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Gui.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Core.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\qtmain.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalOptions>&quot;/MANIFESTDEPENDENCY:type=&apos;win32&apos; name=&apos;Microsoft.Windows.Common-Controls&apos; version=&apos;6.0.0.0&apos; publicKeyToken=&apos;6595b64144ccf1df&apos; language=&apos;*&apos; processorArchitecture=&apos;*&apos;&quot; %(AdditionalOptions)</AdditionalOptions>
+ <DataExecutionPrevention>true</DataExecutionPrevention>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <IgnoreImportLibrary>true</IgnoreImportLibrary>
+ <LinkIncremental>false</LinkIncremental>
+ <OptimizeReferences>true</OptimizeReferences>
+ <OutputFile>$(OutDir)\QtProjectV100.exe</OutputFile>
+ <RandomizedBaseAddress>true</RandomizedBaseAddress>
+ <SubSystem>Windows</SubSystem>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ </Link>
+ <Midl>
+ <DefaultCharType>Unsigned</DefaultCharType>
+ <EnableErrorChecks>None</EnableErrorChecks>
+ <WarningLevel>0</WarningLevel>
+ </Midl>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">
+ <ClCompile>
+ <AdditionalIncludeDirectories>.;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtWidgets;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtGui;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtANGLE;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtCore;debug;.;/include;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
+ <AssemblerListingLocation>debug\</AssemblerListingLocation>
+ <BrowseInformation>false</BrowseInformation>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <ObjectFileName>debug\</ObjectFileName>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessToFile>false</PreprocessToFile>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Widgetsd.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Guid.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Cored.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\qtmaind.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalOptions>&quot;/MANIFESTDEPENDENCY:type=&apos;win32&apos; name=&apos;Microsoft.Windows.Common-Controls&apos; version=&apos;6.0.0.0&apos; publicKeyToken=&apos;6595b64144ccf1df&apos; language=&apos;*&apos; processorArchitecture=&apos;*&apos;&quot; %(AdditionalOptions)</AdditionalOptions>
+ <DataExecutionPrevention>true</DataExecutionPrevention>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <IgnoreImportLibrary>true</IgnoreImportLibrary>
+ <OutputFile>$(OutDir)\QtProjectV100.exe</OutputFile>
+ <RandomizedBaseAddress>true</RandomizedBaseAddress>
+ <SubSystem>Windows</SubSystem>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ </Link>
+ <Midl>
+ <DefaultCharType>Unsigned</DefaultCharType>
+ <EnableErrorChecks>None</EnableErrorChecks>
+ <WarningLevel>0</WarningLevel>
+ </Midl>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="QtProjectV100.cpp" />
+ <ClCompile Include="main.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.h">
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">QtProjectV100.h;release\moc_predefs.h;C:\lib\Qt\5.15.10\msvc2019_64\bin\moc.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DNDEBUG -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --compiler-flavor=msvc --include C:/dev/tests/formats/100/release/moc_predefs.h -IC:/lib/Qt/5.15.10/msvc2019_64/mkspecs/win32-msvc -IC:/dev/tests/formats/100 -IC:/lib/Qt/5.15.10/msvc2019_64/include -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtWidgets -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtGui -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtANGLE -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtCore -I&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\ATLMFC\include&quot; -I&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include&quot; -I&quot;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt&quot; QtProjectV100.h -o release\moc_QtProjectV100.cpp</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">MOC QtProjectV100.h</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\moc_QtProjectV100.cpp;%(Outputs)</Outputs>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">QtProjectV100.h;debug\moc_predefs.h;C:\lib\Qt\5.15.10\msvc2019_64\bin\moc.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --compiler-flavor=msvc --include C:/dev/tests/formats/100/debug/moc_predefs.h -IC:/lib/Qt/5.15.10/msvc2019_64/mkspecs/win32-msvc -IC:/dev/tests/formats/100 -IC:/lib/Qt/5.15.10/msvc2019_64/include -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtWidgets -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtGui -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtANGLE -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtCore -I&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\ATLMFC\include&quot; -I&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include&quot; -I&quot;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt&quot; QtProjectV100.h -o debug\moc_QtProjectV100.cpp</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">MOC QtProjectV100.h</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\moc_QtProjectV100.cpp;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="debug\moc_QtProjectV100.cpp">
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="release\moc_QtProjectV100.cpp">
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">true</ExcludedFromBuild>
+ </ClCompile>
+ <CustomBuild Include="debug\moc_predefs.h.cbt">
+ <FileType>Document</FileType>
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">true</ExcludedFromBuild>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">cl -BxC:\lib\Qt\5.15.10\msvc2019_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E ..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">Generate moc_predefs.h</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\moc_predefs.h;%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="release\moc_predefs.h.cbt">
+ <FileType>Document</FileType>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">cl -BxC:\lib\Qt\5.15.10\msvc2019_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E ..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">Generate moc_predefs.h</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\moc_predefs.h;%(Outputs)</Outputs>
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">true</ExcludedFromBuild>
+ </CustomBuild>
+ <ClCompile Include="debug\qrc_QtProjectV100.cpp">
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="release\qrc_QtProjectV100.cpp">
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClInclude Include="ui_QtProjectV100.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.ui">
+ <FileType>Document</FileType>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">QtProjectV100.ui;C:\lib\Qt\5.15.10\msvc2019_64\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\uic.exe QtProjectV100.ui -o ui_QtProjectV100.h</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">UIC QtProjectV100.ui</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">ui_QtProjectV100.h;%(Outputs)</Outputs>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">QtProjectV100.ui;C:\lib\Qt\5.15.10\msvc2019_64\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\uic.exe QtProjectV100.ui -o ui_QtProjectV100.h</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">UIC QtProjectV100.ui</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">ui_QtProjectV100.h;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.qrc">
+ <FileType>Document</FileType>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">QtProjectV100.qrc;C:\lib\Qt\5.15.10\msvc2019_64\bin\rcc.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\rcc.exe -name QtProjectV100 QtProjectV100.qrc -o release\qrc_QtProjectV100.cpp</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">RCC QtProjectV100.qrc</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\qrc_QtProjectV100.cpp;%(Outputs)</Outputs>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">QtProjectV100.qrc;C:\lib\Qt\5.15.10\msvc2019_64\bin\rcc.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\rcc.exe -name QtProjectV100 QtProjectV100.qrc -o debug\qrc_QtProjectV100.cpp</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">RCC QtProjectV100.qrc</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\qrc_QtProjectV100.cpp;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets" />
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/100/QtProjectV100.vcxproj.filters b/Tests/ProjectFormats/100/QtProjectV100.vcxproj.filters
new file mode 100644
index 00000000..c490bfbd
--- /dev/null
+++ b/Tests/ProjectFormats/100/QtProjectV100.vcxproj.filters
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Form Files">
+ <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+ <Extensions>ui</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ <Filter Include="Form Files">
+ <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+ <Extensions>ui</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ <Filter Include="Generated Files">
+ <UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
+ </Filter>
+ <Filter Include="Generated Files">
+ <UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="QtProjectV100.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="main.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.h">
+ <Filter>Header Files</Filter>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="debug\moc_QtProjectV100.cpp">
+ <Filter>Generated Files</Filter>
+ </ClCompile>
+ <ClCompile Include="release\moc_QtProjectV100.cpp">
+ <Filter>Generated Files</Filter>
+ </ClCompile>
+ <CustomBuild Include="debug\moc_predefs.h.cbt">
+ <Filter>Generated Files</Filter>
+ </CustomBuild>
+ <CustomBuild Include="release\moc_predefs.h.cbt">
+ <Filter>Generated Files</Filter>
+ </CustomBuild>
+ <ClCompile Include="debug\qrc_QtProjectV100.cpp">
+ <Filter>Generated Files</Filter>
+ </ClCompile>
+ <ClCompile Include="release\qrc_QtProjectV100.cpp">
+ <Filter>Generated Files</Filter>
+ </ClCompile>
+ <ClInclude Include="ui_QtProjectV100.h">
+ <Filter>Generated Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.ui">
+ <Filter>Form Files</Filter>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.qrc">
+ <Filter>Resource Files</Filter>
+ </CustomBuild>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/100/main.cpp b/Tests/ProjectFormats/100/main.cpp
new file mode 100644
index 00000000..54498dac
--- /dev/null
+++ b/Tests/ProjectFormats/100/main.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV100.h"
+#include <QtWidgets/QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ QtProjectV100 w;
+ w.show();
+ return a.exec();
+}
diff --git a/Tests/ProjectFormats/200/QtProjectV200.cpp b/Tests/ProjectFormats/200/QtProjectV200.cpp
new file mode 100644
index 00000000..e981ac2e
--- /dev/null
+++ b/Tests/ProjectFormats/200/QtProjectV200.cpp
@@ -0,0 +1,7 @@
+#include "QtProjectV200.h"
+
+QtProjectV200::QtProjectV200(QWidget *parent)
+ : QMainWindow(parent)
+{
+ ui.setupUi(this);
+}
diff --git a/Tests/ProjectFormats/200/QtProjectV200.h b/Tests/ProjectFormats/200/QtProjectV200.h
new file mode 100644
index 00000000..e08cf7a1
--- /dev/null
+++ b/Tests/ProjectFormats/200/QtProjectV200.h
@@ -0,0 +1,15 @@
+#pragma once
+
+#include <QtWidgets/QMainWindow>
+#include "ui_QtProjectV200.h"
+
+class QtProjectV200 : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ QtProjectV200(QWidget *parent = Q_NULLPTR);
+
+private:
+ Ui::QtProjectV200Class ui;
+};
diff --git a/Tests/ProjectFormats/200/QtProjectV200.qrc b/Tests/ProjectFormats/200/QtProjectV200.qrc
new file mode 100644
index 00000000..88060726
--- /dev/null
+++ b/Tests/ProjectFormats/200/QtProjectV200.qrc
@@ -0,0 +1,4 @@
+<RCC>
+ <qresource prefix="QtProjectV200">
+ </qresource>
+</RCC>
diff --git a/Tests/ProjectFormats/200/QtProjectV200.sln b/Tests/ProjectFormats/200/QtProjectV200.sln
new file mode 100644
index 00000000..8400b8de
--- /dev/null
+++ b/Tests/ProjectFormats/200/QtProjectV200.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtProjectV200", "QtProjectV200.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Tests/ProjectFormats/200/QtProjectV200.ui b/Tests/ProjectFormats/200/QtProjectV200.ui
new file mode 100644
index 00000000..1a8e3083
--- /dev/null
+++ b/Tests/ProjectFormats/200/QtProjectV200.ui
@@ -0,0 +1,29 @@
+<UI version="4.0" >
+ <class>QtProjectV200Class</class>
+ <widget class="QMainWindow" name="QtProjectV200Class" >
+ <property name="objectName" >
+ <string notr="true">QtProjectV200Class</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>QtProjectV200</string>
+ </property>
+ <widget class="QMenuBar" name="menuBar" />
+ <widget class="QToolBar" name="mainToolBar" />
+ <widget class="QWidget" name="centralWidget" />
+ <widget class="QStatusBar" name="statusBar" />
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources>
+ <include location="QtProjectV200.qrc"/>
+ </resources>
+ <connections/>
+</UI>
diff --git a/Tests/ProjectFormats/200/QtProjectV200.vcxproj b/Tests/ProjectFormats/200/QtProjectV200.vcxproj
new file mode 100644
index 00000000..d37ace53
--- /dev/null
+++ b/Tests/ProjectFormats/200/QtProjectV200.vcxproj
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
+ <Keyword>Qt4VSv1.0</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" />
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <Optimization>Disabled</Optimization>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat />
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="GeneratedFiles\Debug\moc_QtProjectV200.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="GeneratedFiles\qrc_QtProjectV200.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ </PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ </PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="GeneratedFiles\Release\moc_QtProjectV200.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="main.cpp" />
+ <ClCompile Include="QtProjectV200.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV200.h">
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing QtProjectV200.h...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets"</Command>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing QtProjectV200.h...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets"</Command>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV200.ui">
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="GeneratedFiles\ui_QtProjectV200.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV200.qrc">
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Rcc%27ing %(Identity)...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Rcc%27ing %(Identity)...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>
+ </CustomBuild>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_x64="msvc2019_64" MocOptions="" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/200/QtProjectV200.vcxproj.filters b/Tests/ProjectFormats/200/QtProjectV200.vcxproj.filters
new file mode 100644
index 00000000..9181b2ea
--- /dev/null
+++ b/Tests/ProjectFormats/200/QtProjectV200.vcxproj.filters
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ <Filter Include="Form Files">
+ <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+ <Extensions>ui</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ <Filter Include="Generated Files">
+ <UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
+ <Extensions>moc;h;cpp</Extensions>
+ <SourceControlFiles>False</SourceControlFiles>
+ </Filter>
+ <Filter Include="Generated Files\Debug">
+ <UniqueIdentifier>{61dba4ef-747b-4196-a5ef-706b88f740b6}</UniqueIdentifier>
+ <Extensions>cpp;moc</Extensions>
+ <SourceControlFiles>False</SourceControlFiles>
+ </Filter>
+ <Filter Include="Generated Files\Release">
+ <UniqueIdentifier>{52c84570-5db2-40f2-bcf4-841a0b66e6ee}</UniqueIdentifier>
+ <Extensions>cpp;moc</Extensions>
+ <SourceControlFiles>False</SourceControlFiles>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="QtProjectV200.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GeneratedFiles\Debug\moc_QtProjectV200.cpp">
+ <Filter>Generated Files\Debug</Filter>
+ </ClCompile>
+ <ClCompile Include="GeneratedFiles\Release\moc_QtProjectV200.cpp">
+ <Filter>Generated Files\Release</Filter>
+ </ClCompile>
+ <ClCompile Include="GeneratedFiles\qrc_QtProjectV200.cpp">
+ <Filter>Generated Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV200.h">
+ <Filter>Header Files</Filter>
+ </CustomBuild>
+ <CustomBuild Include="QtProjectV200.ui">
+ <Filter>Form Files</Filter>
+ </CustomBuild>
+ <CustomBuild Include="QtProjectV200.qrc">
+ <Filter>Resource Files</Filter>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="GeneratedFiles\ui_QtProjectV200.h">
+ <Filter>Generated Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/200/main.cpp b/Tests/ProjectFormats/200/main.cpp
new file mode 100644
index 00000000..43929941
--- /dev/null
+++ b/Tests/ProjectFormats/200/main.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV200.h"
+#include <QtWidgets/QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ QtProjectV200 w;
+ w.show();
+ return a.exec();
+}
diff --git a/Tests/ProjectFormats/300/QtProjectV300.cpp b/Tests/ProjectFormats/300/QtProjectV300.cpp
new file mode 100644
index 00000000..f43f0d09
--- /dev/null
+++ b/Tests/ProjectFormats/300/QtProjectV300.cpp
@@ -0,0 +1,7 @@
+#include "QtProjectV300.h"
+
+QtProjectV300::QtProjectV300(QWidget *parent)
+ : QMainWindow(parent)
+{
+ ui.setupUi(this);
+}
diff --git a/Tests/ProjectFormats/300/QtProjectV300.h b/Tests/ProjectFormats/300/QtProjectV300.h
new file mode 100644
index 00000000..88f572ff
--- /dev/null
+++ b/Tests/ProjectFormats/300/QtProjectV300.h
@@ -0,0 +1,15 @@
+#pragma once
+
+#include <QtWidgets/QMainWindow>
+#include "ui_QtProjectV300.h"
+
+class QtProjectV300 : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ QtProjectV300(QWidget *parent = Q_NULLPTR);
+
+private:
+ Ui::QtProjectV300Class ui;
+};
diff --git a/Tests/ProjectFormats/300/QtProjectV300.qrc b/Tests/ProjectFormats/300/QtProjectV300.qrc
new file mode 100644
index 00000000..bbaabea0
--- /dev/null
+++ b/Tests/ProjectFormats/300/QtProjectV300.qrc
@@ -0,0 +1,4 @@
+<RCC>
+ <qresource prefix="QtProjectV300">
+ </qresource>
+</RCC>
diff --git a/Tests/ProjectFormats/300/QtProjectV300.sln b/Tests/ProjectFormats/300/QtProjectV300.sln
new file mode 100644
index 00000000..3e08c2b6
--- /dev/null
+++ b/Tests/ProjectFormats/300/QtProjectV300.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.32106.194
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtProjectV300", "QtProjectV300.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {862404ED-03D5-41D1-B5BB-72FD8BD05038}
+ EndGlobalSection
+EndGlobal
diff --git a/Tests/ProjectFormats/300/QtProjectV300.ui b/Tests/ProjectFormats/300/QtProjectV300.ui
new file mode 100644
index 00000000..e40c6145
--- /dev/null
+++ b/Tests/ProjectFormats/300/QtProjectV300.ui
@@ -0,0 +1,29 @@
+<UI version="4.0" >
+ <class>QtProjectV300Class</class>
+ <widget class="QMainWindow" name="QtProjectV300Class" >
+ <property name="objectName" >
+ <string notr="true">QtProjectV300Class</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>QtProjectV300</string>
+ </property>
+ <widget class="QMenuBar" name="menuBar" />
+ <widget class="QToolBar" name="mainToolBar" />
+ <widget class="QWidget" name="centralWidget" />
+ <widget class="QStatusBar" name="statusBar" />
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources>
+ <include location="QtProjectV300.qrc"/>
+ </resources>
+ <connections/>
+</UI>
diff --git a/Tests/ProjectFormats/300/QtProjectV300.vcxproj b/Tests/ProjectFormats/300/QtProjectV300.vcxproj
new file mode 100644
index 00000000..cfd36075
--- /dev/null
+++ b/Tests/ProjectFormats/300/QtProjectV300.vcxproj
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
+ <Keyword>QtVS_v300</Keyword>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ <QtInstall>msvc2019_64</QtInstall>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ <QtInstall>msvc2019_64</QtInstall>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">
+ <QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+ <Import Project="$(QtMsBuild)\qt.props" />
+ </ImportGroup>
+ <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <QtModules>core;gui;widgets</QtModules>
+ </PropertyGroup>
+ <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <QtModules>core;gui;widgets</QtModules>
+ </PropertyGroup>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <Optimization>Disabled</Optimization>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat />
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp" />
+ <ClCompile Include="QtProjectV300.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtMoc Include="QtProjectV300.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtUic Include="QtProjectV300.ui" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV300.qrc" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/300/QtProjectV300.vcxproj.filters b/Tests/ProjectFormats/300/QtProjectV300.vcxproj.filters
new file mode 100644
index 00000000..fd3de97b
--- /dev/null
+++ b/Tests/ProjectFormats/300/QtProjectV300.vcxproj.filters
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ <Filter Include="Form Files">
+ <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+ <Extensions>ui</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="QtProjectV300.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <QtMoc Include="QtProjectV300.h">
+ <Filter>Header Files</Filter>
+ </QtMoc>
+ </ItemGroup>
+ <ItemGroup>
+ <QtUic Include="QtProjectV300.ui">
+ <Filter>Form Files</Filter>
+ </QtUic>
+ </ItemGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV300.qrc">
+ <Filter>Resource Files</Filter>
+ </QtRcc>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/300/main.cpp b/Tests/ProjectFormats/300/main.cpp
new file mode 100644
index 00000000..1afff7f9
--- /dev/null
+++ b/Tests/ProjectFormats/300/main.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV300.h"
+#include <QtWidgets/QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ QtProjectV300 w;
+ w.show();
+ return a.exec();
+}
diff --git a/Tests/ProjectFormats/301/QtProjectV301.cpp b/Tests/ProjectFormats/301/QtProjectV301.cpp
new file mode 100644
index 00000000..1bf0af47
--- /dev/null
+++ b/Tests/ProjectFormats/301/QtProjectV301.cpp
@@ -0,0 +1,7 @@
+#include "QtProjectV301.h"
+
+QtProjectV301::QtProjectV301(QWidget *parent)
+ : QMainWindow(parent)
+{
+ ui.setupUi(this);
+}
diff --git a/Tests/ProjectFormats/301/QtProjectV301.h b/Tests/ProjectFormats/301/QtProjectV301.h
new file mode 100644
index 00000000..c0b0c80c
--- /dev/null
+++ b/Tests/ProjectFormats/301/QtProjectV301.h
@@ -0,0 +1,15 @@
+#pragma once
+
+#include <QtWidgets/QMainWindow>
+#include "ui_QtProjectV301.h"
+
+class QtProjectV301 : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ QtProjectV301(QWidget *parent = Q_NULLPTR);
+
+private:
+ Ui::QtProjectV301Class ui;
+};
diff --git a/Tests/ProjectFormats/301/QtProjectV301.qrc b/Tests/ProjectFormats/301/QtProjectV301.qrc
new file mode 100644
index 00000000..558c7ff3
--- /dev/null
+++ b/Tests/ProjectFormats/301/QtProjectV301.qrc
@@ -0,0 +1,4 @@
+<RCC>
+ <qresource prefix="QtProjectV301">
+ </qresource>
+</RCC>
diff --git a/Tests/ProjectFormats/301/QtProjectV301.sln b/Tests/ProjectFormats/301/QtProjectV301.sln
new file mode 100644
index 00000000..2e3a59fd
--- /dev/null
+++ b/Tests/ProjectFormats/301/QtProjectV301.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.32106.194
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtProjectV301", "QtProjectV301.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64
+ {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {AD220BEA-2E4C-4346-9387-E61F9D9E6181}
+ EndGlobalSection
+EndGlobal
diff --git a/Tests/ProjectFormats/301/QtProjectV301.ui b/Tests/ProjectFormats/301/QtProjectV301.ui
new file mode 100644
index 00000000..4c2e42c8
--- /dev/null
+++ b/Tests/ProjectFormats/301/QtProjectV301.ui
@@ -0,0 +1,29 @@
+<UI version="4.0" >
+ <class>QtProjectV301Class</class>
+ <widget class="QMainWindow" name="QtProjectV301Class" >
+ <property name="objectName" >
+ <string notr="true">QtProjectV301Class</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>QtProjectV301</string>
+ </property>
+ <widget class="QMenuBar" name="menuBar" />
+ <widget class="QToolBar" name="mainToolBar" />
+ <widget class="QWidget" name="centralWidget" />
+ <widget class="QStatusBar" name="statusBar" />
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources>
+ <include location="QtProjectV301.qrc"/>
+ </resources>
+ <connections/>
+</UI>
diff --git a/Tests/ProjectFormats/301/QtProjectV301.vcxproj b/Tests/ProjectFormats/301/QtProjectV301.vcxproj
new file mode 100644
index 00000000..1315fa0a
--- /dev/null
+++ b/Tests/ProjectFormats/301/QtProjectV301.vcxproj
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
+ <Keyword>QtVS_v301</Keyword>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">
+ <QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+ <Import Project="$(QtMsBuild)\qt_defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ </PropertyGroup>
+ <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ </PropertyGroup>
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+ <Import Project="$(QtMsBuild)\qt.props" />
+ </ImportGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <Optimization>Disabled</Optimization>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat />
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp" />
+ <ClCompile Include="QtProjectV301.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtMoc Include="QtProjectV301.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtUic Include="QtProjectV301.ui" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV301.qrc" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/301/QtProjectV301.vcxproj.filters b/Tests/ProjectFormats/301/QtProjectV301.vcxproj.filters
new file mode 100644
index 00000000..4856e14e
--- /dev/null
+++ b/Tests/ProjectFormats/301/QtProjectV301.vcxproj.filters
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ <Filter Include="Form Files">
+ <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+ <Extensions>ui</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="QtProjectV301.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <QtMoc Include="QtProjectV301.h">
+ <Filter>Header Files</Filter>
+ </QtMoc>
+ </ItemGroup>
+ <ItemGroup>
+ <QtUic Include="QtProjectV301.ui">
+ <Filter>Form Files</Filter>
+ </QtUic>
+ </ItemGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV301.qrc">
+ <Filter>Resource Files</Filter>
+ </QtRcc>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/301/main.cpp b/Tests/ProjectFormats/301/main.cpp
new file mode 100644
index 00000000..01358949
--- /dev/null
+++ b/Tests/ProjectFormats/301/main.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV301.h"
+#include <QtWidgets/QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ QtProjectV301 w;
+ w.show();
+ return a.exec();
+}
diff --git a/Tests/ProjectFormats/302/QtProjectV302.cpp b/Tests/ProjectFormats/302/QtProjectV302.cpp
new file mode 100644
index 00000000..e8fd1604
--- /dev/null
+++ b/Tests/ProjectFormats/302/QtProjectV302.cpp
@@ -0,0 +1,7 @@
+#include "QtProjectV302.h"
+
+QtProjectV302::QtProjectV302(QWidget *parent)
+ : QMainWindow(parent)
+{
+ ui.setupUi(this);
+}
diff --git a/Tests/ProjectFormats/302/QtProjectV302.h b/Tests/ProjectFormats/302/QtProjectV302.h
new file mode 100644
index 00000000..60b21c9b
--- /dev/null
+++ b/Tests/ProjectFormats/302/QtProjectV302.h
@@ -0,0 +1,15 @@
+#pragma once
+
+#include <QtWidgets/QMainWindow>
+#include "ui_QtProjectV302.h"
+
+class QtProjectV302 : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ QtProjectV302(QWidget *parent = Q_NULLPTR);
+
+private:
+ Ui::QtProjectV302Class ui;
+};
diff --git a/Tests/ProjectFormats/302/QtProjectV302.qrc b/Tests/ProjectFormats/302/QtProjectV302.qrc
new file mode 100644
index 00000000..8d973f71
--- /dev/null
+++ b/Tests/ProjectFormats/302/QtProjectV302.qrc
@@ -0,0 +1,4 @@
+<RCC>
+ <qresource prefix="QtProjectV302">
+ </qresource>
+</RCC>
diff --git a/Tests/ProjectFormats/302/QtProjectV302.sln b/Tests/ProjectFormats/302/QtProjectV302.sln
new file mode 100644
index 00000000..d9a55404
--- /dev/null
+++ b/Tests/ProjectFormats/302/QtProjectV302.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.32106.194
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtProjectV302", "QtProjectV302.vcxproj", "{10A7CC05-6663-4C63-906F-E56EDF8218CA}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {10A7CC05-6663-4C63-906F-E56EDF8218CA}.Debug|x64.ActiveCfg = Debug|x64
+ {10A7CC05-6663-4C63-906F-E56EDF8218CA}.Debug|x64.Build.0 = Debug|x64
+ {10A7CC05-6663-4C63-906F-E56EDF8218CA}.Release|x64.ActiveCfg = Release|x64
+ {10A7CC05-6663-4C63-906F-E56EDF8218CA}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {4FB5DF86-4C19-4C53-B0CC-EAA09A44D321}
+ EndGlobalSection
+EndGlobal
diff --git a/Tests/ProjectFormats/302/QtProjectV302.ui b/Tests/ProjectFormats/302/QtProjectV302.ui
new file mode 100644
index 00000000..dc96819c
--- /dev/null
+++ b/Tests/ProjectFormats/302/QtProjectV302.ui
@@ -0,0 +1,28 @@
+<UI version="4.0" >
+ <class>QtProjectV302Class</class>
+ <widget class="QMainWindow" name="QtProjectV302Class" >
+ <property name="objectName" >
+ <string notr="true">QtProjectV302Class</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>QtProjectV302</string>
+ </property> <widget class="QMenuBar" name="menuBar" />
+ <widget class="QToolBar" name="mainToolBar" />
+ <widget class="QWidget" name="centralWidget" />
+ <widget class="QStatusBar" name="statusBar" />
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources>
+ <include location="QtProjectV302.qrc"/>
+ </resources>
+ <connections/>
+</UI>
diff --git a/Tests/ProjectFormats/302/QtProjectV302.vcxproj b/Tests/ProjectFormats/302/QtProjectV302.vcxproj
new file mode 100644
index 00000000..198e3937
--- /dev/null
+++ b/Tests/ProjectFormats/302/QtProjectV302.vcxproj
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{10A7CC05-6663-4C63-906F-E56EDF8218CA}</ProjectGuid>
+ <Keyword>QtVS_v302</Keyword>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')"
+ >$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <Target Name="QtMsBuildNotFound"
+ BeforeTargets="CustomBuild;ClCompile"
+ Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High"
+ Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+ <Import Project="$(QtMsBuild)\qt_defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>debug</QtBuildConfig>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>release</QtBuildConfig>
+ </PropertyGroup>
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+ <Import Project="$(QtMsBuild)\qt.props" />
+ </ImportGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <Optimization>MaxSpeed</Optimization>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV302.qrc"/>
+ <QtUic Include="QtProjectV302.ui"/>
+ <QtMoc Include="QtProjectV302.h"/>
+ <ClCompile Include="QtProjectV302.cpp"/>
+ <ClCompile Include="main.cpp"/>
+
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/302/QtProjectV302.vcxproj.filters b/Tests/ProjectFormats/302/QtProjectV302.vcxproj.filters
new file mode 100644
index 00000000..0d66a94e
--- /dev/null
+++ b/Tests/ProjectFormats/302/QtProjectV302.vcxproj.filters
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ <Filter Include="Form Files">
+ <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+ <Extensions>ui</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <QtUic Include="QtProjectV302.ui">
+ <Filter>Resource Files</Filter>
+ </QtUic>
+ <QtMoc Include="QtProjectV302.h">
+ <Filter>Header Files</Filter>
+ </QtMoc>
+ <ClCompile Include="QtProjectV302.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ResourceCompile Include="$pro_name$.rc">
+ </ResourceCompile>
+ <None Include="$pro_name$.ico">
+ <Filter>Resource Files</Filter>
+ </None>
+ <None Include="$pro_name$.def">
+ <Filter>Resource Files</Filter>
+ </None>
+
+ </ItemGroup>
+</Project>
diff --git a/Tests/ProjectFormats/302/main.cpp b/Tests/ProjectFormats/302/main.cpp
new file mode 100644
index 00000000..881b0286
--- /dev/null
+++ b/Tests/ProjectFormats/302/main.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV302.h"
+#include <QtWidgets/QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ QtProjectV302 w;
+ w.show();
+ return a.exec();
+}
diff --git a/Tests/ProjectFormats/303/QtProjectV303.cpp b/Tests/ProjectFormats/303/QtProjectV303.cpp
new file mode 100644
index 00000000..11c843af
--- /dev/null
+++ b/Tests/ProjectFormats/303/QtProjectV303.cpp
@@ -0,0 +1,7 @@
+#include "QtProjectV303.h"
+
+QtProjectV303::QtProjectV303(QWidget *parent)
+ : QMainWindow(parent)
+{
+ ui.setupUi(this);
+}
diff --git a/Tests/ProjectFormats/303/QtProjectV303.h b/Tests/ProjectFormats/303/QtProjectV303.h
new file mode 100644
index 00000000..e4bbe142
--- /dev/null
+++ b/Tests/ProjectFormats/303/QtProjectV303.h
@@ -0,0 +1,15 @@
+#pragma once
+
+#include <QtWidgets/QMainWindow>
+#include "ui_QtProjectV303.h"
+
+class QtProjectV303 : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ QtProjectV303(QWidget *parent = Q_NULLPTR);
+
+private:
+ Ui::QtProjectV303Class ui;
+};
diff --git a/Tests/ProjectFormats/303/QtProjectV303.qrc b/Tests/ProjectFormats/303/QtProjectV303.qrc
new file mode 100644
index 00000000..28b2adce
--- /dev/null
+++ b/Tests/ProjectFormats/303/QtProjectV303.qrc
@@ -0,0 +1,4 @@
+<RCC>
+ <qresource prefix="QtProjectV303">
+ </qresource>
+</RCC>
diff --git a/Tests/ProjectFormats/303/QtProjectV303.sln b/Tests/ProjectFormats/303/QtProjectV303.sln
new file mode 100644
index 00000000..a890641a
--- /dev/null
+++ b/Tests/ProjectFormats/303/QtProjectV303.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.32106.194
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtProjectV303", "QtProjectV303.vcxproj", "{812E4050-B861-4918-A0DC-53053B848372}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {812E4050-B861-4918-A0DC-53053B848372}.Debug|x64.ActiveCfg = Debug|x64
+ {812E4050-B861-4918-A0DC-53053B848372}.Debug|x64.Build.0 = Debug|x64
+ {812E4050-B861-4918-A0DC-53053B848372}.Release|x64.ActiveCfg = Release|x64
+ {812E4050-B861-4918-A0DC-53053B848372}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {7F50220B-20CF-415F-80A5-DA078F8F82BF}
+ EndGlobalSection
+EndGlobal
diff --git a/Tests/ProjectFormats/303/QtProjectV303.ui b/Tests/ProjectFormats/303/QtProjectV303.ui
new file mode 100644
index 00000000..8a1ec681
--- /dev/null
+++ b/Tests/ProjectFormats/303/QtProjectV303.ui
@@ -0,0 +1,28 @@
+<UI version="4.0" >
+ <class>QtProjectV303Class</class>
+ <widget class="QMainWindow" name="QtProjectV303Class" >
+ <property name="objectName" >
+ <string notr="true">QtProjectV303Class</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>QtProjectV303</string>
+ </property> <widget class="QMenuBar" name="menuBar" />
+ <widget class="QToolBar" name="mainToolBar" />
+ <widget class="QWidget" name="centralWidget" />
+ <widget class="QStatusBar" name="statusBar" />
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources>
+ <include location="QtProjectV303.qrc"/>
+ </resources>
+ <connections/>
+</UI>
diff --git a/Tests/ProjectFormats/303/QtProjectV303.vcxproj b/Tests/ProjectFormats/303/QtProjectV303.vcxproj
new file mode 100644
index 00000000..566deb23
--- /dev/null
+++ b/Tests/ProjectFormats/303/QtProjectV303.vcxproj
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{812E4050-B861-4918-A0DC-53053B848372}</ProjectGuid>
+ <Keyword>QtVS_v303</Keyword>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')"
+ >$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <Target Name="QtMsBuildNotFound"
+ BeforeTargets="CustomBuild;ClCompile"
+ Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High"
+ Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+ <Import Project="$(QtMsBuild)\qt_defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>debug</QtBuildConfig>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>release</QtBuildConfig>
+ </PropertyGroup>
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+ <Import Project="$(QtMsBuild)\qt.props" />
+ </ImportGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <Optimization>MaxSpeed</Optimization>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV303.qrc"/>
+ <QtUic Include="QtProjectV303.ui"/>
+ <QtMoc Include="QtProjectV303.h"/>
+ <ClCompile Include="QtProjectV303.cpp"/>
+ <ClCompile Include="main.cpp"/>
+
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/303/QtProjectV303.vcxproj.filters b/Tests/ProjectFormats/303/QtProjectV303.vcxproj.filters
new file mode 100644
index 00000000..114f0fa6
--- /dev/null
+++ b/Tests/ProjectFormats/303/QtProjectV303.vcxproj.filters
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ <Filter Include="Form Files">
+ <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+ <Extensions>ui</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
+ <Extensions>qrc;*</Extensions>
+ <ParseFiles>false</ParseFiles>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV303.qrc">
+ <Filter>Resource Files</Filter>
+ </QtRcc>
+ <QtUic Include="QtProjectV303.ui">
+ <Filter>Resource Files</Filter>
+ </QtUic>
+ <QtMoc Include="QtProjectV303.h">
+ <Filter>Header Files</Filter>
+ </QtMoc>
+ <ClCompile Include="QtProjectV303.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ResourceCompile Include="$pro_name$.rc">
+ </ResourceCompile>
+ <None Include="$pro_name$.ico">
+ <Filter>Resource Files</Filter>
+ </None>
+ <None Include="$pro_name$.def">
+ <Filter>Resource Files</Filter>
+ </None>
+
+ </ItemGroup>
+</Project>
diff --git a/Tests/ProjectFormats/303/main.cpp b/Tests/ProjectFormats/303/main.cpp
new file mode 100644
index 00000000..61ed4377
--- /dev/null
+++ b/Tests/ProjectFormats/303/main.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV303.h"
+#include <QtWidgets/QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ QtProjectV303 w;
+ w.show();
+ return a.exec();
+}
diff --git a/Tests/ProjectFormats/304/QtProjectV304.cpp b/Tests/ProjectFormats/304/QtProjectV304.cpp
new file mode 100644
index 00000000..f5a8a765
--- /dev/null
+++ b/Tests/ProjectFormats/304/QtProjectV304.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV304.h"
+
+QtProjectV304::QtProjectV304(QWidget *parent)
+ : QMainWindow(parent)
+{
+ ui.setupUi(this);
+}
+
+QtProjectV304::~QtProjectV304()
+{}
diff --git a/Tests/ProjectFormats/304/QtProjectV304.h b/Tests/ProjectFormats/304/QtProjectV304.h
new file mode 100644
index 00000000..f37b41da
--- /dev/null
+++ b/Tests/ProjectFormats/304/QtProjectV304.h
@@ -0,0 +1,16 @@
+#pragma once
+
+#include <QtWidgets/QMainWindow>
+#include "ui_QtProjectV304.h"
+
+class QtProjectV304 : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ QtProjectV304(QWidget *parent = nullptr);
+ ~QtProjectV304();
+
+private:
+ Ui::QtProjectV304Class ui;
+};
diff --git a/Tests/ProjectFormats/304/QtProjectV304.qrc b/Tests/ProjectFormats/304/QtProjectV304.qrc
new file mode 100644
index 00000000..9b65fd8c
--- /dev/null
+++ b/Tests/ProjectFormats/304/QtProjectV304.qrc
@@ -0,0 +1,4 @@
+<RCC>
+ <qresource prefix="QtProjectV304">
+ </qresource>
+</RCC>
diff --git a/Tests/ProjectFormats/304/QtProjectV304.sln b/Tests/ProjectFormats/304/QtProjectV304.sln
new file mode 100644
index 00000000..33cce5d6
--- /dev/null
+++ b/Tests/ProjectFormats/304/QtProjectV304.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31919.166
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QtProjectV304", "QtProjectV304.vcxproj", "{923588D5-2AA5-4B0F-8110-56BEEBB531D5}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {923588D5-2AA5-4B0F-8110-56BEEBB531D5}.Debug|x64.ActiveCfg = Debug|x64
+ {923588D5-2AA5-4B0F-8110-56BEEBB531D5}.Debug|x64.Build.0 = Debug|x64
+ {923588D5-2AA5-4B0F-8110-56BEEBB531D5}.Release|x64.ActiveCfg = Release|x64
+ {923588D5-2AA5-4B0F-8110-56BEEBB531D5}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {AE3F49BF-2193-402A-AA0C-E77FF9B63160}
+ EndGlobalSection
+EndGlobal
diff --git a/Tests/ProjectFormats/304/QtProjectV304.ui b/Tests/ProjectFormats/304/QtProjectV304.ui
new file mode 100644
index 00000000..96147206
--- /dev/null
+++ b/Tests/ProjectFormats/304/QtProjectV304.ui
@@ -0,0 +1,28 @@
+<UI version="4.0" >
+ <class>QtProjectV304Class</class>
+ <widget class="QMainWindow" name="QtProjectV304Class" >
+ <property name="objectName" >
+ <string notr="true">QtProjectV304Class</string>
+ </property>
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>QtProjectV304</string>
+ </property> <widget class="QMenuBar" name="menuBar" />
+ <widget class="QToolBar" name="mainToolBar" />
+ <widget class="QWidget" name="centralWidget" />
+ <widget class="QStatusBar" name="statusBar" />
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources>
+ <include location="QtProjectV304.qrc"/>
+ </resources>
+ <connections/>
+</UI>
diff --git a/Tests/ProjectFormats/304/QtProjectV304.vcxproj b/Tests/ProjectFormats/304/QtProjectV304.vcxproj
new file mode 100644
index 00000000..38fafcdd
--- /dev/null
+++ b/Tests/ProjectFormats/304/QtProjectV304.vcxproj
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{923588D5-2AA5-4B0F-8110-56BEEBB531D5}</ProjectGuid>
+ <Keyword>QtVS_v304</Keyword>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')"
+ >$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v143</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v143</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+ <Import Project="$(QtMsBuild)\qt_defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
+ <QtInstall>5.15.10_msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>debug</QtBuildConfig>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
+ <QtInstall>5.15.10_msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>release</QtBuildConfig>
+ </PropertyGroup>
+ <Target Name="QtMsBuildNotFound"
+ BeforeTargets="CustomBuild;ClCompile"
+ Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High"
+ Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(QtMsBuild)\Qt.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(QtMsBuild)\Qt.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <Optimization>MaxSpeed</Optimization>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV304.qrc"/>
+ <QtUic Include="QtProjectV304.ui"/>
+ <QtMoc Include="QtProjectV304.h"/>
+ <ClCompile Include="QtProjectV304.cpp"/>
+ <ClCompile Include="main.cpp"/>
+
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/Tests/ProjectFormats/304/QtProjectV304.vcxproj.filters b/Tests/ProjectFormats/304/QtProjectV304.vcxproj.filters
new file mode 100644
index 00000000..026c6961
--- /dev/null
+++ b/Tests/ProjectFormats/304/QtProjectV304.vcxproj.filters
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>qml;cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>qrc;rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ <Filter Include="Form Files">
+ <UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
+ <Extensions>ui</Extensions>
+ </Filter>
+ <Filter Include="Translation Files">
+ <UniqueIdentifier>{639EADAA-A684-42e4-A9AD-28FC9BCB8F7C}</UniqueIdentifier>
+ <Extensions>ts</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV304.qrc">
+ <Filter>Resource Files</Filter>
+ </QtRcc>
+ <QtUic Include="QtProjectV304.ui">
+ <Filter>Form Files</Filter>
+ </QtUic>
+ <QtMoc Include="QtProjectV304.h">
+ <Filter>Header Files</Filter>
+ </QtMoc>
+ <ClCompile Include="QtProjectV304.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ResourceCompile Include="$pro_name$.rc">
+ </ResourceCompile>
+ <None Include="$pro_name$.ico">
+ <Filter>Resource Files</Filter>
+ </None>
+ <None Include="$pro_name$.def">
+ <Filter>Resource Files</Filter>
+ </None>
+
+ </ItemGroup>
+</Project>
diff --git a/Tests/ProjectFormats/304/main.cpp b/Tests/ProjectFormats/304/main.cpp
new file mode 100644
index 00000000..dab919d1
--- /dev/null
+++ b/Tests/ProjectFormats/304/main.cpp
@@ -0,0 +1,10 @@
+#include "QtProjectV304.h"
+#include <QtWidgets/QApplication>
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ QtProjectV304 w;
+ w.show();
+ return a.exec();
+}
diff --git a/Tests/ProjectFormats/ProjectFormats.md b/Tests/ProjectFormats/ProjectFormats.md
new file mode 100644
index 00000000..c09a3376
--- /dev/null
+++ b/Tests/ProjectFormats/ProjectFormats.md
@@ -0,0 +1,1324 @@
+# Qt VS Tools - Project format versions
+
+## Contents
+
+* [Project format v1.0](#project-format-v1.0)
+* [Project format v2.0](#project-format-v2.0)
+* [Project format v3.0](#project-format-v3.0)
+* [Project format v3.1](#project-format-v3.1)
+* [Project format v3.2](#project-format-v3.2)
+* [Project format v3.3](#project-format-v3.3)
+* [Project format v3.4](#project-format-v3.4)
+* [Example projects](#example-projects)
+ * [v1.0](#v1.0)
+ * [v2.0](#v2.0)
+ * [v3.0](#v3.0)
+ * [v3.1](#v3.1)
+ * [v3.2](#v3.2)
+ * [v3.3](#v3.3)
+ * [v3.4](#v3.4)
+
+## Project format v1.0
+
+Output of `qmake` using the VC template:
+
+ qmake -tp vc
+
+### Project file outline
+
+- ItemGroup **ProjectConfiguration**
+- PropertyGroup **Globals**
+ - Keyword **Qt4VSv1.0**
+- Import **Microsoft.Cpp.Default.props**
+- PropertyGroup **Configuration**
+- Import **Microsoft.Cpp.props**
+- ImportGroup **ExtensionSettings**
+- ImportGroup **PropertySheets**
+- PropertyGroup **UserMacros**
+- PropertyGroup
+ - Property **OutDir**
+ - Property **IntDir**
+ - ...
+- ItemDefinitionGroup
+ - **ClCompile**
+ - **Link**
+ - ...
+- ItemGroup
+ - **CustomBuild** (*MOC header*)
+ - *N* x **ClCompile** (*MOC-generated CPP source*), where N = number of configurations
+ - (*N* - 1) x **ExcludedFromBuild** (*configuration*)
+ - **CustomBuild** (*QRC resources*)
+ - *N* x **ClCompile** (*RCC-generated CPP source*), where N = number of configurations
+ - (*N* - 1) x **ExcludedFromBuild** (*configuration*)
+ - **CustomBuild** (*UI form*)
+ - **ClInclude** (*UIC-generated header*)
+ - **ClInclude** (*other headers*)
+ - **ClCompile** (*other CPP sources*)
+ - ...
+- Import **Microsoft.Cpp.targets**
+- ImportGroup **ExtensionTargets**
+
+## Project format v2.0
+**[Qt Visual Studio Tools v2.1.1](https://download.qt.io/official_releases/vsaddin/2.1.1/)**
+
+### Project file outline
+
+- ItemGroup **ProjectConfiguration**
+- PropertyGroup **Globals**
+ - Keyword **Qt4VSv1.0**
+- Import **Microsoft.Cpp.Default.props**
+- PropertyGroup **Configuration**
+- Import **Microsoft.Cpp.props**
+- ImportGroup **ExtensionSettings**
+- ImportGroup **Shared**
+- ImportGroup **PropertySheets**
+- PropertyGroup **UserMacros**
+- PropertyGroup
+ - Property **OutDir**
+ - Property **IntDir**
+ - ...
+- ItemDefinitionGroup
+ - **ClCompile**
+ - **Link**
+ - ...
+- ItemGroup
+ - **CustomBuild** (*MOC header*)
+ - *N* x **ClCompile** (*MOC-generated CPP source*), where N = number of configurations
+ - (*N* - 1) x **ExcludedFromBuild** (*configuration*)
+ - **CustomBuild** (*QRC resources*)
+ - *N* x **ClCompile** (*RCC-generated CPP source*), where N = number of configurations
+ - (*N* - 1) x **ExcludedFromBuild** (*configuration*)
+ - **CustomBuild** (*UI form*)
+ - **ClInclude** (*UIC-generated header*)
+ - **ClInclude** (*other headers*)
+ - **ClCompile** (*other CPP sources*)
+ - ...
+- Import **Microsoft.Cpp.targets**
+- ImportGroup **ExtensionTargets**
+- ProjectExtensions / VisualStudio
+ - UserProperties
+ - **MocDir**
+ - **UicDir**
+ - **RccDir**
+ - **lupdateOptions**
+ - **lupdateOnBuild**
+ - **lreleaseOptions**
+ - **Qt5Version_x0020_x64**
+ - **MocOptions**
+
+## Project format v3.0
+**[Qt Visual Studio Tools v2.4.0](https://download.qt.io/official_releases/vsaddin/2.4.0/)**
+
+**`Edit Qt settings in property pages (V3 format)`**
+`commit 805e9ed6f14fb0a4d9dd8ce6a23631ca215b304a`
+`Author: Miguel Costa <miguel.costa@qt.io>`
+`Date: Thu Jun 20 13:54:49 2019 +0200`
+
+ Qt settings are now configured in the project property pages. This
+ includes the possibility to have different versions of the Qt settings
+ per project configuration. Previously, the Qt settings were edited in a
+ custom dialog, allowing only a single version of the settings that
+ would apply to all project configurations.
+
+ This change breaks the current version of the support for Qt VS Tools
+ projects. A new version (V3) of the project format is introduced. This
+ new format allows Qt settings to be stored in the same way as other
+ project properties. Previous versions will still work and a later change
+ will introduce the possibility to convert from previous versions to V3.
+
+### Project file outline
+
+- ItemGroup **ProjectConfiguration**
+- PropertyGroup **Globals**
+ - Keyword **QtVS_v300**
+- Import **Microsoft.Cpp.Default.props**
+- PropertyGroup **Configuration**
+- Import **Microsoft.Cpp.props**
+- PropertyGroup **if %QTMSBUILD% undefined**
+ - Property **QtMsBuild** = $(MSBuildProjectDirectory)\QtMsBuild
+- PropertyGroup
+ - Property **OutDir**
+ - Property **IntDir**
+ - ...
+- Target **QtMsBuildNotFound**
+- Import **qt.props**
+- PropertyGroup **QtSettings**
+- ImportGroup **ExtensionSettings**
+- ImportGroup **Shared**
+- ImportGroup **PropertySheets**
+- PropertyGroup **UserMacros**
+- ItemDefinitionGroup
+ - **ClCompile**
+ - **Link**
+ - **QtMoc**
+ - **QtRcc**
+ - **QtUic**
+ - ...
+- ItemGroup
+ - **QtMoc** (*MOC header*)
+ - **QtRcc** (*QRC resources*)
+ - **QtUic** (*UI form*)
+ - **ClInclude** (*other headers*)
+ - **ClCompile** (*other CPP sources*)
+ - ...
+- Import **Microsoft.Cpp.targets**
+- Import **qt.targets**
+- ImportGroup **ExtensionTargets**
+
+## Project format v3.1
+**[Qt Visual Studio Tools v2.4.2](https://download.qt.io/official_releases/vsaddin/2.4.2/)**
+
+**`Implement project format v3.1`**
+`commit fdbec35c590f524f6f9ce8f2e6a7328f2f3df508`
+`Author: Miguel Costa <miguel.costa@qt.io>`
+`Date: Wed Sep 18 18:47:30 2019 +0200`
+
+ This change introduces a revision of the v3 project format, which will
+ now allow Qt settings to reference user macros defined in imported
+ property sheets. This includes the following changes to the order of
+ property evaluation:
+ - "QtSettings" property group moved to after the import of user
+ property sheets;
+ - QtInstall property moved from the "Configuration" property group
+ to the "QtSettings" property group;
+ - Import of qt.props moved to after the "QtSettings" property group.
+
+### Project file outline
+
+- ItemGroup **ProjectConfiguration**
+- PropertyGroup **Globals**
+ - Keyword **QtVS_v301**
+- Import **Microsoft.Cpp.Default.props**
+- PropertyGroup **Configuration**
+ - Property **QtInstall**
+- Import **Microsoft.Cpp.props**
+- PropertyGroup (*if `%QTMSBUILD%` undefined*)
+ - Property **QtMsBuild** = $(MSBuildProjectDirectory)\QtMsBuild
+- PropertyGroup
+ - Property **OutDir**
+ - Property **IntDir**
+ - ...
+- Target **QtMsBuildNotFound**
+- ImportGroup **ExtensionSettings**
+- ImportGroup **Shared**
+- ImportGroup **PropertySheets**
+- PropertyGroup **UserMacros**
+- Import **qt.props**
+- PropertyGroup **QtSettings**
+- ItemDefinitionGroup
+ - **ClCompile**
+ - **Link**
+ - **QtMoc**
+ - **QtRcc**
+ - **QtUic**
+ - ...
+- ItemGroup
+ - **QtMoc** (*MOC header*)
+ - **QtRcc** (*QRC resources*)
+ - **QtUic** (*UI form*)
+ - **ClInclude** (*other headers*)
+ - **ClCompile** (*other CPP sources*)
+ - ...
+- Import **Microsoft.Cpp.targets**
+- Import **qt.targets**
+- ImportGroup **ExtensionTargets**
+
+## Project format v3.2
+**[Qt Visual Studio Tools v2.5.1](https://download.qt.io/official_releases/vsaddin/2.5.1/)**
+
+**`Fix incompatibilities with property sheets`**
+`commit 1a93741cadaa26b49cc4dc02d09ea7249cbea6fe`
+`Author: Miguel Costa <miguel.costa@qt.io>`
+`Date: Thu Nov 21 16:21:35 2019 +0100`
+
+ Updated the format of Qt projects to better match the requirements for
+ Visual Studio C++ projects (*) that enable integrating with the IDE, in
+ particular, that allow external property sheets to be referenced.
+(*) https://docs.microsoft.com/en-us/cpp/build/reference/cxproj-file-structure#per-configuration-propertygroup-elements
+
+### Project file outline
+
+- ItemGroup **ProjectConfiguration**
+- PropertyGroup **Globals**
+ - Keyword **QtVS_v302**
+ - Property (*if `%QTMSBUILD%` undefined*) **QtMsBuild** = $(MSBuildProjectDirectory)\QtMsBuild
+- Import **Microsoft.Cpp.Default.props**
+- PropertyGroup **Configuration**
+ - Property **QtInstall**
+- Import **Microsoft.Cpp.props**
+- Target **QtMsBuildNotFound**
+- ImportGroup **ExtensionSettings**
+- ImportGroup **Shared**
+- ImportGroup **PropertySheets**
+- PropertyGroup **UserMacros**
+- Import **qt_defaults.props**
+- PropertyGroup **QtSettings**
+- Import **qt.props**
+- ItemDefinitionGroup
+ - **ClCompile**
+ - **Link**
+ - **QtMoc**
+ - **QtRcc**
+ - **QtUic**
+ - ...
+- ItemGroup
+ - **QtMoc** (*MOC header*)
+ - **QtRcc** (*QRC resources*)
+ - **QtUic** (*UI form*)
+ - **ClInclude** (*other headers*)
+ - **ClCompile** (*other CPP sources*)
+ - ...
+- Import **Microsoft.Cpp.targets**
+- Import **qt.targets**
+- ImportGroup **ExtensionTargets**
+
+## Project format v3.3
+**[Qt Visual Studio Tools v2.6.0](https://download.qt.io/official_releases/vsaddin/2.6.0/)**
+
+**`Fix ignoring VC property changes (project format v3.3)`**
+`commit 621efbcc92be6e1a9869a15a850b9bd8cccf2e97`
+`Author: Miguel Costa <miguel.costa@qt.io>`
+`Date: Tue Jun 9 10:24:54 2020 +0200`
+
+ This change introduces project format version 3.3, which fixes issues
+ related to modified values of VC properties (e.g. $(IntDir)) being
+ ignored when evaluating Qt build settings.
+
+ MSBuild evaluates properties by order of definition; dependencies are
+ resolved by using the latest evaluation of referred properties. As such,
+ any subsequent changes to the value of dependencies will not be
+ reflected in previously evaluated properties.
+
+ Redefinitions of VC properties are stored in uncategorized property
+ groups (i.e. <PropertyGroup> elements without a Label attrib) inside the
+ MSBuild project file; if no available group is found, Visual Studio will
+ create a new one. The incorrect evaluation of Qt properties happens when
+ new property groups are created after the definition of Qt properties,
+ such that the evaluation of Qt properties will be using outdated values
+ of VC properties.
+
+ Project format version 3.3 addresses this issue by adding property
+ groups for VC property storage in a correct location, with respect to
+ Qt build settings definitions.
+
+### Project file outline
+
+- ItemGroup **ProjectConfiguration**
+- PropertyGroup **Globals**
+ - Keyword **QtVS_v303**
+ - Property (*if `%QTMSBUILD%` undefined*) **QtMsBuild** = $(MSBuildProjectDirectory)\QtMsBuild
+- Import **Microsoft.Cpp.Default.props**
+- PropertyGroup **Configuration**
+ - Property **QtInstall**
+- Import **Microsoft.Cpp.props**
+- Target **QtMsBuildNotFound**
+- ImportGroup **ExtensionSettings**
+- ImportGroup **Shared**
+- ImportGroup **PropertySheets**
+- PropertyGroup **UserMacros**
+- Import **qt_defaults.props**
+- PropertyGroup
+ - Property **OutDir**
+ - Property **IntDir**
+ - ...
+- PropertyGroup **QtSettings**
+- Import **qt.props**
+- ItemDefinitionGroup
+ - **ClCompile**
+ - **Link**
+ - **QtMoc**
+ - **QtRcc**
+ - **QtUic**
+ - ...
+- ItemGroup
+ - **QtMoc** (*MOC header*)
+ - **QtRcc** (*QRC resources*)
+ - **QtUic** (*UI form*)
+ - **ClInclude** (*other headers*)
+ - **ClCompile** (*other CPP sources*)
+ - ...
+- Import **Microsoft.Cpp.targets**
+- Import **qt.targets**
+- ImportGroup **ExtensionTargets**
+
+## Project format v3.4
+**>= [Qt Visual Studio Tools v2.7.1](https://download.qt.io/official_releases/vsaddin/2.7.1/)**
+
+**`Integrate Qt.props in the VS Property Manager`**
+`commit cb9ec156845a9efc163a9c67d7a54c8ca790e805`
+`Author: Miguel Costa <miguel.costa@qt.io>`
+`Date: Fri Dec 11 16:58:06 2020 +0100`
+
+ The Qt property definitions file (Qt.props) will now be shown in the
+ evaluation list of the Property Manager window. This allows the user to
+ customize the order of evaluation of Qt.props in relation to other
+ property files loaded during the build, thereby defining the correct
+ dependency between Qt properties and other build settings. Previously,
+ the order of evaluation of Qt.props was fixed and could only be changed
+ by manually editing the project file's XML.
+
+ Allowing Qt.props to be manipulated in the Property Manager window will
+ enable the user to define properties and default metadata within the
+ Qt.props itself. To ensure these custom definitions are not lost when
+ installing Qt/MSBuild files, the Qt.props file will no longer be
+ replaced during start-up.
+
+### Project file outline
+
+- ItemGroup **ProjectConfiguration**
+- PropertyGroup **Globals**
+ - Keyword **QtVS_v304**
+ - Property (*if `%QTMSBUILD%` undefined*) **QtMsBuild** = $(MSBuildProjectDirectory)\QtMsBuild
+- Import **Microsoft.Cpp.Default.props**
+- PropertyGroup **Configuration**
+ - Property **QtInstall**
+- Import **Microsoft.Cpp.props**
+- Import **qt_defaults.props**
+- PropertyGroup **QtSettings**
+- Target **QtMsBuildNotFound**
+- ImportGroup **ExtensionSettings**
+- ImportGroup **Shared**
+- ImportGroup **PropertySheets**
+ - Import **Qt.props**
+- PropertyGroup **UserMacros**
+- PropertyGroup
+ - Property **OutDir**
+ - Property **IntDir**
+ - ...
+- ItemDefinitionGroup
+ - **ClCompile**
+ - **Link**
+ - **QtMoc**
+ - **QtRcc**
+ - **QtUic**
+ - ...
+- ItemGroup
+ - **QtMoc** (*MOC header*)
+ - **QtRcc** (*QRC resources*)
+ - **QtUic** (*UI form*)
+ - **ClInclude** (*other headers*)
+ - **ClCompile** (*other CPP sources*)
+ - ...
+- Import **Microsoft.Cpp.targets**
+- Import **qt.targets**
+- ImportGroup **ExtensionTargets**
+
+## Example projects
+
+### v1.0
+
+#### `.vcxproj`
+```xml
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E5EA0EEF-BDC2-3484-A4F0-BA6C71E224CF}</ProjectGuid>
+ <RootNamespace>QtProjectV100</RootNamespace>
+ <Keyword>Qt4VSv1.0</Keyword>
+ <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;" Label="Configuration">
+ <PlatformToolset>v142</PlatformToolset>
+ <OutputDirectory>release\</OutputDirectory>
+ <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
+ <CharacterSet>NotSet</CharacterSet>
+ <ConfigurationType>Application</ConfigurationType>
+ <IntermediateDirectory>release\</IntermediateDirectory>
+ <PrimaryOutput>QtProjectV100</PrimaryOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;" Label="Configuration">
+ <PlatformToolset>v142</PlatformToolset>
+ <OutputDirectory>debug\</OutputDirectory>
+ <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
+ <CharacterSet>NotSet</CharacterSet>
+ <ConfigurationType>Application</ConfigurationType>
+ <IntermediateDirectory>debug\</IntermediateDirectory>
+ <PrimaryOutput>QtProjectV100</PrimaryOutput>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" />
+ </ImportGroup>
+ <ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\</OutDir>
+ <IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\</IntDir>
+ <TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">QtProjectV100</TargetName>
+ <IgnoreImportLibrary Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">true</IgnoreImportLibrary>
+ <LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">false</LinkIncremental>
+ <OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\</OutDir>
+ <IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\</IntDir>
+ <TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">QtProjectV100</TargetName>
+ <IgnoreImportLibrary Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">true</IgnoreImportLibrary>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">
+ <ClCompile>
+ <AdditionalIncludeDirectories>.;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtWidgets;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtGui;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtANGLE;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtCore;release;.;/include;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
+ <AssemblerListingLocation>release\</AssemblerListingLocation>
+ <BrowseInformation>false</BrowseInformation>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <ObjectFileName>release\</ObjectFileName>
+ <Optimization>MaxSpeed</Optimization>
+ <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessToFile>false</PreprocessToFile>
+ <ProgramDataBaseFileName></ProgramDataBaseFileName>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Widgets.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Gui.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Core.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\qtmain.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalOptions>&quot;/MANIFESTDEPENDENCY:type=&apos;win32&apos; name=&apos;Microsoft.Windows.Common-Controls&apos; version=&apos;6.0.0.0&apos; publicKeyToken=&apos;6595b64144ccf1df&apos; language=&apos;*&apos; processorArchitecture=&apos;*&apos;&quot; %(AdditionalOptions)</AdditionalOptions>
+ <DataExecutionPrevention>true</DataExecutionPrevention>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <IgnoreImportLibrary>true</IgnoreImportLibrary>
+ <LinkIncremental>false</LinkIncremental>
+ <OptimizeReferences>true</OptimizeReferences>
+ <OutputFile>$(OutDir)\QtProjectV100.exe</OutputFile>
+ <RandomizedBaseAddress>true</RandomizedBaseAddress>
+ <SubSystem>Windows</SubSystem>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ </Link>
+ <Midl>
+ <DefaultCharType>Unsigned</DefaultCharType>
+ <EnableErrorChecks>None</EnableErrorChecks>
+ <WarningLevel>0</WarningLevel>
+ </Midl>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">
+ <ClCompile>
+ <AdditionalIncludeDirectories>.;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtWidgets;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtGui;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtANGLE;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\include\QtCore;debug;.;/include;..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
+ <AssemblerListingLocation>debug\</AssemblerListingLocation>
+ <BrowseInformation>false</BrowseInformation>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <ObjectFileName>debug\</ObjectFileName>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessToFile>false</PreprocessToFile>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Widgetsd.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Guid.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\Qt5Cored.lib;C:\lib\Qt\5.15.10\msvc2019_64\lib\qtmaind.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalOptions>&quot;/MANIFESTDEPENDENCY:type=&apos;win32&apos; name=&apos;Microsoft.Windows.Common-Controls&apos; version=&apos;6.0.0.0&apos; publicKeyToken=&apos;6595b64144ccf1df&apos; language=&apos;*&apos; processorArchitecture=&apos;*&apos;&quot; %(AdditionalOptions)</AdditionalOptions>
+ <DataExecutionPrevention>true</DataExecutionPrevention>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <IgnoreImportLibrary>true</IgnoreImportLibrary>
+ <OutputFile>$(OutDir)\QtProjectV100.exe</OutputFile>
+ <RandomizedBaseAddress>true</RandomizedBaseAddress>
+ <SubSystem>Windows</SubSystem>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ </Link>
+ <Midl>
+ <DefaultCharType>Unsigned</DefaultCharType>
+ <EnableErrorChecks>None</EnableErrorChecks>
+ <WarningLevel>0</WarningLevel>
+ </Midl>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ResourceCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="QtProjectV100.cpp" />
+ <ClCompile Include="main.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.h">
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">QtProjectV100.h;release\moc_predefs.h;C:\lib\Qt\5.15.10\msvc2019_64\bin\moc.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DNDEBUG -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --compiler-flavor=msvc --include C:/dev/tests/formats/100/release/moc_predefs.h -IC:/lib/Qt/5.15.10/msvc2019_64/mkspecs/win32-msvc -IC:/dev/tests/formats/100 -IC:/lib/Qt/5.15.10/msvc2019_64/include -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtWidgets -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtGui -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtANGLE -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtCore -I&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\ATLMFC\include&quot; -I&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include&quot; -I&quot;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt&quot; QtProjectV100.h -o release\moc_QtProjectV100.cpp</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">MOC QtProjectV100.h</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\moc_QtProjectV100.cpp;%(Outputs)</Outputs>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">QtProjectV100.h;debug\moc_predefs.h;C:\lib\Qt\5.15.10\msvc2019_64\bin\moc.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --compiler-flavor=msvc --include C:/dev/tests/formats/100/debug/moc_predefs.h -IC:/lib/Qt/5.15.10/msvc2019_64/mkspecs/win32-msvc -IC:/dev/tests/formats/100 -IC:/lib/Qt/5.15.10/msvc2019_64/include -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtWidgets -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtGui -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtANGLE -IC:/lib/Qt/5.15.10/msvc2019_64/include/QtCore -I&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\ATLMFC\include&quot; -I&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include&quot; -I&quot;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt&quot; -I&quot;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt&quot; QtProjectV100.h -o debug\moc_QtProjectV100.cpp</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">MOC QtProjectV100.h</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\moc_QtProjectV100.cpp;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="debug\moc_QtProjectV100.cpp">
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="release\moc_QtProjectV100.cpp">
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">true</ExcludedFromBuild>
+ </ClCompile>
+ <CustomBuild Include="debug\moc_predefs.h.cbt">
+ <FileType>Document</FileType>
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">true</ExcludedFromBuild>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">cl -BxC:\lib\Qt\5.15.10\msvc2019_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E ..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">Generate moc_predefs.h</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\moc_predefs.h;%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="release\moc_predefs.h.cbt">
+ <FileType>Document</FileType>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">cl -BxC:\lib\Qt\5.15.10\msvc2019_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E ..\..\..\..\lib\Qt\5.15.10\msvc2019_64\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">Generate moc_predefs.h</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\moc_predefs.h;%(Outputs)</Outputs>
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">true</ExcludedFromBuild>
+ </CustomBuild>
+ <ClCompile Include="debug\qrc_QtProjectV100.cpp">
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="release\qrc_QtProjectV100.cpp">
+ <ExcludedFromBuild Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClInclude Include="ui_QtProjectV100.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.ui">
+ <FileType>Document</FileType>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">QtProjectV100.ui;C:\lib\Qt\5.15.10\msvc2019_64\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\uic.exe QtProjectV100.ui -o ui_QtProjectV100.h</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">UIC QtProjectV100.ui</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">ui_QtProjectV100.h;%(Outputs)</Outputs>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">QtProjectV100.ui;C:\lib\Qt\5.15.10\msvc2019_64\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\uic.exe QtProjectV100.ui -o ui_QtProjectV100.h</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">UIC QtProjectV100.ui</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">ui_QtProjectV100.h;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV100.qrc">
+ <FileType>Document</FileType>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">QtProjectV100.qrc;C:\lib\Qt\5.15.10\msvc2019_64\bin\rcc.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\rcc.exe -name QtProjectV100 QtProjectV100.qrc -o release\qrc_QtProjectV100.cpp</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">RCC QtProjectV100.qrc</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">release\qrc_QtProjectV100.cpp;%(Outputs)</Outputs>
+ <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">QtProjectV100.qrc;C:\lib\Qt\5.15.10\msvc2019_64\bin\rcc.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">C:\lib\Qt\5.15.10\msvc2019_64\bin\rcc.exe -name QtProjectV100 QtProjectV100.qrc -o debug\qrc_QtProjectV100.cpp</Command>
+ <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">RCC QtProjectV100.qrc</Message>
+ <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">debug\qrc_QtProjectV100.cpp;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets" />
+</Project>
+```
+
+### v2.0
+
+#### `.vcxproj`
+```xml
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
+ <Keyword>Qt4VSv1.0</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" />
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <Optimization>Disabled</Optimization>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat />
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="GeneratedFiles\Debug\moc_QtProjectV200.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="GeneratedFiles\qrc_QtProjectV200.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ </PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ </PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="GeneratedFiles\Release\moc_QtProjectV200.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="main.cpp" />
+ <ClCompile Include="QtProjectV200.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV200.h">
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing QtProjectV200.h...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets"</Command>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing QtProjectV200.h...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets"</Command>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV200.ui">
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="GeneratedFiles\ui_QtProjectV200.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="QtProjectV200.qrc">
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Rcc%27ing %(Identity)...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Rcc%27ing %(Identity)...</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>
+ </CustomBuild>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+ <ProjectExtensions>
+ <VisualStudio>
+ <UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_x64="msvc2019_64" MocOptions="" />
+ </VisualStudio>
+ </ProjectExtensions>
+</Project>
+```
+
+### v3.0
+
+#### `.vcxproj`
+```xml
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
+ <Keyword>QtVS_v300</Keyword>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ <QtInstall>msvc2019_64</QtInstall>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ <QtInstall>msvc2019_64</QtInstall>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">
+ <QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+ <Import Project="$(QtMsBuild)\qt.props" />
+ </ImportGroup>
+ <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <QtModules>core;gui;widgets</QtModules>
+ </PropertyGroup>
+ <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <QtModules>core;gui;widgets</QtModules>
+ </PropertyGroup>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <Optimization>Disabled</Optimization>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat />
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp" />
+ <ClCompile Include="QtProjectV300.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtMoc Include="QtProjectV300.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtUic Include="QtProjectV300.ui" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV300.qrc" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
+```
+
+### v3.1
+
+#### `.vcxproj`
+```xml
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
+ <Keyword>QtVS_v301</Keyword>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">
+ <QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ </PropertyGroup>
+ <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+ <Import Project="$(QtMsBuild)\qt_defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ </PropertyGroup>
+ <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ </PropertyGroup>
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+ <Import Project="$(QtMsBuild)\qt.props" />
+ </ImportGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <Optimization>Disabled</Optimization>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat />
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp" />
+ <ClCompile Include="QtProjectV301.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtMoc Include="QtProjectV301.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtUic Include="QtProjectV301.ui" />
+ </ItemGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV301.qrc" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
+```
+
+### v3.2
+
+#### `.vcxproj`
+```xml
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{10A7CC05-6663-4C63-906F-E56EDF8218CA}</ProjectGuid>
+ <Keyword>QtVS_v302</Keyword>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')"
+ >$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <Target Name="QtMsBuildNotFound"
+ BeforeTargets="CustomBuild;ClCompile"
+ Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High"
+ Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+ <Import Project="$(QtMsBuild)\qt_defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>debug</QtBuildConfig>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>release</QtBuildConfig>
+ </PropertyGroup>
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+ <Import Project="$(QtMsBuild)\qt.props" />
+ </ImportGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <Optimization>MaxSpeed</Optimization>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV302.qrc"/>
+ <QtUic Include="QtProjectV302.ui"/>
+ <QtMoc Include="QtProjectV302.h"/>
+ <ClCompile Include="QtProjectV302.cpp"/>
+ <ClCompile Include="main.cpp"/>
+
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
+```
+
+### v3.3
+
+#### `.vcxproj`
+```xml
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{812E4050-B861-4918-A0DC-53053B848372}</ProjectGuid>
+ <Keyword>QtVS_v303</Keyword>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')"
+ >$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <Target Name="QtMsBuildNotFound"
+ BeforeTargets="CustomBuild;ClCompile"
+ Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High"
+ Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+ <Import Project="$(QtMsBuild)\qt_defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>debug</QtBuildConfig>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
+ <QtInstall>msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>release</QtBuildConfig>
+ </PropertyGroup>
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
+ <Import Project="$(QtMsBuild)\qt.props" />
+ </ImportGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <Optimization>MaxSpeed</Optimization>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV303.qrc"/>
+ <QtUic Include="QtProjectV303.ui"/>
+ <QtMoc Include="QtProjectV303.h"/>
+ <ClCompile Include="QtProjectV303.cpp"/>
+ <ClCompile Include="main.cpp"/>
+
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
+```
+
+### v3.4
+
+#### `.vcxproj`
+```xml
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{923588D5-2AA5-4B0F-8110-56BEEBB531D5}</ProjectGuid>
+ <Keyword>QtVS_v304</Keyword>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
+ <QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')"
+ >$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v143</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <PlatformToolset>v143</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
+ <Import Project="$(QtMsBuild)\qt_defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
+ <QtInstall>5.15.10_msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>debug</QtBuildConfig>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
+ <QtInstall>5.15.10_msvc2019_64</QtInstall>
+ <QtModules>core;gui;widgets</QtModules>
+ <QtBuildConfig>release</QtBuildConfig>
+ </PropertyGroup>
+ <Target Name="QtMsBuildNotFound"
+ BeforeTargets="CustomBuild;ClCompile"
+ Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
+ <Message Importance="High"
+ Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
+ </Target>
+ <ImportGroup Label="ExtensionSettings" />
+ <ImportGroup Label="Shared" />
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(QtMsBuild)\Qt.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(QtMsBuild)\Qt.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <Optimization>Disabled</Optimization>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
+ <ClCompile>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <Optimization>MaxSpeed</Optimization>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <QtRcc Include="QtProjectV304.qrc"/>
+ <QtUic Include="QtProjectV304.ui"/>
+ <QtMoc Include="QtProjectV304.h"/>
+ <ClCompile Include="QtProjectV304.cpp"/>
+ <ClCompile Include="main.cpp"/>
+
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
+ <Import Project="$(QtMsBuild)\qt.targets" />
+ </ImportGroup>
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
+```