diff --git a/README.md b/README.md
index b3c9bcb231..df2e8bd46d 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ This version of wxWidgets supports the following primary platforms:
Most popular C++ compilers are supported including but not limited to:
-- Microsoft Visual C++ 2003 or later (up to 2017).
+- Microsoft Visual C++ 2003 or later (up to 2019).
- g++ 3.4 or later, including MinGW/MinGW-64/TDM under Windows.
- Clang under OS X and Linux.
- Intel icc compiler.
diff --git a/build/msw/wx_config.props b/build/msw/wx_config.props
index 006464cc88..4e9e948970 100644
--- a/build/msw/wx_config.props
+++ b/build/msw/wx_config.props
@@ -9,6 +9,7 @@
v120
v140
v141
+ v142
diff --git a/build/msw/wx_custom_build.vcxproj b/build/msw/wx_custom_build.vcxproj
index 45ef184798..8d7ff23855 100644
--- a/build/msw/wx_custom_build.vcxproj
+++ b/build/msw/wx_custom_build.vcxproj
@@ -187,32 +187,24 @@
cl /EP /nologo "%(FullPath)" > "$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h"
$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h;%(Outputs)
$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h;%(Outputs)
- $(OutDir)$(wxIncSubDir)\wx\msw;%(AdditionalInputs)
- $(OutDir)$(wxIncSubDir)\wx\msw;%(AdditionalInputs)
Creating $(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h
Creating $(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h
cl /EP /nologo "%(FullPath)" > "$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h"
cl /EP /nologo "%(FullPath)" > "$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h"
$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h;%(Outputs)
$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h;%(Outputs)
- $(OutDir)$(wxIncSubDir)\wx\msw;%(AdditionalInputs)
- $(OutDir)$(wxIncSubDir)\wx\msw;%(AdditionalInputs)
Creating $(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h
Creating $(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h
cl /EP /nologo "%(FullPath)" > "$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h"
cl /EP /nologo "%(FullPath)" > "$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h"
$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h;%(Outputs)
$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h;%(Outputs)
- $(OutDir)$(wxIncSubDir)\wx\msw;%(AdditionalInputs)
- $(OutDir)$(wxIncSubDir)\wx\msw;%(AdditionalInputs)
Creating $(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h
Creating $(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h
cl /EP /nologo "%(FullPath)" > "$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h"
cl /EP /nologo "%(FullPath)" > "$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h"
$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h;%(Outputs)
$(OutDir)$(wxIncSubDir)\wx\msw\rcdefs.h;%(Outputs)
- $(OutDir)$(wxIncSubDir)\wx\msw;%(AdditionalInputs)
- $(OutDir)$(wxIncSubDir)\wx\msw;%(AdditionalInputs)
diff --git a/build/msw/wx_vc16.sln b/build/msw/wx_vc16.sln
new file mode 100644
index 0000000000..ae6f0cbb50
--- /dev/null
+++ b/build/msw/wx_vc16.sln
@@ -0,0 +1,516 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29020.237
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_custom_build", "wx_custom_build.vcxproj", "{01F4CE10-2CFB-41A8-B41F-E54337868A1D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxregex", "wx_wxregex.vcxproj", "{56A4B526-BB81-5D01-AAA9-16D23BBB169D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D} = {01F4CE10-2CFB-41A8-B41F-E54337868A1D}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxzlib", "wx_wxzlib.vcxproj", "{8B867186-A0B5-5479-B824-E176EDD27C40}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxpng", "wx_wxpng.vcxproj", "{8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxjpeg", "wx_wxjpeg.vcxproj", "{6053CC38-CDEE-584C-8BC8-4B000D800FC7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxtiff", "wx_wxtiff.vcxproj", "{75596CE6-5AE7-55C9-B890-C07B0A657A83}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxexpat", "wx_wxexpat.vcxproj", "{A1A8355B-0988-528E-9CC2-B971D6266669}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxscintilla", "wx_wxscintilla.vcxproj", "{74827EBD-93DC-5110-BA95-3F2AB029B6B0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "base", "wx_base.vcxproj", "{3FCC50C2-81E9-5DB2-B8D8-2129427568B1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D} = {01F4CE10-2CFB-41A8-B41F-E54337868A1D}
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D} = {56A4B526-BB81-5D01-AAA9-16D23BBB169D}
+ {A1A8355B-0988-528E-9CC2-B971D6266669} = {A1A8355B-0988-528E-9CC2-B971D6266669}
+ {8B867186-A0B5-5479-B824-E176EDD27C40} = {8B867186-A0B5-5479-B824-E176EDD27C40}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "net", "wx_net.vcxproj", "{69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1} = {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "wx_core.vcxproj", "{6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}"
+ ProjectSection(ProjectDependencies) = postProject
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0} = {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7} = {6053CC38-CDEE-584C-8BC8-4B000D800FC7}
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1} = {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83} = {75596CE6-5AE7-55C9-B890-C07B0A657A83}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv", "wx_adv.vcxproj", "{24C45343-FD20-5C92-81C1-35A2AE841E79}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75} = {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "media", "wx_media.vcxproj", "{8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75} = {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "html", "wx_html.vcxproj", "{33CC42F9-7756-5587-863C-8D4461B7C5DD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75} = {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webview", "wx_webview.vcxproj", "{A8E8442A-078A-5FC5-B495-8D71BA77EE6E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75} = {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qa", "wx_qa.vcxproj", "{E21129E0-7C08-5936-9D8C-0D60B5319BA7}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6} = {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75} = {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml", "wx_xml.vcxproj", "{3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1} = {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xrc", "wx_xrc.vcxproj", "{09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6} = {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}
+ {24C45343-FD20-5C92-81C1-35A2AE841E79} = {24C45343-FD20-5C92-81C1-35A2AE841E79}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aui", "wx_aui.vcxproj", "{A16D3832-0F42-57CE-8F48-50E06649ADE8}"
+ ProjectSection(ProjectDependencies) = postProject
+ {24C45343-FD20-5C92-81C1-35A2AE841E79} = {24C45343-FD20-5C92-81C1-35A2AE841E79}
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD} = {33CC42F9-7756-5587-863C-8D4461B7C5DD}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ribbon", "wx_ribbon.vcxproj", "{87B42A9C-3F5C-53D7-9017-2B1CAE39457D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {24C45343-FD20-5C92-81C1-35A2AE841E79} = {24C45343-FD20-5C92-81C1-35A2AE841E79}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "propgrid", "wx_propgrid.vcxproj", "{97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}"
+ ProjectSection(ProjectDependencies) = postProject
+ {24C45343-FD20-5C92-81C1-35A2AE841E79} = {24C45343-FD20-5C92-81C1-35A2AE841E79}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "richtext", "wx_richtext.vcxproj", "{7FB0902D-8579-5DCE-B883-DAF66A885005}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6} = {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}
+ {24C45343-FD20-5C92-81C1-35A2AE841E79} = {24C45343-FD20-5C92-81C1-35A2AE841E79}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stc", "wx_stc.vcxproj", "{23E1C437-A951-5943-8639-A17F3CF2E606}"
+ ProjectSection(ProjectDependencies) = postProject
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0} = {74827EBD-93DC-5110-BA95-3F2AB029B6B0}
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75} = {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gl", "wx_gl.vcxproj", "{DA8B15EF-6750-5928-BC0E-C748213CF9B2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75} = {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ DLL Debug|Win32 = DLL Debug|Win32
+ DLL Debug|x64 = DLL Debug|x64
+ DLL Release|Win32 = DLL Release|Win32
+ DLL Release|x64 = DLL Release|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.Debug|Win32.Build.0 = Debug|Win32
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.Debug|x64.ActiveCfg = Debug|x64
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.Debug|x64.Build.0 = Debug|x64
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.DLL Release|x64.Build.0 = DLL Release|x64
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.Release|Win32.ActiveCfg = Release|Win32
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.Release|Win32.Build.0 = Release|Win32
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.Release|x64.ActiveCfg = Release|x64
+ {01F4CE10-2CFB-41A8-B41F-E54337868A1D}.Release|x64.Build.0 = Release|x64
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.Debug|Win32.Build.0 = Debug|Win32
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.Debug|x64.ActiveCfg = Debug|x64
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.Debug|x64.Build.0 = Debug|x64
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.DLL Release|x64.Build.0 = DLL Release|x64
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.Release|Win32.ActiveCfg = Release|Win32
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.Release|Win32.Build.0 = Release|Win32
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.Release|x64.ActiveCfg = Release|x64
+ {56A4B526-BB81-5D01-AAA9-16D23BBB169D}.Release|x64.Build.0 = Release|x64
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.Debug|Win32.Build.0 = Debug|Win32
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.Debug|x64.ActiveCfg = Debug|x64
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.Debug|x64.Build.0 = Debug|x64
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.DLL Release|x64.Build.0 = DLL Release|x64
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.Release|Win32.ActiveCfg = Release|Win32
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.Release|Win32.Build.0 = Release|Win32
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.Release|x64.ActiveCfg = Release|x64
+ {8B867186-A0B5-5479-B824-E176EDD27C40}.Release|x64.Build.0 = Release|x64
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.Debug|Win32.Build.0 = Debug|Win32
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.Debug|x64.ActiveCfg = Debug|x64
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.Debug|x64.Build.0 = Debug|x64
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.DLL Release|x64.Build.0 = DLL Release|x64
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.Release|Win32.ActiveCfg = Release|Win32
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.Release|Win32.Build.0 = Release|Win32
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.Release|x64.ActiveCfg = Release|x64
+ {8ACC122A-CA6A-5AA6-9C97-9CDD2E533DB0}.Release|x64.Build.0 = Release|x64
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.Debug|Win32.Build.0 = Debug|Win32
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.Debug|x64.ActiveCfg = Debug|x64
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.Debug|x64.Build.0 = Debug|x64
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.DLL Release|x64.Build.0 = DLL Release|x64
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.Release|Win32.ActiveCfg = Release|Win32
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.Release|Win32.Build.0 = Release|Win32
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.Release|x64.ActiveCfg = Release|x64
+ {6053CC38-CDEE-584C-8BC8-4B000D800FC7}.Release|x64.Build.0 = Release|x64
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.Debug|Win32.ActiveCfg = Debug|Win32
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.Debug|Win32.Build.0 = Debug|Win32
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.Debug|x64.ActiveCfg = Debug|x64
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.Debug|x64.Build.0 = Debug|x64
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.DLL Release|x64.Build.0 = DLL Release|x64
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.Release|Win32.ActiveCfg = Release|Win32
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.Release|Win32.Build.0 = Release|Win32
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.Release|x64.ActiveCfg = Release|x64
+ {75596CE6-5AE7-55C9-B890-C07B0A657A83}.Release|x64.Build.0 = Release|x64
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.Debug|Win32.Build.0 = Debug|Win32
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.Debug|x64.ActiveCfg = Debug|x64
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.Debug|x64.Build.0 = Debug|x64
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.DLL Release|x64.Build.0 = DLL Release|x64
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.Release|Win32.ActiveCfg = Release|Win32
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.Release|Win32.Build.0 = Release|Win32
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.Release|x64.ActiveCfg = Release|x64
+ {A1A8355B-0988-528E-9CC2-B971D6266669}.Release|x64.Build.0 = Release|x64
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.Debug|Win32.Build.0 = Debug|Win32
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.Debug|x64.ActiveCfg = Debug|x64
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.Debug|x64.Build.0 = Debug|x64
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.DLL Release|x64.Build.0 = DLL Release|x64
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.Release|Win32.ActiveCfg = Release|Win32
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.Release|Win32.Build.0 = Release|Win32
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.Release|x64.ActiveCfg = Release|x64
+ {74827EBD-93DC-5110-BA95-3F2AB029B6B0}.Release|x64.Build.0 = Release|x64
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.Debug|Win32.Build.0 = Debug|Win32
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.Debug|x64.ActiveCfg = Debug|x64
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.Debug|x64.Build.0 = Debug|x64
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.DLL Release|x64.Build.0 = DLL Release|x64
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.Release|Win32.ActiveCfg = Release|Win32
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.Release|Win32.Build.0 = Release|Win32
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.Release|x64.ActiveCfg = Release|x64
+ {3FCC50C2-81E9-5DB2-B8D8-2129427568B1}.Release|x64.Build.0 = Release|x64
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.Debug|Win32.ActiveCfg = Debug|Win32
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.Debug|Win32.Build.0 = Debug|Win32
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.Debug|x64.ActiveCfg = Debug|x64
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.Debug|x64.Build.0 = Debug|x64
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.DLL Release|x64.Build.0 = DLL Release|x64
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.Release|Win32.ActiveCfg = Release|Win32
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.Release|Win32.Build.0 = Release|Win32
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.Release|x64.ActiveCfg = Release|x64
+ {69F2EDE4-7D21-5738-9BC0-F66F61C9AE00}.Release|x64.Build.0 = Release|x64
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.Debug|Win32.Build.0 = Debug|Win32
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.Debug|x64.ActiveCfg = Debug|x64
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.Debug|x64.Build.0 = Debug|x64
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.DLL Release|x64.Build.0 = DLL Release|x64
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.Release|Win32.ActiveCfg = Release|Win32
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.Release|Win32.Build.0 = Release|Win32
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.Release|x64.ActiveCfg = Release|x64
+ {6744DAD8-9C70-574A-BFF2-9F8DDDB24A75}.Release|x64.Build.0 = Release|x64
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.Debug|Win32.ActiveCfg = Debug|Win32
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.Debug|Win32.Build.0 = Debug|Win32
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.Debug|x64.ActiveCfg = Debug|x64
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.Debug|x64.Build.0 = Debug|x64
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.DLL Release|x64.Build.0 = DLL Release|x64
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.Release|Win32.ActiveCfg = Release|Win32
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.Release|Win32.Build.0 = Release|Win32
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.Release|x64.ActiveCfg = Release|x64
+ {24C45343-FD20-5C92-81C1-35A2AE841E79}.Release|x64.Build.0 = Release|x64
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.Debug|Win32.ActiveCfg = Debug|Win32
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.Debug|Win32.Build.0 = Debug|Win32
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.Debug|x64.ActiveCfg = Debug|x64
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.Debug|x64.Build.0 = Debug|x64
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.DLL Release|x64.Build.0 = DLL Release|x64
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.Release|Win32.ActiveCfg = Release|Win32
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.Release|Win32.Build.0 = Release|Win32
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.Release|x64.ActiveCfg = Release|x64
+ {8BD8F8D9-4275-5B42-A8F4-F1DB2970A550}.Release|x64.Build.0 = Release|x64
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.Debug|Win32.Build.0 = Debug|Win32
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.Debug|x64.ActiveCfg = Debug|x64
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.Debug|x64.Build.0 = Debug|x64
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.DLL Release|x64.Build.0 = DLL Release|x64
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.Release|Win32.ActiveCfg = Release|Win32
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.Release|Win32.Build.0 = Release|Win32
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.Release|x64.ActiveCfg = Release|x64
+ {33CC42F9-7756-5587-863C-8D4461B7C5DD}.Release|x64.Build.0 = Release|x64
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.Debug|Win32.Build.0 = Debug|Win32
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.Debug|x64.ActiveCfg = Debug|x64
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.Debug|x64.Build.0 = Debug|x64
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.DLL Release|x64.Build.0 = DLL Release|x64
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.Release|Win32.ActiveCfg = Release|Win32
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.Release|Win32.Build.0 = Release|Win32
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.Release|x64.ActiveCfg = Release|x64
+ {A8E8442A-078A-5FC5-B495-8D71BA77EE6E}.Release|x64.Build.0 = Release|x64
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.Debug|Win32.Build.0 = Debug|Win32
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.Debug|x64.ActiveCfg = Debug|x64
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.Debug|x64.Build.0 = Debug|x64
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.DLL Release|x64.Build.0 = DLL Release|x64
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.Release|Win32.ActiveCfg = Release|Win32
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.Release|Win32.Build.0 = Release|Win32
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.Release|x64.ActiveCfg = Release|x64
+ {E21129E0-7C08-5936-9D8C-0D60B5319BA7}.Release|x64.Build.0 = Release|x64
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.Debug|Win32.Build.0 = Debug|Win32
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.Debug|x64.ActiveCfg = Debug|x64
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.Debug|x64.Build.0 = Debug|x64
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.DLL Release|x64.Build.0 = DLL Release|x64
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.Release|Win32.ActiveCfg = Release|Win32
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.Release|Win32.Build.0 = Release|Win32
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.Release|x64.ActiveCfg = Release|x64
+ {3E6DCA27-5FA3-53EC-BBD6-2D42294B7AE6}.Release|x64.Build.0 = Release|x64
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.Debug|Win32.Build.0 = Debug|Win32
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.Debug|x64.ActiveCfg = Debug|x64
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.Debug|x64.Build.0 = Debug|x64
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.DLL Release|x64.Build.0 = DLL Release|x64
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.Release|Win32.ActiveCfg = Release|Win32
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.Release|Win32.Build.0 = Release|Win32
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.Release|x64.ActiveCfg = Release|x64
+ {09F2F96A-1CC6-5E43-AF1D-956EC2A4888D}.Release|x64.Build.0 = Release|x64
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.Debug|Win32.Build.0 = Debug|Win32
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.Debug|x64.ActiveCfg = Debug|x64
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.Debug|x64.Build.0 = Debug|x64
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.DLL Release|x64.Build.0 = DLL Release|x64
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.Release|Win32.ActiveCfg = Release|Win32
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.Release|Win32.Build.0 = Release|Win32
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.Release|x64.ActiveCfg = Release|x64
+ {A16D3832-0F42-57CE-8F48-50E06649ADE8}.Release|x64.Build.0 = Release|x64
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Debug|Win32.Build.0 = Debug|Win32
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Debug|x64.ActiveCfg = Debug|x64
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Debug|x64.Build.0 = Debug|x64
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Release|x64.Build.0 = DLL Release|x64
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Release|Win32.ActiveCfg = Release|Win32
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Release|Win32.Build.0 = Release|Win32
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Release|x64.ActiveCfg = Release|x64
+ {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Release|x64.Build.0 = Release|x64
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.Debug|Win32.ActiveCfg = Debug|Win32
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.Debug|Win32.Build.0 = Debug|Win32
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.Debug|x64.ActiveCfg = Debug|x64
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.Debug|x64.Build.0 = Debug|x64
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Release|x64.Build.0 = DLL Release|x64
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.Release|Win32.ActiveCfg = Release|Win32
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.Release|Win32.Build.0 = Release|Win32
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.Release|x64.ActiveCfg = Release|x64
+ {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.Release|x64.Build.0 = Release|x64
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.Debug|Win32.Build.0 = Debug|Win32
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.Debug|x64.ActiveCfg = Debug|x64
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.Debug|x64.Build.0 = Debug|x64
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.DLL Release|x64.Build.0 = DLL Release|x64
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.Release|Win32.ActiveCfg = Release|Win32
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.Release|Win32.Build.0 = Release|Win32
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.Release|x64.ActiveCfg = Release|x64
+ {7FB0902D-8579-5DCE-B883-DAF66A885005}.Release|x64.Build.0 = Release|x64
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.Debug|Win32.ActiveCfg = Debug|Win32
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.Debug|Win32.Build.0 = Debug|Win32
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.Debug|x64.ActiveCfg = Debug|x64
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.Debug|x64.Build.0 = Debug|x64
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.DLL Release|x64.Build.0 = DLL Release|x64
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.Release|Win32.ActiveCfg = Release|Win32
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.Release|Win32.Build.0 = Release|Win32
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.Release|x64.ActiveCfg = Release|x64
+ {23E1C437-A951-5943-8639-A17F3CF2E606}.Release|x64.Build.0 = Release|x64
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.Debug|Win32.Build.0 = Debug|Win32
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.Debug|x64.ActiveCfg = Debug|x64
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.Debug|x64.Build.0 = Debug|x64
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.DLL Debug|Win32.Build.0 = DLL Debug|Win32
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.DLL Debug|x64.ActiveCfg = DLL Debug|x64
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.DLL Debug|x64.Build.0 = DLL Debug|x64
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.DLL Release|Win32.ActiveCfg = DLL Release|Win32
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.DLL Release|Win32.Build.0 = DLL Release|Win32
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.DLL Release|x64.ActiveCfg = DLL Release|x64
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.DLL Release|x64.Build.0 = DLL Release|x64
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.Release|Win32.ActiveCfg = Release|Win32
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.Release|Win32.Build.0 = Release|Win32
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.Release|x64.ActiveCfg = Release|x64
+ {DA8B15EF-6750-5928-BC0E-C748213CF9B2}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/build/tools/msvs/buildall.bat b/build/tools/msvs/buildall.bat
index fdc2dbb710..49b74e4ef0 100755
--- a/build/tools/msvs/buildall.bat
+++ b/build/tools/msvs/buildall.bat
@@ -1,3 +1,4 @@
+start cmd /k Call officialbuild.bat vc142
start cmd /k Call officialbuild.bat vc141
start cmd /k Call officialbuild.bat vc140
start cmd /k Call officialbuild.bat vc120
diff --git a/build/tools/msvs/officialbuild.bat b/build/tools/msvs/officialbuild.bat
index 9cde4ac34e..5e8f6820fe 100755
--- a/build/tools/msvs/officialbuild.bat
+++ b/build/tools/msvs/officialbuild.bat
@@ -22,6 +22,23 @@ rem ========================================================
set compvers="Unknown"
+if "%1" == "vc142" (
+ @echo Building for vc142 / vs2019
+ set comp=142
+ set compvers=vc142
+
+ if NOT "%VS160COMNTOOLS%" == "" (
+ call "%VS160COMNTOOLS%VsDevCmd.bat"
+ )
+ if "%VS160COMNTOOLS%" == "" (
+ call %curr_dir%\findvs 16.0 17.0
+
+ if errorlevel 1 (
+ @echo vswhere.exe must be in your path or a VS2019 developer command prompt must be used.
+ goto end
+ )
+ )
+)
if "%1" == "vc141" (
@echo Building for vc141 / vs2017
set comp=141
@@ -79,6 +96,10 @@ if %compvers% == "vc90" (
@echo ============================================================
)
+rem Return to the build directory in case we have been moved elsewhere.
+
+cd %VSCMD_START_DIR%
+
@echo Removing the existing destination so that a complete rebuild occurs.
rmdir %compvers%_mswuddll /s /q
@@ -96,6 +117,7 @@ del %compvers%x86_Release.txt
del %compvers%x64_Debug.txt
del %compvers%x64_Release.txt
+if "%compvers%" == "vc142" call "%VS160COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" x64
if "%compvers%" == "vc141" call "%VS150COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" x64
if "%compvers%" == "vc140" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x64
if "%compvers%" == "vc120" call "%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" x86_amd64
@@ -130,6 +152,7 @@ nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=%comp% OFFICIAL_BUILD
if ERRORLEVEL 1 goto ERR_BUILD
+if "%compvers%" == "vc142" call "%VS160COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" x86
if "%compvers%" == "vc141" call "%VS150COMNTOOLS%..\..\VC\Auxiliary\Build\vcvarsall.bat" x86
if "%compvers%" == "vc140" call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86
if "%compvers%" == "vc120" call "%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" x86
@@ -191,6 +214,7 @@ goto End
:VERSIONS
@echo.
@echo Compiler Version: One of -
+ @echo vc142
@echo vc141
@echo vc140
@echo vc120
diff --git a/docs/contributing/how-to-add-new-msvs-version.md b/docs/contributing/how-to-add-new-msvs-version.md
new file mode 100644
index 0000000000..864c6abb70
--- /dev/null
+++ b/docs/contributing/how-to-add-new-msvs-version.md
@@ -0,0 +1,58 @@
+How to add support for a new MSVS version
+=========================================
+
+MSVS versions
+-------------
+
+This is confusing because there are several of them:
+
+- Marketing IDE/product version, which is the year of the release, e.g. 2019.
+- Actual internal IDE version, visible in `Help|About` dialog, for example,
+ e.g. 16.1.4.
+- Compiler version, visible in `cl /?` output, e.g. 19.21.27702.2. This version
+ also corresponds to the value of the predefined `_MSC_VER` symbol.
+- Toolset version: this is similar to the compiler version, but uses different
+ format, e.g. it's 14x for compiler version 19, with `x` being 0, 1 or 2
+ depending on the minor compiler version (00, 14 or 21).
+
+Moreover, historically, different IDE versions corresponded to different major
+compiler versions, however this hasn't been the case any more for the last few
+releases (2015, 2017, 2019 or 14, 15, 16 IDE versions) that all use the same
+major compiler version (19) as they are ABI-compatible. Also, historically,
+each compiler used its own toolset, but these last few versions can each use
+any of 140, 141, 142 toolset.
+
+wxWidgets uses the IDE version for the project/solution files (but notice that
+project files are the same for all MSVS 201x versions) and the toolset version
+for the names of build directories.
+
+
+TODO list
+---------
+
+Here is a list of things that need to be done when adding support for the next
+MSVS version:
+
+- If the major compiler version changed, add a new `__VISUALCxx__` symbol to
+ `include/wx/compiler.h` (`xx` here are the first 2 digits of the toolset
+ version, i.e. basically correspond to the major compiler version, except
+ that 13 was skipped for superstitious reasons, see the comment in that file).
+- Add `wxCOMPILER_PREFIX` definition for the new version to
+ `include/msvc/wx/setup.h`.
+- Add the new solution file `build/msw/wx_vcNN.sln` (where `NN` is the internal
+ IDE version), typically by opening an existing solution in the new IDE and
+ letting it to update it.
+- Discard changes to the project files that were done by the IDE during the
+ update and instead update `build/msw/wx_config.props` and add a new condition
+ checking `VisualStudioVersion` value for choosing the value of
+ `PlatformToolset`.
+- Update the lists of supported compiler versions in the different
+ documentation files (search for "Microsoft Visual C++" to find the places
+ that need updating):
+ - `README.md`
+ - `docs/doxygen/mainpages/introduction.h`
+ - `docs/msw/install.md`
+ - `docs/release.md`
+- Update `build/tools/msvs/officialbuild.bat` to support the new toolset version
+ and also update `build/tools/msvs/buildall.bat` to call it with this new version
+ (these files are used to build the official binaries for the releases).
diff --git a/docs/doxygen/mainpages/introduction.h b/docs/doxygen/mainpages/introduction.h
index 7bce06af1e..587d40dc74 100644
--- a/docs/doxygen/mainpages/introduction.h
+++ b/docs/doxygen/mainpages/introduction.h
@@ -79,7 +79,7 @@ wxWidgets first-tier "ports", ie implementations of wxWidgets API, are:
@li wxMSW: This is the native port for Microsoft Windows systems (from Windows
XP up to Windows 10), either 32 or 64 bits. The primarily supported compilers
-are Microsoft Visual C++ (versions 2003 up to 2017 are supported, at least 2005
+are Microsoft Visual C++ (versions 2003 up to 2019 are supported, at least 2005
is recommended) and GNU g++ (either from the traditional MinGW, TDM-GCC or
MinGW-w64 distributions).
diff --git a/docs/msw/install.md b/docs/msw/install.md
index 51c6a3e910..5a7f34bc2c 100644
--- a/docs/msw/install.md
+++ b/docs/msw/install.md
@@ -98,10 +98,10 @@ Microsoft Visual C++ Compilation {#msw_build_msvs}
* From the IDE using the provided project files:
Ready to use project files are provided for VC++ versions 7, 8, 9,
-10, 11, 12, 14 and 15 (also known as MSVS 2003, 2005, 2008, 2010, 2012, 2013,
-2015 and 2017 respectively).
+10, 11, 12, 14, 15 and 16 (also known as MSVS 2003, 2005, 2008, 2010, 2012,
+2013, 2015, 2017 and 2019 respectively).
-Simply open `wx_vcN.sln` (for N=7, 8, 9, 10, 11, 12, 14, or 15) file,
+Simply open `wx_vcN.sln` (for N=7, 8, 9, 10, 11, 12, 14, 15 or 16) file,
select the appropriate configuration (Debug or Release, static or DLL)
and build the solution. Notice that when building a DLL configuration,
you may need to perform the build several times because the projects
diff --git a/docs/release.md b/docs/release.md
index 82b9958762..d78b277238 100644
--- a/docs/release.md
+++ b/docs/release.md
@@ -30,7 +30,7 @@ To verify your download please use the following SHA-1 checksums:
We provide pre-built binary files for the following compilers:
-* Microsoft Visual C++ compiler versions 9.0, 10.0, 11.0, 12.0, 14.0 and 14.1 (corresponding to marketing product names of Microsoft Visual Studio 2008, 2010, 2012, 2013, 2015 and 2017 respectively).
+* Microsoft Visual C++ compiler versions 9.0, 10.0, 11.0, 12.0, 14.0, 14.1 and 14.2 (corresponding to marketing product names of Microsoft Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 and 2019 respectively).
* TDM-GCC version 5.1 and MinGW-w64 versions 7.3 and 8.1 (with the default SJLJ exceptions propagation method, using C++11).
### For Developers