2 changes: 1 addition & 1 deletion Source/Core/DolphinLib.x64.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ItemGroup>
<ClInclude Include="Common\x64ABI.h" />
<ClInclude Include="Common\x64Emitter.h" />
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="..\..\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ItemGroup>
<ClCompile Include="Platform.cpp" />
<ClCompile Include="PlatformHeadless.cpp" />
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinQt/DolphinQt.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="..\..\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinQt/DolphinQt.vcxproj.user
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LocalDebuggerCommand>$(BinaryOutputDir)$(TargetFileName)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinTool/DolphinTool.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ItemGroup>
<ClCompile Include="ConvertCommand.cpp" />
<ClCompile Include="VerifyCommand.cpp" />
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinTool/DolphinTool.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="..\..\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/WinUpdater/WinUpdater.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="..\..\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/WinUpdater/WinUpdater.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ItemGroup>
<ClCompile Include="Main.cpp" />
<ClCompile Include="WinUI.cpp" />
Expand Down
2 changes: 1 addition & 1 deletion Source/DSPSpy/DSPSpy.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="GC|Win32">
<Configuration>GC</Configuration>
Expand Down
2 changes: 1 addition & 1 deletion Source/DSPSpy/DSPSpy.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ItemGroup>
<Filter Include="tests">
<UniqueIdentifier>{14442340-8be2-4dcf-93f5-421cce23dd31}</UniqueIdentifier>
Expand Down
2 changes: 1 addition & 1 deletion Source/DSPTool/DSPTool.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="..\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
Expand Down
2 changes: 1 addition & 1 deletion Source/DSPTool/DSPTool.vcxproj.filters
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ItemGroup>
<Filter Include="TestData">
<UniqueIdentifier>{0b70242b-1d98-432f-a60e-d4ca0674852e}</UniqueIdentifier>
Expand Down
2 changes: 1 addition & 1 deletion Source/PCH/pch.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="..\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
Expand Down
9 changes: 9 additions & 0 deletions Source/UnitTests/Common/x64EmitterTest.cpp
Expand Up @@ -19,6 +19,11 @@
#include "Common/StringUtil.h"
#include "Common/x64Emitter.h"

#ifdef _MSC_VER
// This file is extremely slow to optimize (40s on amd 3990x), so just disable optimizations
#pragma optimize("", off)
#endif

namespace Gen
{
struct NamedReg
Expand Down Expand Up @@ -1243,3 +1248,7 @@ FMA4_TEST(VFMADDSUB, P, true)
FMA4_TEST(VFMSUBADD, P, true)

} // namespace Gen

#ifdef _MSC_VER
#pragma optimize("", on)
#endif
2 changes: 1 addition & 1 deletion Source/UnitTests/UnitTests.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="..\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
Expand Down
2 changes: 1 addition & 1 deletion Source/UnitTests/UnitTests.vcxproj.user
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!--For some stupid reason this has to be in the .user file...-->
<!--This is only used to allow UnitTests to find OpenAL DLL...kinda hacky-->
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/Base.Macros.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<PropertyGroup Label="UserMacros">
<DolphinRelease Condition="'$(DolphinRelease)'!='true' or '$(Configuration)'!='Release'">false</DolphinRelease>
<TargetSuffix></TargetSuffix>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/Base.Targets.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
Expand Down
10 changes: 9 additions & 1 deletion Source/VSProps/Base.props
@@ -1,12 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="Base.Macros.props" Condition="'$(BaseMacrosImported)'==''" />
<PropertyGroup>
<IntDir>$(BuildRootDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir>$(IntDir)bin\</OutDir>
<TargetName Condition="'$(ConfigurationType)'=='Application'">$(ProjectName)$(TargetSuffix)</TargetName>
<!--Set link /INCREMENTAL:NO to remove some entropy from builds (assists with deterministic build)-->
<LinkIncremental>false</LinkIncremental>
<!--
This works around some dependency tracking bugs where msbuild sees project outputs (object files) as inputs
to that same project, causing unstable build. see https://developercommunity.visualstudio.com/t/1703887
It also tends to poorly predict how much resources will actually be used in solutions with many diverse
project sizes (like dolphin...)
TODO This should be the default behavior in VS 17.2
-->
<UseMSBuildResourceManager>false</UseMSBuildResourceManager>
</PropertyGroup>
<ItemDefinitionGroup>
<!--ClCompile Base-->
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/ClDisableAllWarnings.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/Configuration.Application.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="Configuration.Base.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/Configuration.Base.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<PropertyGroup Label="Configuration">
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/Configuration.StaticLibrary.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="Configuration.Base.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/Configuration.Utility.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Import Project="Configuration.Base.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/PCHCommon.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/PCHCreate.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ImportGroup Label="PropertySheets">
<Import Project="PCHCommon.props" />
</ImportGroup>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/PCHUse.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<ImportGroup Label="PropertySheets">
<Import Project="Base.Macros.props" Condition="'$(BaseMacrosImported)'==''" />
<Import Project="PCHCommon.props" />
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/QtCompile.props
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<PropertyGroup Label="UserMacros">
<QTDIRDefault Condition="'$(Platform)'=='x64'">$(ExternalsDir)Qt\Qt5.15.0\msvc2019_64\</QTDIRDefault>
<QTDIRDefault Condition="'$(Platform)'=='ARM64'">$(ExternalsDir)Qt\Qt5.15.0\msvc2019_arm64\</QTDIRDefault>
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/qt_globals.targets
Expand Up @@ -34,7 +34,7 @@
/// Qt/MSBuild global definitions
///////////////////////////////////////////////////////////////////////////////////////////////////
// -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>

<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/qt_tasks.targets
Expand Up @@ -33,7 +33,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////
// Helper inline tasks used by the Qt/MSBuild targets
// -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>

<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/qtmoc.props
Expand Up @@ -32,7 +32,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////
// Qt/MSBuild moc property definitions
// -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Import pre-requisites
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/qtmoc.targets
Expand Up @@ -34,7 +34,7 @@
// Definitions specific to moc
///////////////////////////////////////////////////////////////////////////////////////////////////
// -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<!--
/////////////////////////////////////////////////////////////////////////////////////////////////
// Import pre-requisites
Expand Down
2 changes: 1 addition & 1 deletion Source/VSProps/qtmoc_cl.targets
Expand Up @@ -28,7 +28,7 @@
**
*****************************************************************************
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project>
<Target Name="QtMocOverrideCpp" DependsOnTargets="QtMocPrepare;QtGetDefaultClCompile"
Inputs="%(QtMoc.Identity)" Outputs="@(QtMoc->'####### Don't skip this target #######')">

Expand Down