|
|
@@ -0,0 +1,131 @@
|
|
|
+<?xml version="1.0" encoding="utf-8"?>
|
|
|
+<Project>
|
|
|
+
|
|
|
+ <!-- https://blog.johnnyreilly.com/2021/07/14/directory-build-props-c-sharp-9-for-all -->
|
|
|
+
|
|
|
+ <!-- Legal =================================================================================== -->
|
|
|
+
|
|
|
+ <PropertyGroup>
|
|
|
+ <Authors>Vicente Penades</Authors>
|
|
|
+ <Copyright>Copyright (c) 2021 Vicente Penades</Copyright>
|
|
|
+ <Description>SharpGLTF is a C# library for reading and writing glTF2 3D models</Description>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <!-- Configuration =================================================================================== -->
|
|
|
+
|
|
|
+ <PropertyGroup>
|
|
|
+ <LangVersion>8.0</LangVersion>
|
|
|
+ <IsPackable>true</IsPackable>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <PropertyGroup>
|
|
|
+ <IsTrimmable>true</IsTrimmable>
|
|
|
+ <EnableTrimAnalyzer>true</EnableTrimAnalyzer>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <!-- Testing & Analysers =================================================================================== -->
|
|
|
+
|
|
|
+ <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
|
|
|
+ <InternalsVisibleTo Include="SharpGLTF.Core.Tests"/>
|
|
|
+ <InternalsVisibleTo Include="SharpGLTF.Toolkit.Tests"/>
|
|
|
+ </ItemGroup>
|
|
|
+
|
|
|
+ <PropertyGroup>
|
|
|
+ <NoWarn>1701;1702;1591;CA1062;CA1304;CA1310;CA1000</NoWarn>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <PropertyGroup>
|
|
|
+ <!-- Enable all FxCop rules with NetAnalyzers
|
|
|
+ https://docs.microsoft.com/es-es/visualstudio/code-quality/migrate-from-fxcop-analyzers-to-net-analyzers?view=vs-2022#migration-steps
|
|
|
+ -->
|
|
|
+
|
|
|
+ <AnalysisMode>AllEnabledByDefault</AnalysisMode>
|
|
|
+ <!-- <CodeAnalysisRuleSet>$(MsBuildThisFileDirectory)..\solution.ruleset</CodeAnalysisRuleSet> -->
|
|
|
+
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <ItemGroup>
|
|
|
+
|
|
|
+ <AdditionalFiles Include="$(MsBuildThisFileDirectory)..\stylecop.json" />
|
|
|
+
|
|
|
+ <PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers">
|
|
|
+ <PrivateAssets>all</PrivateAssets>
|
|
|
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
|
+ </PackageReference>
|
|
|
+
|
|
|
+ </ItemGroup>
|
|
|
+
|
|
|
+ <ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' or '$(TargetFramework)' == 'net6.0-windows'">
|
|
|
+
|
|
|
+ <!-- Optimization analysis only makes sense on platforms that will be actually ran -->
|
|
|
+
|
|
|
+ <!-- https://devblogs.microsoft.com/premier-developer/avoiding-struct-and-readonly-reference-performance-pitfalls-with-errorprone-net/ -->
|
|
|
+ <PackageReference Include="ErrorProne.NET.Structs" >
|
|
|
+ <PrivateAssets>all</PrivateAssets>
|
|
|
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
|
+ </PackageReference>
|
|
|
+
|
|
|
+ </ItemGroup>
|
|
|
+
|
|
|
+ <!-- Packaging =================================================================================== -->
|
|
|
+
|
|
|
+ <!-- https://andrewlock.net/version-vs-versionsuffix-vs-packageversion-what-do-they-all-mean/ -->
|
|
|
+ <!-- https://stackoverflow.com/questions/43019832/auto-versioning-in-visual-studio-2017-net-core -->
|
|
|
+ <!-- https://stackoverflow.com/questions/23533838/how-to-get-buildid-in-msbuild -->
|
|
|
+
|
|
|
+ <PropertyGroup>
|
|
|
+ <PackageIcon>glTF2Sharp.png</PackageIcon>
|
|
|
+ <PackageTags>C# glTF 3D</PackageTags>
|
|
|
+ <PackageLicenseExpression>MIT</PackageLicenseExpression>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <ItemGroup>
|
|
|
+ <None Include="$(MsBuildThisFileDirectory)..\build\Icons\glTF2Sharp.png" Pack="true" Visible="false" PackagePath="" />
|
|
|
+ </ItemGroup>
|
|
|
+
|
|
|
+ <PropertyGroup>
|
|
|
+ <RepositoryType>git</RepositoryType>
|
|
|
+ <RepositoryUrl>https://github.com/vpenades/SharpGLTF</RepositoryUrl>
|
|
|
+ <PackageProjectUrl>https://github.com/vpenades/SharpGLTF</PackageProjectUrl>
|
|
|
+ <PublishRepositoryUrl>true</PublishRepositoryUrl>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
|
+ <VersionPrefix>1.0.0</VersionPrefix>
|
|
|
+ <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
|
+ <Deterministic>true</Deterministic>
|
|
|
+ <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
|
+ <DebugSymbols>true</DebugSymbols>
|
|
|
+ <IncludeSymbols>true</IncludeSymbols>
|
|
|
+ <SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
|
|
+
|
|
|
+ <GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
|
+ <DocumentationFile>bin\$(Configuration)\$(AssemblyName).xml</DocumentationFile>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <!-- strong name signing -->
|
|
|
+ <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
|
+ <SignAssembly>true</SignAssembly>
|
|
|
+ <DelaySign>false</DelaySign>
|
|
|
+ <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)SharpGLTF.snk</AssemblyOriginatorKeyFile>
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+ <!-- Source Control =================================================================================== -->
|
|
|
+
|
|
|
+ <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
|
+
|
|
|
+ <!-- https://github.com/dotnet/sourcelink/blob/main/docs/README.md -->
|
|
|
+
|
|
|
+ <EmbedAllSources>true</EmbedAllSources>
|
|
|
+ <!-- Optional: Embed source files that are not tracked by the source control manager in the PDB -->
|
|
|
+ <!--<EmbedUntrackedSources>true</EmbedUntrackedSources>-->
|
|
|
+
|
|
|
+ </PropertyGroup>
|
|
|
+
|
|
|
+</Project>
|