<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <LangVersion>latest</LangVersion>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
    <RepositoryUrl>https://github.com/PixiEditor/PixiEditor</RepositoryUrl>
    <PackageLicenseFile>LICENSE</PackageLicenseFile>
    <PackageIcon>icon.ico</PackageIcon>
    <ApplicationIcon>..\icon.ico</ApplicationIcon>
    <Authors>Krzysztof Krysiński, Egor Mozgovoy, CPK, Contributors</Authors>
    <Configurations>Debug;Release;MSIX;MSIX Debug;Steam;DevRelease;DevSteam</Configurations>
    <Platforms>x64;arm64</Platforms>
    <RuntimeIdentifiers>win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
    <ImplicitUsings>true</ImplicitUsings>
    <LangVersion>latest</LangVersion>
    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
  </PropertyGroup>

  <ItemGroup Condition="'$(RuntimeIdentifier)'=='win-x64'">
    <ProjectReference Include="..\PixiEditor.Windows\PixiEditor.Windows.csproj"/>
  </ItemGroup>

  <ItemGroup Condition="'$(RuntimeIdentifier)'=='win-arm64'">
    <ProjectReference Include="..\PixiEditor.Windows\PixiEditor.Windows.csproj"/>
  </ItemGroup>

  <ItemGroup Condition="'$(RuntimeIdentifier)'=='linux-x64'">
    <ProjectReference Include="..\PixiEditor.Linux\PixiEditor.Linux.csproj"/>
  </ItemGroup>

  <ItemGroup Condition="'$(RuntimeIdentifier)'=='linux-arm64'">
    <ProjectReference Include="..\PixiEditor.Linux\PixiEditor.Linux.csproj"/>
  </ItemGroup>

  <ItemGroup Condition="'$(RuntimeIdentifier)'=='osx-x64'">
    <ProjectReference Include="..\PixiEditor.MacOs\PixiEditor.MacOs.csproj"/>
  </ItemGroup>

  <ItemGroup Condition="'$(RuntimeIdentifier)'=='osx-arm64'">
    <ProjectReference Include="..\PixiEditor.MacOs\PixiEditor.MacOs.csproj"/>
  </ItemGroup>

  <ItemGroup Condition="'$(Configuration)' == 'Steam'">
    <ProjectReference Include="..\PixiEditor.Platform.Steam\PixiEditor.Platform.Steam.csproj"/>
  </ItemGroup>

  <ItemGroup Condition="'$(Configuration)' == 'DevSteam'">
    <ProjectReference Include="..\PixiEditor.Platform.Steam\PixiEditor.Platform.Steam.csproj"/>
  </ItemGroup>
  
  <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
    <ProjectReference Include="..\PixiEditor.Platform.Standalone\PixiEditor.Platform.Standalone.csproj"/>
  </ItemGroup>

  <ItemGroup Condition=" '$(Configuration)' == 'Release' ">
    <ProjectReference Include="..\PixiEditor.Platform.Standalone\PixiEditor.Platform.Standalone.csproj"/>
  </ItemGroup>
  
  <ItemGroup Condition=" '$(Configuration)' == 'DevRelease' ">
    <ProjectReference Include="..\PixiEditor.Platform.Standalone\PixiEditor.Platform.Standalone.csproj"/>
  </ItemGroup>
  
  <ItemGroup Condition=" '$(Configuration)' == 'MSIX' ">
    <ProjectReference Include="..\PixiEditor.Platform.MSStore\PixiEditor.Platform.MSStore.csproj"/>
  </ItemGroup>
  
  <ItemGroup Condition=" '$(Configuration)' == 'MSIX Debug' ">
    <ProjectReference Include="..\PixiEditor.Platform.MSStore\PixiEditor.Platform.MSStore.csproj"/>
  </ItemGroup>

  <ItemGroup>
    <AvaloniaResource Include="Images\**"/>
    <AvaloniaResource Include="Fonts\**"/>
    <AvaloniaResource Include="Data\**"/>
    <AvaloniaResource Include="Data\Languages\**"/>
    <AvaloniaResource Include="Data\ShortcutActionMaps\**"/>
    <AvaloniaResource Include="Data\BetaExampleFiles\**"/>
    <AvaloniaResource Include="Data\Configs\**"/>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="AsyncImageLoader.Avalonia" Version="3.3.0" />
    <PackageReference Include="Avalonia" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="Avalonia.Headless" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="Avalonia.Labs.Lottie" Version="11.2.0"/>
    <PackageReference Include="Avalonia.Themes.Fluent" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="Avalonia.Skia" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="Avalonia.Svg.Skia" Version="11.2.0" />
    <!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
    <PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="ByteSize" Version="2.1.2" />
    <PackageReference Include="CLSEncoderDecoder" Version="1.0.0"/>
    <PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
    <PackageReference Include="DiscordRichPresence" Version="1.2.1.24"/>
    <PackageReference Include="Hardware.Info" Version="101.0.0" />
    <PackageReference Include="Microsoft.CodeAnalysis.Common" Version="4.11.0" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3"/>
    <PackageReference Include="PixiEditor.ColorPicker.AvaloniaUI" Version="1.0.6"/>
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Drawie\src\Drawie.Interop.Avalonia\Drawie.Interop.Avalonia.csproj" />
    <ProjectReference Include="..\Drawie\src\Drawie.Interop.Avalonia.Core\Drawie.Interop.Avalonia.Core.csproj" />
    <ProjectReference Include="..\PixiDocks\src\PixiDocks.Avalonia\PixiDocks.Avalonia.csproj"/>
    <ProjectReference Include="..\PixiEditor.SVG\PixiEditor.SVG.csproj" />
    <ProjectReference Include="..\PixiParser\src\PixiParser.Skia\PixiParser.Skia.csproj"/>
    <ProjectReference Include="..\PixiParser\src\PixiParser\PixiParser.csproj"/>
    <ProjectReference Include="..\ChunkyImageLib\ChunkyImageLib.csproj"/>
    <ProjectReference Include="..\PixiEditor.AnimationRenderer.Core\PixiEditor.AnimationRenderer.Core.csproj"/>
    <ProjectReference Include="..\PixiEditor.AnimationRenderer.FFmpeg\PixiEditor.AnimationRenderer.FFmpeg.csproj"/>
    <ProjectReference Include="..\PixiEditor.ChangeableDocument.Gen\PixiEditor.ChangeableDocument.Gen.csproj"/>
    <ProjectReference Include="..\PixiEditor.ChangeableDocument\PixiEditor.ChangeableDocument.csproj"/>
    <ProjectReference Include="..\PixiEditor.Extensions.Runtime\PixiEditor.Extensions.Runtime.csproj"/>
    <ProjectReference Include="..\PixiEditor.Extensions.WasmRuntime\PixiEditor.Extensions.WasmRuntime.csproj"/>
    <ProjectReference Include="..\PixiEditor.Extensions\PixiEditor.Extensions.csproj"/>
    <ProjectReference Include="..\PixiEditor.UI.Common\PixiEditor.UI.Common.csproj"/>
    <ProjectReference Include="..\PixiEditor.UpdateModule\PixiEditor.UpdateModule.csproj"/>
    <ProjectReference Include="..\PixiEditor.Zoombox\PixiEditor.Zoombox.csproj"/>
    <ProjectReference Include="..\PixiEditor.Gen\PixiEditor.Gen.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
  </ItemGroup>

  <ItemGroup>
    <Content Include="../../LICENSE">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <!--Would be great to automate that on publish-->
    <None Include="../../Third Party Licenses/**" LinkBase="Third Party Licenses/">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>

  <ItemGroup>
    <Compile Update="Views\Tools\ToolSettings\Settings\PercentSettingView.axaml.cs">
      <DependentUpon>PercentSettingView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
  </ItemGroup>

</Project>
