<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <PackageId>Womb</PackageId>
    <TargetFramework>net8.0</TargetFramework>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <!-- Warns on whole record copies -->
    <WarnOn>FS3560</WarnOn>
    <OtherFlags>--warnaserror+ --strict-indentation+</OtherFlags>
    <RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
    <PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
    <PackageReadmeFile>README.md</PackageReadmeFile>

    <DefineConstants>$(DefineConstants);TREAT_OPENGL_LINK_FAILURE_AS_ERROR</DefineConstants>
  </PropertyGroup>

  <ItemGroup>
    <None Include="../../$(PackageLicenseFile)" Pack="true" PackagePath="$(PackageLicenseFile)"/>
    <None Include="../../$(PackageReadmeFile)" Pack="true" PackagePath="$(PackageReadmeFile)"/>
    
    <ProjectReference Include="..\ThirdParty\SDL2\SDL2Bindings.csproj" />
    
    <!-- Logging -->
    <Compile Include="Logging.fs" />
    <Compile Include="Lib/Types.fs" />
    <Compile Include="Lib/Math.fs" />
    <!-- OpenGL -->
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL1_0.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL1_1.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL1_2.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL1_3.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL1_4.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL1_5.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL2_0.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL2_1.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL3_0.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL3_1.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL3_2.fs" />
    <Compile Include="Backends/OpenGL/Api/Constants/OpenGL3_3.fs" />
    <Compile Include="Backends/OpenGL/Api/Common.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL1_0.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL1_1.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL1_2.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL1_3.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL1_4.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL1_5.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL2_0.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL2_1.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL3_0.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL3_1.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL3_2.fs" />
    <Compile Include="Backends/OpenGL/Api/OpenGL3_3.fs" />
    <Compile Include="Backends/OpenGL/Module.fs" />
    <!-- Types -->
    <Compile Include="Graphics/Types.fs" />
    <Compile Include="Input/Types.fs" />
    <Compile Include="Graphics/Display.fs" /> <!-- Dependency for Types.fs -->
    <Compile Include="Types.fs" />
    <!-- Graphics -->
    <Compile Include="Graphics/Primitives.fs" />
    <!-- Engine -->
    <Compile Include="Engine/Internals.fs" />
    <!-- Main -->
    <Compile Include="Game.fs" />
    <Content Include="../ThirdParty/**/*.LICENSE">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
</Project>
