dolphin/Source/UnitTests/UnitTests.vcxproj
JosJuice 9594ce871d UnitTests: Remove MSBuild input/output tracking
Input/output tracking is intended to speed up incremental builds by
skipping a target when it doesn't need to be built. However, this seems
to be unreliable for UnitTests' AfterBuild target. Let's remove it.

It's still the case that UnitTests' AfterBuild target will be skipped if
UnitTests doesn't need to be rebuilt. (Note that UnitTests always needs
to be rebuilt if SCMRevGen changed.)

I haven't seen these problems with DolphinQt's rather similar
input/output tracking. This may be because DolphinQt's one also has the
exe file as an input/output.
2024-08-17 15:59:45 +02:00

121 lines
5.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="..\VSProps\Base.Macros.props" />
<Import Project="$(VSPropsDir)Base.Targets.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{474661E7-C73A-43A6-AFEE-EE1EC433D49E}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VSPropsDir)Configuration.Application.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VSPropsDir)Base.props" />
<Import Project="$(VSPropsDir)Base.Dolphin.props" />
<Import Project="$(VSPropsDir)PCHUse.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<!--This project also compiles gtest-->
<ClCompile>
<AdditionalIncludeDirectories>$(ExternalsDir)gtest\googletest\include;$(ExternalsDir)gtest\googletest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="Core\DSP\DSPTestBinary.h" />
<ClInclude Include="Core\DSP\DSPTestText.h" />
<ClInclude Include="Core\DSP\HermesBinary.h" />
<ClInclude Include="Core\DSP\HermesText.h" />
<ClInclude Include="Core\IOS\ES\TestBinaryData.h" />
<ClInclude Include="Core\PowerPC\TestValues.h" />
</ItemGroup>
<ItemGroup>
<!--gtest is rather small, so just include it into the build here-->
<ClCompile Include="$(ExternalsDir)gtest\googletest\src\gtest-all.cc" />
<!--Lump all of the tests (and supporting code) into one binary-->
<ClCompile Include="UnitTestsMain.cpp" />
<ClCompile Include="Common\BitFieldTest.cpp" />
<ClCompile Include="Common\BitSetTest.cpp" />
<ClCompile Include="Common\BitUtilsTest.cpp" />
<ClCompile Include="Common\BlockingLoopTest.cpp" />
<ClCompile Include="Common\BusyLoopTest.cpp" />
<ClCompile Include="Common\CommonFuncsTest.cpp" />
<ClCompile Include="Common\Crypto\EcTest.cpp" />
<ClCompile Include="Common\Crypto\SHA1Test.cpp" />
<ClCompile Include="Common\EnumFormatterTest.cpp" />
<ClCompile Include="Common\EventTest.cpp" />
<ClCompile Include="Common\FileUtilTest.cpp" />
<ClCompile Include="Common\FixedSizeQueueTest.cpp" />
<ClCompile Include="Common\FlagTest.cpp" />
<ClCompile Include="Common\FloatUtilsTest.cpp" />
<ClCompile Include="Common\MathUtilTest.cpp" />
<ClCompile Include="Common\NandPathsTest.cpp" />
<ClCompile Include="Common\SettingsHandlerTest.cpp" />
<ClCompile Include="Common\SPSCQueueTest.cpp" />
<ClCompile Include="Common\StringUtilTest.cpp" />
<ClCompile Include="Common\SwapTest.cpp" />
<ClCompile Include="Core\CoreTimingTest.cpp" />
<ClCompile Include="Core\DSP\DSPAcceleratorTest.cpp" />
<ClCompile Include="Core\DSP\DSPAssemblyTest.cpp" />
<ClCompile Include="Core\DSP\DSPTestBinary.cpp" />
<ClCompile Include="Core\DSP\DSPTestText.cpp" />
<ClCompile Include="Core\DSP\HermesBinary.cpp" />
<ClCompile Include="Core\DSP\HermesText.cpp" />
<ClCompile Include="Core\IOS\ES\FormatsTest.cpp" />
<ClCompile Include="Core\IOS\FS\FileSystemTest.cpp" />
<ClCompile Include="Core\IOS\USB\SkylandersTest.cpp" />
<ClCompile Include="Core\MMIOTest.cpp" />
<ClCompile Include="Core\PageFaultTest.cpp" />
<ClCompile Include="Core\PatchAllowlistTest.cpp" />
<ClCompile Include="Core\PowerPC\DivUtilsTest.cpp" />
<ClCompile Include="VideoCommon\VertexLoaderTest.cpp" />
<ClCompile Include="StubHost.cpp" />
</ItemGroup>
<!--Arch-specific tests-->
<ItemGroup Condition="'$(Platform)'=='x64'">
<ClCompile Include="Common\x64EmitterTest.cpp" />
<ClCompile Include="Core\PowerPC\Jit64Common\ConvertDoubleToSingle.cpp" />
<ClCompile Include="Core\PowerPC\Jit64Common\Frsqrte.cpp" />
</ItemGroup>
<ItemGroup Condition="'$(Platform)'=='ARM64'">
<ClCompile Include="Common\Arm64EmitterTest.cpp" />
<ClCompile Include="Core\PowerPC\JitArm64\ConvertSingleDouble.cpp" />
<ClCompile Include="Core\PowerPC\JitArm64\FPRF.cpp" />
<ClCompile Include="Core\PowerPC\JitArm64\Fres.cpp" />
<ClCompile Include="Core\PowerPC\JitArm64\Frsqrte.cpp" />
<ClCompile Include="Core\PowerPC\JitArm64\MovI2R.cpp" />
</ItemGroup>
<ItemGroup>
<Text Include="CMakeLists.txt" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="$(CoreDir)DolphinLib.vcxproj">
<Project>{D79392F7-06D6-4B4B-A39F-4D587C215D3A}</Project>
</ProjectReference>
<ProjectReference Include="$(DolphinRootDir)Languages\Languages.vcxproj">
<Project>{0e033be3-2e08-428e-9ae9-bc673efa12b5}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(ExternalsDir)Bochs_disasm\exports.props" />
<Import Project="$(ExternalsDir)fmt\exports.props" />
<Import Project="$(ExternalsDir)picojson\exports.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ItemGroup>
<DataSysFiles Include="$(DolphinRootDir)Data\**\Sys\**\*.*" />
</ItemGroup>
<Target Name="AfterBuild">
<Message Text="Copying Data directory..." Importance="High" />
<RemoveDir Directories="$(TargetDir)Sys" />
<Copy SourceFiles="@(DataSysFiles)" DestinationFolder="$(TargetDir)%(RecursiveDir)" SkipUnchangedFiles="True" />
</Target>
<Target Name="ExecUnitTests" AfterTargets="AfterBuild" Condition="'$(RunUnitTests)'=='true'">
<!--This is only executed via msbuild, VS test runner automatically does this-->
<Exec Command="$(TargetPath)" />
</Target>
</Project>