mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-12-29 21:11:04 +01:00
0f3695a14b
Audio on Windows is provided by the cubeb (shared mode) and WASAPI (exclusive mode) backends, both of which exhibit lower latency.
193 lines
12 KiB
XML
193 lines
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ImportGroup Label="PropertySheets" />
|
|
<PropertyGroup Label="UserMacros">
|
|
<DolphinRelease Condition="'$(DolphinRelease)'!='true' or '$(Configuration)'!='Release'">false</DolphinRelease>
|
|
<TargetSuffix>
|
|
</TargetSuffix>
|
|
<TargetSuffix Condition="'$(Configuration)'=='Debug'">D</TargetSuffix>
|
|
<DolphinRootDir>$(SolutionDir)..\</DolphinRootDir>
|
|
<BuildRootDir>$(DolphinRootDir)Build\</BuildRootDir>
|
|
<BinaryRootDir>$(DolphinRootDir)Binary\</BinaryRootDir>
|
|
<BinaryOutputDir>$(BinaryRootDir)$(Platform)\</BinaryOutputDir>
|
|
<ExternalsDir>$(DolphinRootDir)Externals\</ExternalsDir>
|
|
<CoreDir>$(SolutionDir)Core\</CoreDir>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<!--
|
|
Opt-in to x64 compiler and tools.
|
|
Unfortunately we can't set this property here, as it'll be overridden later. Instead, set it
|
|
from commandline if you're interested in using x64 toolset
|
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
|
-->
|
|
<IntDir>$(BuildRootDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
|
<OutDir>$(IntDir)bin\</OutDir>
|
|
<TargetName Condition="'$(ConfigurationType)'=='Application'">$(ProjectName)$(TargetSuffix)</TargetName>
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup>
|
|
<!--ClCompile Base-->
|
|
<ClCompile>
|
|
<!--
|
|
Coagulate all the needed include directories.
|
|
Order matters! (first hit, first use).
|
|
Note: Directory containing source file being compiled is always searched first.
|
|
-->
|
|
<AdditionalIncludeDirectories>$(CoreDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)Bochs_disasm;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)cpp-optparse;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)FreeSurround\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)cubeb\include;$(ExternalsDir)cubeb\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)curl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)enet\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)ffmpeg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)fmt\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)GL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)glslang\glslang\Public;$(ExternalsDir)glslang\SPIRV;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)imgui;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)libpng;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)libusb\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)LZO;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)miniupnpc\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)mbedtls\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)pugixml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)SFML\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)Vulkan\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)xxhash;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalIncludeDirectories>$(ExternalsDir)zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>HAVE_FFMPEG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions>FMT_HEADER_ONLY=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions>USE_UPNP;USE_USBDK;__LIBUSB__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions>_M_X86=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions>SFML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions>USE_ANALYTICS=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions>USE_DISCORD_PRESENCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions>CURL_STATICLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">_ARCH_64=1;_M_X86_64=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<!--
|
|
Make sure we include a clean version of windows.h.
|
|
-->
|
|
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<!--
|
|
This numeral indicates the "minimum system required" to run the resulting
|
|
program. Dolphin targets Vista+, so it should be 0x0600. However in practice,
|
|
_WIN32_WINNT just removes up-level API declarations from headers. This is a
|
|
problem for XInput, where Dolphin expects to compile against the Win8+
|
|
versions of the headers. So while we really need Vista+ level of support,
|
|
we declare Win8+ here globally. If this becomes a problem, the higher
|
|
declaration can be contained to just the XInput related code.
|
|
-->
|
|
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<WarningLevel>Level4</WarningLevel>
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
<MinimalRebuild>false</MinimalRebuild>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<!--Enable latest C++ standard-->
|
|
<LanguageStandard>stdcpplatest</LanguageStandard>
|
|
<!--Enable Standard Conformance-->
|
|
<ConformanceMode>true</ConformanceMode>
|
|
<!--Enforce some behaviors as standards-conformant when they don't default as such-->
|
|
<AdditionalOptions>/Zc:throwingNew /volatile:iso %(AdditionalOptions)</AdditionalOptions>
|
|
<!--Enable detailed debug info-->
|
|
<AdditionalOptions>/Zo %(AdditionalOptions)</AdditionalOptions>
|
|
<!--Treat sources as utf-8-->
|
|
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
|
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
|
<DiagnosticsFormat>Caret</DiagnosticsFormat>
|
|
<!--
|
|
4996 is for GetVersionEx being marked as deprecated - which is idiotic and there's not much
|
|
else we can do since many externals use it. The bad part is that there doesn't
|
|
seem to be a way to only ignore the specific instance we don't care about...
|
|
4351 new behavior: elements of array 'array' will be default initialized
|
|
-->
|
|
<DisableSpecificWarnings>4996;4351;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
|
<!-- Warnings one may want to ignore when using Level4.
|
|
4201 nonstandard extension used : nameless struct/union
|
|
4127 conditional expression is constant
|
|
4100 'identifier' : unreferenced formal parameter
|
|
4244 'conversion' conversion from 'type1' to 'type2', possible loss of data
|
|
Level4 warns if type1==int and there is narrowing
|
|
4121 'symbol' : alignment of a member was sensitive to packing
|
|
4324 Padding was added at the end of a structure because you specified a __declspec(align) value.
|
|
4714 function 'function' marked as __forceinline not inlined
|
|
-->
|
|
<DisableSpecificWarnings>4201;4127;4100;4244;4121;4324;4714;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
|
<!-- Level4 warnings which should eventually be enabled
|
|
4245 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch
|
|
Currently jits use some annoying code patterns which makes this common
|
|
-->
|
|
<DisableSpecificWarnings>4245;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
|
<!-- Enable some off-by-default warnings
|
|
4263 Non-virtual member function hides base class virtual function
|
|
4265 Class has virtual functions, but destructor is not virtual
|
|
4946 Reinterpret cast between related types
|
|
-->
|
|
<AdditionalOptions>/w44263 /w44265 /w44946 %(AdditionalOptions)</AdditionalOptions>
|
|
</ClCompile>
|
|
<!--ClCompile Debug-->
|
|
<ClCompile Condition="'$(Configuration)'=='Debug'">
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
<PreprocessorDefinitions>_DEBUG;_SECURE_SCL=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
<Optimization>Disabled</Optimization>
|
|
</ClCompile>
|
|
<!--ClCompile Release-->
|
|
<ClCompile Condition="'$(Configuration)'=='Release'">
|
|
<WholeProgramOptimization Condition="'$(DolphinRelease)'=='true'">true</WholeProgramOptimization>
|
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
<OmitFramePointers>true</OmitFramePointers>
|
|
<StringPooling>true</StringPooling>
|
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
|
<FunctionLevelLinking>false</FunctionLevelLinking>
|
|
<PreprocessorDefinitions>_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<!--Link Base-->
|
|
<Link>
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
|
|
</Link>
|
|
<!--Link Release-->
|
|
<Link Condition="'$(Configuration)'=='Release'">
|
|
<LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
</Link>
|
|
<!--Link Base:Application-->
|
|
<Link Condition="'$(ConfigurationType)'=='Application'">
|
|
<!--See Common/CompatPatches.cpp-->
|
|
<ForceSymbolReferences>enableCompatPatches</ForceSymbolReferences>
|
|
<!--TODO fix up ffmpeg garbage-->
|
|
<AdditionalOptions>/NODEFAULTLIB:libcmt %(AdditionalOptions)</AdditionalOptions>
|
|
</Link>
|
|
<Lib>
|
|
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
|
|
<LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">true</LinkTimeCodeGeneration>
|
|
</Lib>
|
|
<!--
|
|
Prefer VTune 2015 over 2013 but support both since there is no non-commercial license for 2015 :(
|
|
-->
|
|
<ItemDefinitionGroup Condition="Exists('$(VTUNE_AMPLIFIER_XE_2015_DIR)')">
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);"$(VTUNE_AMPLIFIER_XE_2015_DIR)\include"</AdditionalIncludeDirectories>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);"$(VTUNE_AMPLIFIER_XE_2015_DIR)\lib64"</AdditionalLibraryDirectories>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="Exists('$(VTUNE_AMPLIFIER_XE_2013_DIR)') And !Exists('$(VTUNE_AMPLIFIER_XE_2015_DIR)')">
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);"$(VTUNE_AMPLIFIER_XE_2013_DIR)\include"</AdditionalIncludeDirectories>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);"$(VTUNE_AMPLIFIER_XE_2013_DIR)\lib64"</AdditionalLibraryDirectories>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup />
|
|
</Project>
|