<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="..\common\common.props" />

  <ItemDefinitionGroup>
    <ClCompile>
      <PreprocessorDefinitions>%(PreprocessorDefinitions);SOUNDTOUCH_FLOAT_SAMPLES;SOUNDTOUCH_ALLOW_SSE;ST_NO_EXCEPTION_HANDLING=1;SHADERC_SHAREDLIB</PreprocessorDefinitions>
      <PreprocessorDefinitions>ENABLE_CUBEB=1;ENABLE_SDL2=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <PreprocessorDefinitions Condition="'$(Platform)'!='ARM64'">%(PreprocessorDefinitions);ENABLE_OPENGL=1;ENABLE_VULKAN=1</PreprocessorDefinitions>
      <PreprocessorDefinitions Condition="'$(Platform)'=='ARM64'">%(PreprocessorDefinitions);SOUNDTOUCH_USE_NEON</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)dep\xxhash\include;$(SolutionDir)dep\soundtouch\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)dep\simpleini\include;$(SolutionDir)dep\libchdr\include;$(SolutionDir)dep\cubeb\include;$(SolutionDir)dep\d3d12ma\include</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories Condition="'$(Platform)'!='ARM64'">%(AdditionalIncludeDirectories);$(SolutionDir)dep\glad\include;$(SolutionDir)dep\vulkan\include;$(SolutionDir)dep\glslang</AdditionalIncludeDirectories>
    </ClCompile>
  </ItemDefinitionGroup>

  <ItemDefinitionGroup>
    <Link>
      <AdditionalDependencies>%(AdditionalDependencies);d3d11.lib;d3d12.lib;d3dcompiler.lib;dxgi.lib;Dwmapi.lib;winhttp.lib</AdditionalDependencies>
      <AdditionalDependencies Condition="'$(Platform)'!='ARM64'">%(AdditionalDependencies);opengl32.lib</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>

  <Import Condition="$(Configuration.Contains('Debug'))" Project="..\..\dep\winpixeventruntime\WinPixEventRuntime.props" />

  <!-- Dependency linking and DLL copying -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(DepsIncludeDir)SDL2</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <AdditionalDependencies>%(AdditionalDependencies);freetype.lib;libjpeg.lib;libpng16.lib;libwebp.lib;SDL2.lib;shaderc_shared.lib;zlib.lib;zstd.lib</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup>
    <DepsDLLs Include="$(DepsBinDir)freetype.dll" />
    <DepsDLLs Include="$(DepsBinDir)harfbuzz.dll" />
    <DepsDLLs Include="$(DepsBinDir)libjpeg.dll" />
    <DepsDLLs Include="$(DepsBinDir)libpng16.dll" />
    <DepsDLLs Include="$(DepsBinDir)libsharpyuv.dll" />
    <DepsDLLs Include="$(DepsBinDir)libwebp.dll" />
    <DepsDLLs Include="$(DepsBinDir)SDL2.dll" />
    <DepsDLLs Include="$(DepsBinDir)shaderc_shared.dll" />
    <DepsDLLs Include="$(DepsBinDir)zlib1.dll" />
    <DepsDLLs Include="$(DepsBinDir)zstd.dll" />
  </ItemGroup>
  <Target Name="DepsCopyDLLs"
    AfterTargets="Build"
    Inputs="@(DepsDLLs)"
    Outputs="@(DepsDLLs -> '$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')">
    <Message Text="Copying Dependency DLLs" Importance="High" />
    <Copy
      SourceFiles="@(DepsDLLs)"
      DestinationFolder="$(OutDir)"
      SkipUnchangedFiles="true"
    />
  </Target>
</Project>