<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <LangVersion>latest</LangVersion>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <RootNamespace>PixiEditor.AvaloniaUI</RootNamespace>
    <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>
    <AvaloniaResource Include="Images\**"/>
    <AvaloniaResource Include="Fonts\**"/>
    <AvaloniaResource Include="Data\**"/>
    <AvaloniaResource Include="Data\Languages\**"/>
    <AvaloniaResource Include="Data\ShortcutActionMaps\**"/>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="AsyncImageLoader.Avalonia" Version="3.2.1"/>
    <PackageReference Include="Avalonia" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="Avalonia.Headless" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="Avalonia.Labs.Lottie" Version="11.0.10.1"/>
    <PackageReference Include="Avalonia.Themes.Fluent" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="Avalonia.Skia" Version="$(AvaloniaVersion)"/>
    <PackageReference Include="Avalonia.Svg.Skia" Version="11.0.0.18"/>
    <!--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.1"/>
    <PackageReference Include="CLSEncoderDecoder" Version="1.0.0"/>
    <PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2"/>
    <PackageReference Include="DiscordRichPresence" Version="1.2.1.24"/>
    <PackageReference Include="Hardware.Info" Version="11.0.0"/>
    <PackageReference Include="Microsoft.CodeAnalysis.Common" Version="4.9.2"/>
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2"/>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3"/>
    <PackageReference Include="PixiEditor.ColorPicker.Models" Version="1.0.5"/>
    <PackageReference Include="PixiEditor.Parser" Version="3.4.0"/>
    <PackageReference Include="PixiEditor.Parser.Skia" Version="3.0.1"/>
    <PackageReference Include="PixiEditor.ColorPicker.AvaloniaUI" Version="1.0.5"/>
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\..\PixiDocks\src\PixiDocks.Avalonia\PixiDocks.Avalonia.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.DrawingApi.Core\PixiEditor.DrawingApi.Core.csproj"/>
    <ProjectReference Include="..\PixiEditor.DrawingApi.Skia\PixiEditor.DrawingApi.Skia.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.OperatingSystem\PixiEditor.OperatingSystem.csproj"/>
    <ProjectReference Include="..\PixiEditor.Platform.MSStore\PixiEditor.Platform.MSStore.csproj"/>
    <ProjectReference Include="..\PixiEditor.Platform.Standalone\PixiEditor.Platform.Standalone.csproj"/>
    <ProjectReference Include="..\PixiEditor.Platform.Steam\PixiEditor.Platform.Steam.csproj"/>
    <ProjectReference Include="..\PixiEditor.Platform\PixiEditor.Platform.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>
    <Reference Include="PixiDocks.Avalonia">
      <HintPath>..\..\..\PixiDocks\src\PixiDocks.Avalonia\bin\Debug\net8.0\PixiDocks.Avalonia.dll</HintPath>
    </Reference>
    <Reference Include="PixiDocks.Core">
      <HintPath>..\..\..\PixiDocks\src\PixiDocks.Core\bin\Debug\net8.0\PixiDocks.Core.dll</HintPath>
    </Reference>
  </ItemGroup>

  <ItemGroup>
    <Content Include="../../LICENSE">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <Content Include="../../THIRD_PARTY_LICENSES.txt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

  <ItemGroup>
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Clipboard\Copy.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Clipboard\Cut.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Clipboard\Paste.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Clipboard\PasteAsNewLayer.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Clipboard\PasteReferenceLayer.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\CenterContent.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\ResizeCanvas.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\ResizeDocument.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\Rotate180Deg.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\Rotate180DegLayers.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\Rotate270Deg.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\Rotate270DegLayers.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\Rotate90Deg.png" />
    <UpToDateCheckInput Remove="Images\Commands\PixiEditor\Document\Rotate90DegLayers.png" />
    <UpToDateCheckInput Remove="Images\News\Article.png" />
    <UpToDateCheckInput Remove="Images\News\Misc.png" />
    <UpToDateCheckInput Remove="Images\News\NewVersion.png" />
    <UpToDateCheckInput Remove="Images\News\OfficialAnnouncement.png" />
    <UpToDateCheckInput Remove="Images\News\YouTube.png" />
    <UpToDateCheckInput Remove="Styles\Templates\NodeProperties\ImageNodePropertyView.axaml" />
  </ItemGroup>

  <ItemGroup>
    <Compile Update="Views\Dock\TimelineDockView.axaml.cs">
      <DependentUpon>TimelineDockView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\Nodes\Properties\NodeSocket.cs">
      <DependentUpon>NodeSocket.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\Nodes\ConnectionView.cs">
      <SubType>Code</SubType>
    </Compile>
  </ItemGroup>

</Project>
