183 lines
11 KiB
XML
183 lines
11 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<Import Project="$(SolutionDir)/Tixl.props" />
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0-windows</TargetFramework>
|
|
<ImplicitUsings>disable</ImplicitUsings>
|
|
<Nullable>disable</Nullable>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
<RootNamespace>Lib</RootNamespace>
|
|
<AssemblyName>$(RootNamespace)</AssemblyName>
|
|
<Configurations>Debug;Release</Configurations>
|
|
<Platforms>AnyCPU</Platforms>
|
|
<VersionPrefix>1.670.999</VersionPrefix>
|
|
<HomeGuid>00000000-0000-0000-0000-000000000000</HomeGuid>
|
|
<EditorVersion>4.2.0</EditorVersion>
|
|
<IsEditorOnly>false</IsEditorOnly>
|
|
<DisableTransitiveProjectReferences>true</DisableTransitiveProjectReferences>
|
|
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
|
<Deterministic>true</Deterministic>
|
|
<!-- NU1701 must be suppressed project-wide: it re-fires for net-framework packages arriving
|
|
transitively (OpenGL.Net via Mediapipe, Rug.Osc via IoServices), and per-package NoWarn
|
|
doesn't flow across project references. Same suppression as Video.csproj. -->
|
|
<NoWarn>$(NoWarn);NU1900;NU1701</NoWarn>
|
|
<PackageId>55612b33-e330-4730-a981-c2227b4cc904</PackageId>
|
|
<IsArchived>false</IsArchived>
|
|
<!-- Set the output path based on the version and release mode -->
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Using Include="System" />
|
|
<Using Include="System.Numerics" />
|
|
<Using Include="System.Linq" />
|
|
<Using Include="System.Linq.Enumerable" Static="True" />
|
|
<Using Include="System.Collections" />
|
|
<Using Include="System.Linq.Expressions" />
|
|
<Using Include="System.Collections.Generic" />
|
|
<Using Include="System.Collections.Concurrent" />
|
|
<Using Include="System.Collections.ObjectModel" />
|
|
<Using Include="System.Diagnostics.CodeAnalysis" />
|
|
<Using Include="System.Runtime.CompilerServices" />
|
|
<Using Include="System.Text" />
|
|
<Using Include="System.Net" />
|
|
<Using Include="System.Net.Http" />
|
|
<Using Include="System.Threading.Tasks" />
|
|
<Using Include="System.IO" />
|
|
<Using Include="T3.Core.Logging" />
|
|
<Using Include="System.Runtime.InteropServices" />
|
|
<Using Include="T3.Core.Operator" />
|
|
<Using Include="T3.Core.Operator.Attributes" />
|
|
<Using Include="T3.Core.Operator.Slots" />
|
|
<Using Include="T3.Core.DataTypes" />
|
|
<Using Include="T3.Core.Operator.Interfaces" />
|
|
<Using Include="T3.Core.Resource" />
|
|
<Using Alias="Buffer" Include="SharpDX.Direct3D11.Buffer" />
|
|
<Using Alias="ShaderResourceView" Include="SharpDX.Direct3D11.ShaderResourceView" />
|
|
<Using Alias="UnorderedAccessView" Include="SharpDX.Direct3D11.UnorderedAccessView" />
|
|
<Using Alias="CullMode" Include="SharpDX.Direct3D11.CullMode" />
|
|
<Using Alias="FillMode" Include="SharpDX.Direct3D11.FillMode" />
|
|
<Using Alias="TextureAddressMode" Include="SharpDX.Direct3D11.TextureAddressMode" />
|
|
<Using Alias="Filter" Include="SharpDX.Direct3D11.Filter" />
|
|
<Using Alias="Format" Include="SharpDX.DXGI.Format" />
|
|
<Using Alias="Texture2DDescription" Include="SharpDX.Direct3D11.Texture2DDescription" />
|
|
<Using Alias="Texture3DDescription" Include="SharpDX.Direct3D11.Texture3DDescription" />
|
|
<Using Alias="RenderTargetBlendDescription" Include="SharpDX.Direct3D11.RenderTargetBlendDescription" />
|
|
<Using Alias="SamplerState" Include="SharpDX.Direct3D11.SamplerState" />
|
|
<Using Alias="UnorderedAccessViewBufferFlags" Include="SharpDX.Direct3D11.UnorderedAccessViewBufferFlags" />
|
|
<Using Alias="RawRectangle" Include="SharpDX.Mathematics.Interop.RawRectangle" />
|
|
<Using Alias="RawViewportF" Include="SharpDX.Mathematics.Interop.RawViewportF" />
|
|
<Using Alias="ResourceUsage" Include="SharpDX.Direct3D11.ResourceUsage" />
|
|
<Using Alias="ResourceOptionFlags" Include="SharpDX.Direct3D11.ResourceOptionFlags" />
|
|
<Using Alias="InputLayout" Include="SharpDX.Direct3D11.InputLayout" />
|
|
<using Alias="PrimitiveTopology" Include="SharpDX.Direct3D.PrimitiveTopology" />
|
|
<Using Alias="BlendState" Include="SharpDX.Direct3D11.BlendState" />
|
|
<Using Alias="Comparison" Include="SharpDX.Direct3D11.Comparison" />
|
|
<Using Alias="BlendOption" Include="SharpDX.Direct3D11.BlendOption" />
|
|
<Using Alias="BlendOperation" Include="SharpDX.Direct3D11.BlendOperation" />
|
|
<Using Alias="BindFlags" Include="SharpDX.Direct3D11.BindFlags" />
|
|
<Using Alias="ColorWriteMaskFlags" Include="SharpDX.Direct3D11.ColorWriteMaskFlags" />
|
|
<Using Alias="CpuAccessFlags" Include="SharpDX.Direct3D11.CpuAccessFlags" />
|
|
<Using Alias="DepthStencilView" Include="SharpDX.Direct3D11.DepthStencilView" />
|
|
<Using Alias="DepthStencilState" Include="SharpDX.Direct3D11.DepthStencilState" />
|
|
<Using Alias="RenderTargetView" Include="SharpDX.Direct3D11.RenderTargetView" />
|
|
<Using Alias="RasterizerState" Include="SharpDX.Direct3D11.RasterizerState" />
|
|
<Using Alias="Point" Include="T3.Core.DataTypes.Point" />
|
|
<Using Alias="Texture2D" Include="T3.Core.DataTypes.Texture2D" />
|
|
<Using Alias="Texture3D" Include="T3.Core.DataTypes.Texture3D" />
|
|
<Using Alias="Vector2" Include="System.Numerics.Vector2" />
|
|
<Using Alias="Vector3" Include="System.Numerics.Vector3" />
|
|
<Using Alias="Vector4" Include="System.Numerics.Vector4" />
|
|
<Using Alias="Matrix4x4" Include="System.Numerics.Matrix4x4" />
|
|
<Using Alias="Quaternion" Include="System.Numerics.Quaternion" />
|
|
<Using Alias="Int2" Include="T3.Core.DataTypes.Vector.Int2" />
|
|
<Using Alias="Int3" Include="T3.Core.DataTypes.Vector.Int3" />
|
|
<Using Alias="Int4" Include="T3.Core.DataTypes.Vector.Int4" />
|
|
<Using Alias="ResourceManager" Include="T3.Core.Resource.ResourceManager" />
|
|
<Using Alias="ComputeShader" Include="T3.Core.DataTypes.ComputeShader" />
|
|
<Using Alias="PixelShader" Include="T3.Core.DataTypes.PixelShader" />
|
|
<Using Alias="VertexShader" Include="T3.Core.DataTypes.VertexShader" />
|
|
<Using Alias="GeometryShader" Include="T3.Core.DataTypes.GeometryShader" />
|
|
<Using Alias="SampleDescription" Include="SharpDX.DXGI.SampleDescription" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Mediapipe\Mediapipe.csproj" Private="false" PrivateAssets="all" />
|
|
<ProjectReference Include="..\..\Core\Core.csproj" Private="false" PrivateAssets="all" />
|
|
<ProjectReference Include="..\..\IoServices\IoServices.csproj" Private="false" PrivateAssets="all" />
|
|
<ProjectReference Include="..\..\Serialization\Serialization.csproj" Private="false" PrivateAssets="all" />
|
|
<ProjectReference Include="..\..\SystemUi\SystemUi.csproj" Private="false" PrivateAssets="all" />
|
|
<ProjectReference Include="..\..\Logging\Logging.csproj" Private="false" PrivateAssets="all" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="DirectShowLib.Standard" Version="2.1.0" />
|
|
<PackageReference Include="System.ServiceModel.Primitives" Version="10.0.652802" />
|
|
<PackageReference Include="System.ServiceModel.Http" Version="10.0.652802" />
|
|
<PackageReference Include="System.Security.Cryptography.Xml" Version="10.0.6" />
|
|
<PackageReference Include="System.ServiceModel.Security" Version="6.0.0" />
|
|
<PackageReference Include="ManagedBass.Mix" Version="4.0.2" />
|
|
<PackageReference Include="OpenCvSharp4" Version="4.11.0.20250507" />
|
|
<PackageReference Include="OpenCvSharp4.Extensions" Version="4.11.0.20250507" />
|
|
<PackageReference Include="OpenCvSharp4.runtime.win" Version="4.11.0.20250507" />
|
|
<PackageReference Include="OpenCvSharp4.Windows" Version="4.11.0.20250507" />
|
|
<PackageReference Include="SharpGLTF.Core" Version="1.0.6" />
|
|
<PackageReference Include="Svg" Version="3.4.7" />
|
|
</ItemGroup>
|
|
<!-- Copy package content into this project's own output only (not transitively to other projects).
|
|
Uses a custom Target instead of <Content CopyToOutputDirectory> to prevent MSBuild from
|
|
propagating these files into every project that builds as part of the same solution. -->
|
|
<ItemGroup Condition="'$(Configuration)' == 'Release'">
|
|
<PackageAssets Include="Assets/**/*" Exclude="bin/**" />
|
|
<PackageSymbols Include="**/*.t3" Exclude="bin/**" />
|
|
<PackageSymbolUis Include="**/*.t3ui" Exclude="bin/**" />
|
|
<PackageSourceCode Include="**/*.cs" Exclude="bin/**;obj/**" />
|
|
<PackageMeta Include=".meta/**/*" />
|
|
</ItemGroup>
|
|
<Target Name="CopyPackageContent" AfterTargets="AfterBuild" Condition="'$(Configuration)' == 'Release'">
|
|
<Copy SourceFiles="@(PackageAssets)" DestinationFiles="@(PackageAssets->'$(OutputPath)/Assets/%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
|
|
<Copy SourceFiles="@(PackageSymbols)" DestinationFiles="@(PackageSymbols->'$(OutputPath)/Symbols/%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
|
|
<Copy SourceFiles="@(PackageSymbolUis)" DestinationFiles="@(PackageSymbolUis->'$(OutputPath)/SymbolUis/%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
|
|
<Copy SourceFiles="@(PackageSourceCode)" DestinationFiles="@(PackageSourceCode->'$(OutputPath)/SourceCode/%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
|
|
<Copy SourceFiles="@(PackageMeta)" DestinationFiles="@(PackageMeta->'$(OutputPath)/.meta/%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="true" />
|
|
</Target>
|
|
<ItemGroup>
|
|
<Folder Include="io\video\" />
|
|
</ItemGroup>
|
|
<Target Name="ClearBuildOutput" BeforeTargets="BeforeBuild">
|
|
<!-- Clear previous build output, but keep the FFmpeg native DLLs. A running editor with a video playing has
|
|
them loaded, and native libraries can't be unloaded, so a blunt RemoveDir fails with "access denied" and
|
|
breaks rebuild / hot-reload. These DLLs come from NuGet and don't change between builds; a stale one is
|
|
refreshed by restarting the editor. ContinueOnError so any other transiently-locked file can't fail the build. -->
|
|
<ItemGroup>
|
|
<_StaleBuildOutput Include="bin/$(Configuration)/**/*" Exclude="bin/$(Configuration)/**/av*.dll;bin/$(Configuration)/**/sw*.dll;bin/$(Configuration)/**/postproc*.dll" />
|
|
</ItemGroup>
|
|
<Delete Files="@(_StaleBuildOutput)" ContinueOnError="true" />
|
|
</Target>
|
|
<Target Name="CreatePackageInfo" AfterTargets="AfterBuild">
|
|
<ItemGroup Label="Define json structure of referenced operator packages">
|
|
<OpPacks Include="@(Operators)">
|
|
<OpPackageInfoJson>{
|
|
"Identity": "%(Identity)",
|
|
"Version": "%(Version)",
|
|
"ResourcesOnly": "%(ResourcesOnly)"
|
|
}</OpPackageInfoJson>
|
|
</OpPacks>
|
|
</ItemGroup>
|
|
<PropertyGroup>
|
|
<OperatorReferenceArray>@(OpPacks -> '%(OpPackageInfoJson)', ',')</OperatorReferenceArray>
|
|
<OperatorPackageInfoJson>{
|
|
"HomeGuid": "$(HomeGuid)",
|
|
"PackageId": "$(PackageId)",
|
|
"RootNamespace": "$(RootNamespace)",
|
|
"AssemblyFileName": "$(RootNamespace)",
|
|
"Version": "$(VersionPrefix)",
|
|
"EditorVersion": "$(EditorVersion)",
|
|
"IsEditorOnly": "$(IsEditorOnly)",
|
|
"OperatorPackages": [$(OperatorReferenceArray)
|
|
]
|
|
}</OperatorPackageInfoJson>
|
|
</PropertyGroup>
|
|
<WriteLinesToFile File="$(OutputPath)/OperatorPackage.json" Lines="$(OperatorPackageInfoJson)" Overwrite="True" Encoding="UTF-8" />
|
|
</Target>
|
|
<!-- OpenCV's FFmpeg video plugin is unused now that VideoStreamInput decodes via FFmpeg directly, so drop
|
|
it to avoid shipping a second FFmpeg alongside the LGPL FFmpeg build. -->
|
|
<Target Name="DropUnusedOpenCvFfmpegPlugin" AfterTargets="AfterBuild">
|
|
<Delete Files="$(OutputPath)/runtimes/win-x64/native/opencv_videoio_ffmpeg4110_64.dll" />
|
|
</Target>
|
|
</Project> |