310 lines
18 KiB
XML
310 lines
18 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project InitialTargets="UNDUPOBJ" DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
<ProjectConfiguration Include="Debug-Compatibility|Win32">
|
|
<Configuration>Debug-Compatibility</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Debug-Performance|Win32">
|
|
<Configuration>Debug-Performance</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release-Compatibility|Win32">
|
|
<Configuration>Release-Compatibility</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release-Performance|Win32">
|
|
<Configuration>Release-Performance</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
</ItemGroup>
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{488B77AD-58DF-4E01-9329-67B20D486860}</ProjectGuid>
|
|
<RootNamespace>libsnes</RootNamespace>
|
|
<TargetPlatformVersion>8.1</TargetPlatformVersion>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'" Label="Configuration">
|
|
<ConfigurationType>Application</ConfigurationType>
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
<PlatformToolset>v140_xp</PlatformToolset>
|
|
<CharacterSet>NotSet</CharacterSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'" Label="Configuration">
|
|
<ConfigurationType>Application</ConfigurationType>
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
<PlatformToolset>v140_xp</PlatformToolset>
|
|
<CharacterSet>NotSet</CharacterSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'" Label="Configuration">
|
|
<ConfigurationType>Application</ConfigurationType>
|
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
<PlatformToolset>v140_xp</PlatformToolset>
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
<CharacterSet>NotSet</CharacterSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'" Label="Configuration">
|
|
<ConfigurationType>Application</ConfigurationType>
|
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
<PlatformToolset>v140_xp</PlatformToolset>
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
<CharacterSet>NotSet</CharacterSet>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
<ImportGroup Label="ExtensionSettings">
|
|
</ImportGroup>
|
|
<ImportGroup Label="Shared">
|
|
</ImportGroup>
|
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'" Label="PropertySheets">
|
|
<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-Performance|Win32'">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'" Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<PropertyGroup Label="UserMacros" />
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">
|
|
<OutDir>..\..\output\dll</OutDir>
|
|
<TargetName>libsneshawk-32-performance</TargetName>
|
|
<IntDir>.obj\$(Configuration)\</IntDir>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">
|
|
<OutDir>..\..\output\dll</OutDir>
|
|
<TargetName>libsneshawk-32-compatibility</TargetName>
|
|
<IntDir>.obj\$(Configuration)\</IntDir>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">
|
|
<TargetName>libsneshawk-32-compatibility</TargetName>
|
|
<OutDir>..\..\output\dll</OutDir>
|
|
<IntDir>.obj\$(Configuration)\</IntDir>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">
|
|
<TargetName>libsneshawk-32-performance</TargetName>
|
|
<OutDir>..\..\output\dll</OutDir>
|
|
<IntDir>.obj\$(Configuration)\</IntDir>
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">
|
|
<ClCompile>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<Optimization>Disabled</Optimization>
|
|
<SDLCheck>false</SDLCheck>
|
|
<AdditionalIncludeDirectories>$(ProjectDir)../bsnes</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>HOOKS;BIZHAWK;PROFILE_PERFORMANCE;GAMEBOY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<MinimalRebuild>false</MinimalRebuild>
|
|
</ClCompile>
|
|
<Link>
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">
|
|
<ClCompile>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<Optimization>Disabled</Optimization>
|
|
<SDLCheck>false</SDLCheck>
|
|
<AdditionalIncludeDirectories>$(ProjectDir)../bsnes</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>HOOKS;BIZHAWK;PROFILE_COMPATIBILITY;GAMEBOY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<MinimalRebuild>false</MinimalRebuild>
|
|
</ClCompile>
|
|
<Link>
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">
|
|
<ClCompile>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<Optimization>Full</Optimization>
|
|
<FunctionLevelLinking>false</FunctionLevelLinking>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<SDLCheck>false</SDLCheck>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<AdditionalIncludeDirectories>$(ProjectDir)../bsnes</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>HOOKS;BIZHAWK;PROFILE_PERFORMANCE;GAMEBOY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<DebugInformationFormat>None</DebugInformationFormat>
|
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
<OmitFramePointers>true</OmitFramePointers>
|
|
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
|
|
<FloatingPointModel>Fast</FloatingPointModel>
|
|
</ClCompile>
|
|
<Link>
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">
|
|
<ClCompile>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<Optimization>MaxSpeed</Optimization>
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<SDLCheck>false</SDLCheck>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<AdditionalIncludeDirectories>$(ProjectDir)../bsnes</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>HOOKS;BIZHAWK;PROFILE_COMPATIBILITY;GAMEBOY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<DebugInformationFormat>None</DebugInformationFormat>
|
|
</ClCompile>
|
|
<Link>
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="..\bsnes\base\base.hpp" />
|
|
<ClInclude Include="..\bsnes\gameboy\apu\apu.hpp" />
|
|
<ClInclude Include="..\bsnes\gameboy\cheat\cheat.hpp" />
|
|
<ClInclude Include="..\bsnes\gameboy\gameboy.hpp" />
|
|
<ClInclude Include="..\bsnes\snes\profile-accuracy.hpp" />
|
|
<ClInclude Include="..\bsnes\snes\profile-compatibility.hpp" />
|
|
<ClInclude Include="..\bsnes\snes\profile-performance.hpp" />
|
|
<ClInclude Include="..\bsnes\snes\snes.hpp" />
|
|
<ClInclude Include="..\bsnes\target-libsnes\libsnes.hpp" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="..\bsnes\gameboy\apu\apu.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\cartridge\cartridge.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\cheat\cheat.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\cpu\cpu.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\interface\interface.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\lcd\lcd.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\memory\memory.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\scheduler\scheduler.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\system\system.cpp" />
|
|
<ClCompile Include="..\bsnes\gameboy\video\video.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\alt\cpu\cpu.cpp">
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
</ClCompile>
|
|
<ClCompile Include="..\bsnes\snes\alt\dsp\dsp.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\alt\ppu-compatibility\ppu.cpp">
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
|
|
</ClCompile>
|
|
<ClCompile Include="..\bsnes\snes\alt\ppu-performance\ppu.cpp">
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
</ClCompile>
|
|
<ClCompile Include="..\bsnes\snes\alt\smp\smp.cpp">
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
</ClCompile>
|
|
<ClCompile Include="..\bsnes\snes\cartridge\cartridge.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\cheat\cheat.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\armdsp\armdsp.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\bsx\bsx.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\hitachidsp\hitachidsp.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\icd2\icd2.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\link\link.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\msu1\msu1.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\necdsp\necdsp.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\nss\nss.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\obc1\obc1.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\sa1\sa1.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\sdd1\sdd1.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\spc7110\spc7110.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\srtc\srtc.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\sufamiturbo\sufamiturbo.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\chip\superfx\superfx.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\config\config.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\controller\controller.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\cpu\core\core.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\cpu\cpu.cpp">
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">false</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">false</ExcludedFromBuild>
|
|
</ClCompile>
|
|
<ClCompile Include="..\bsnes\snes\dsp\dsp.cpp">
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
</ClCompile>
|
|
<ClCompile Include="..\bsnes\snes\interface\interface.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\memory\memory.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\ppu\ppu.cpp">
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
|
|
</ClCompile>
|
|
<ClCompile Include="..\bsnes\snes\smp\core\core.cpp" />
|
|
<ClCompile Include="..\bsnes\snes\smp\smp.cpp">
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">false</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
|
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">false</ExcludedFromBuild>
|
|
</ClCompile>
|
|
<ClCompile Include="..\bsnes\snes\system\system.cpp" />
|
|
<ClCompile Include="..\bsnes\target-libsnes\libsnes.cpp" />
|
|
<ClCompile Include="..\bsnes\target-libsnes\libsnes_pwrap.cpp" />
|
|
<ClCompile Include="..\libco_msvc_win32\libco_msvc_win32.c" />
|
|
</ItemGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<ImportGroup Label="ExtensionTargets">
|
|
</ImportGroup>
|
|
<!-- ================ UNDUPOBJ ================ -->
|
|
<!-- relevant topics -->
|
|
<!-- http://stackoverflow.com/questions/3729515/visual-studio-2010-2008-cant-handle-source-files-with-identical-names-in-diff/26935613 -->
|
|
<!-- http://stackoverflow.com/questions/7033855/msvc10-mp-builds-not-multicore-across-folders-in-a-project -->
|
|
<!-- http://stackoverflow.com/questions/18304911/how-can-one-modify-an-itemdefinitiongroup-from-an-msbuild-target -->
|
|
<!-- other maybe related info -->
|
|
<!-- http://stackoverflow.com/questions/841913/modify-msbuild-itemgroup-metadata -->
|
|
<UsingTask TaskName="UNDUPOBJ_TASK" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
|
<ParameterGroup>
|
|
<OutputDir ParameterType="System.String" Required="true" />
|
|
<ItemList ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
|
|
<OutputItemList ParameterType="Microsoft.Build.Framework.ITaskItem[]" Output="true" />
|
|
</ParameterGroup>
|
|
<Task>
|
|
<Code><![CDATA[
|
|
//general outline: for each item (in ClCompile) assign it to a subdirectory of $(IntDir) by allocating subdirectories 0,1,2, etc., as needed to prevent duplicate filenames from clobbering each other
|
|
//this minimizes the number of batches that need to be run, since each subdirectory will necessarily be in a distinct batch due to /Fo specifying that output subdirectory
|
|
|
|
var assignmentMap = new Dictionary<string,int>();
|
|
foreach( var item in ItemList )
|
|
{
|
|
var filename = item.GetMetadata("Filename");
|
|
|
|
//assign reused filenames to increasing numbers
|
|
//assign previously unused filenames to 0
|
|
int assignment = 0;
|
|
if(assignmentMap.TryGetValue(filename, out assignment))
|
|
assignmentMap[filename] = ++assignment;
|
|
else
|
|
assignmentMap[filename] = 0;
|
|
|
|
var thisFileOutdir = Path.Combine(OutputDir,assignment.ToString()) + "/"; //take care it ends in / so /Fo knows it's a directory and not a filename
|
|
item.SetMetadata( "ObjectFileName", thisFileOutdir );
|
|
}
|
|
|
|
OutputItemList = ItemList;
|
|
ItemList = new Microsoft.Build.Framework.ITaskItem[0];
|
|
|
|
]]></Code>
|
|
</Task>
|
|
</UsingTask>
|
|
<Target Name="UNDUPOBJ">
|
|
<!-- see stackoverflow topics for discussion on why we need to do some loopy copying stuff here -->
|
|
<ItemGroup>
|
|
<ClCompileCopy Include="@(ClCompile)" />
|
|
<ClCompile Remove="@(ClCompile)" />
|
|
</ItemGroup>
|
|
<UNDUPOBJ_TASK OutputDir="$(IntDir)" ItemList="@(ClCompileCopy)" OutputItemList="@(ClCompile)">
|
|
<Output ItemName="ClCompile" TaskParameter="OutputItemList" />
|
|
</UNDUPOBJ_TASK>
|
|
</Target>
|
|
<!-- ================ UNDUPOBJ ================ -->
|
|
</Project> |