forked from dolphin-emu/dolphin
		
	
		
			
				
	
	
		
			190 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			190 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)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)GL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
						|
      <AdditionalIncludeDirectories>$(ExternalsDir)glslang\glslang\Public;$(ExternalsDir)glslang\SPIRV;%(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)SOIL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
						|
      <AdditionalIncludeDirectories>$(ExternalsDir)Vulkan\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
						|
      <AdditionalIncludeDirectories>$(ExternalsDir)wxWidgets3;$(ExternalsDir)wxWidgets3\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
						|
      <AdditionalIncludeDirectories>$(ExternalsDir)xxhash;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
						|
      <AdditionalIncludeDirectories>$(ExternalsDir)zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
						|
      <PreprocessorDefinitions>HAVE_FFMPEG;%(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>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 Condition="'$(ProjectName)'!='wxWidgets'">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 XAudio2 and XInput, where Dolphin expects to compile against the
 | 
						|
      Win8+ versions of their 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 XAudio2/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-->
 | 
						|
      <AdditionalOptions>/permissive- %(AdditionalOptions)</AdditionalOptions>
 | 
						|
      <!--Enforce some behaviors as standards-conformant when they don't default as such-->
 | 
						|
      <AdditionalOptions>/Zc:inline /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>
 | 
						|
      <!-- 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>
 |