mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
* add windowsai.yml for new Microsoft.AI.MachineLearning nuget * temporarily add windowsai.yml to gpu.yml * pass in build arch * remove install onnx task * no dml for arm or arm64 * refactor nuget pipeline defs * update package creation * pass in build and sources path * missing hyphens * copy license file * fix parameter variable * disable arm builds for now * remove commented script block * download pipeline atifcat name update * set working dir * Add bundling nuget script * path combine * null path * combine needs parentheses * binplace microsoft.* dlls in new nuget package * update artifact name * move merged nuget to artifacts directory * move to merged subfolder in artifacts staging dir * forward slash to back * enable arm * vcvarsall needs x64 vars setup * Run Tests * fix tests * move global variables * update yml to not have global variable in template * removed parameters * fixes * Add build arch as an env variable * ne not neq * %Var% for batch script * dont pass argument for x64 * disable arm tests * skip csharp/cxx tests for microsoft nuget package * remove test-win as it tests only c# cxx and capi * test build for store apps * dont build for store * tools/nuget/generate_nuspec_for_native_nuget.py * remove args. * add new props and targets for microsoft.ai * make windowsai props/targets static * add dependency * dont ship dot net props * Remove c# fom windowsai nuget * copy license file * native packages must have win10 as the platform, not win * cuda header in wrong if branch * no dml for arm builds * only build dml for x64/ x86 * User/sheilk/props update (#3616) * prelim store work * props * Fix desktop nuget props/targets * clean up targets and make store apps work Co-authored-by: Sheil Kumar <sheilk@microsoft.com> * update windowsai.yml with latest * remove extra dloadhelpers * Add abi headers to abi dir, and reference native includes * update windowsai.yml * minor update * remove parameters * add doesrp param * hard code esrp to true * add directml for x86/x64 * revert gpu yml changes * add store builds * add store builds * add checks again in old way * dup job names for store and desktop builds * move all of the runtime binaries to win10 folder * only set safeseh on x86 * disable the store builds for now... missing msvcprt.lib * copy paste deletion... * switch back to win- (#3646) Co-authored-by: Sheil Kumar <sheilk@microsoft.com> * use stahlworks * & not supported in ado * add cuda to cpu nuget(???) and EnableDelayedExpansion to enable x86 dml package * revert nocontribops * add underscore... * extra win/win10 change * merged nuget... still not being bundled... * files in merged directory * missing parens causing dml to be included in cpu package * more diagnostic info * switch dir to get-childitem * wait for compression to complete * add winml_adapter to mkml and gpu packages * enable_wcos * add mklml binaries * props and targets missing from mklml Co-authored-by: Sheil Kumar <sheilk@microsoft.com>
142 lines
8.2 KiB
XML
142 lines
8.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
This is the master msbuild project file for all csharp components.
|
|
This is created so that the NuGet dependencies are restored before the projects are built during a CI build.
|
|
CMake creates a target to this project
|
|
-->
|
|
|
|
<Project DefaultTargets="Build">
|
|
|
|
<PropertyGroup>
|
|
<OrtPackageId Condition=" '$(OrtPackageId)' == '' ">Microsoft.ML.OnnxRuntime</OrtPackageId>
|
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
|
|
<DotNetExe Condition= " '$(DotNetExe)' == '' ">dotnet</DotNetExe>
|
|
<NugetExe Condition= " '$(NugetExe)' == '' ">nuget</NugetExe>
|
|
<TargetArchitecture Condition=" '$(TargetArchitecture)' == '' ">x64</TargetArchitecture>
|
|
<IsReleaseBuild Condition=" '$(IsReleaseBuild)' == '' ">false</IsReleaseBuild>
|
|
|
|
<!--internal build related properties-->
|
|
<OnnxRuntimeSourceDirectory Condition="'$(OnnxRuntimeSourceDirectory)'==''">..</OnnxRuntimeSourceDirectory>
|
|
<OnnxRuntimeBuildDirectory Condition="'$(OnnxRuntimeBuildDirectory)'==''">..\build\Windows</OnnxRuntimeBuildDirectory>
|
|
<OnnxRuntimePackagesDirectory Condition="'$(OnnxRuntimePackagesDirectory)'==''">$(OnnxRuntimeBuildDirectory)\packages</OnnxRuntimePackagesDirectory>
|
|
<NativeBuildOutputDir>$(OnnxRuntimeBuildDirectory)\$(Configuration)\$(Configuration)</NativeBuildOutputDir>
|
|
|
|
</PropertyGroup>
|
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
|
|
<Target Name="RestoreProjects" BeforeTargets="Build">
|
|
<Message Importance="High" Text="Restoring NuGet packages for CSharp projects..." />
|
|
<MSBuild Projects="src\Microsoft.ML.OnnxRuntime\Microsoft.ML.OnnxRuntime.csproj"
|
|
Targets="Restore"
|
|
Properties="Platform=AnyCPU"
|
|
/>
|
|
<MSBuild Projects="sample\Microsoft.ML.OnnxRuntime.InferenceSample\Microsoft.ML.OnnxRuntime.InferenceSample.csproj"
|
|
Targets="Restore"
|
|
Properties="Platform=AnyCPU"
|
|
/>
|
|
<MSBuild Projects="test\Microsoft.ML.OnnxRuntime.Tests\Microsoft.ML.OnnxRuntime.Tests.csproj"
|
|
Targets="Restore"
|
|
Properties="ProtocDirectory=$(ProtocDirectory)"
|
|
/>
|
|
<MSBuild Projects="tools\Microsoft.ML.OnnxRuntime.PerfTool\Microsoft.ML.OnnxRuntime.PerfTool.csproj"
|
|
Targets="Restore"
|
|
Properties="Platform=AnyCPU"
|
|
/>
|
|
</Target>
|
|
|
|
<Target Name="Build">
|
|
<Message Importance="High" Text="Building CSharp projects..." />
|
|
|
|
<MSBuild Projects="src\Microsoft.ML.OnnxRuntime\Microsoft.ML.OnnxRuntime.csproj"
|
|
Targets="ObtainPackageVersion;Build"
|
|
Properties="Platform=AnyCPU"/>
|
|
<MSBuild Projects="sample\Microsoft.ML.OnnxRuntime.InferenceSample\Microsoft.ML.OnnxRuntime.InferenceSample.csproj"
|
|
Targets="Build"
|
|
Properties="Platform=AnyCPU"
|
|
/>
|
|
<MSBuild Projects="test\Microsoft.ML.OnnxRuntime.Tests\Microsoft.ML.OnnxRuntime.Tests.csproj"
|
|
Targets="Build"
|
|
/>
|
|
<MSBuild Projects="tools\Microsoft.ML.OnnxRuntime.PerfTool\Microsoft.ML.OnnxRuntime.PerfTool.csproj"
|
|
Targets="Build"
|
|
Properties="Platform=AnyCPU"
|
|
/>
|
|
</Target>
|
|
|
|
<Target Name="RunTest">
|
|
<Message Importance="High" Text="Running CSharp tests..." />
|
|
<Exec Command="$(DotNetExe) test test\Microsoft.ML.OnnxRuntime.Tests\Microsoft.ML.OnnxRuntime.Tests.csproj -c $(Configuration) --no-build --blame -v n" ConsoleToMSBuild="true">
|
|
<Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" />
|
|
</Exec>
|
|
</Target>
|
|
|
|
<Target Name="ObtainPackageVersion" BeforeTargets="CreatePackage;CreateWindowsAIPackage">
|
|
<ReadLinesFromFile File="..\VERSION_NUMBER">
|
|
<Output TaskParameter="Lines" ItemName="MajorVersionNumber"/>
|
|
</ReadLinesFromFile>
|
|
<Exec Command="git rev-parse --short HEAD" ConsoleToMSBuild="true">
|
|
<Output TaskParameter="ConsoleOutput" PropertyName="GitCommitHashShort" />
|
|
</Exec>
|
|
<Exec Command="git rev-parse HEAD" ConsoleToMSBuild="true">
|
|
<Output TaskParameter="ConsoleOutput" PropertyName="GitCommitHash" />
|
|
</Exec>
|
|
<ConvertToAbsolutePath Paths="$(OnnxRuntimeBuildDirectory)">
|
|
<Output TaskParameter="AbsolutePaths" PropertyName="OnnxRuntimeBuildDirectoryAbs"/>
|
|
</ConvertToAbsolutePath>
|
|
<ConvertToAbsolutePath Paths="$(NativeBuildOutputDir)">
|
|
<Output TaskParameter="AbsolutePaths" PropertyName="NativeBuildOutputDirAbs"/>
|
|
</ConvertToAbsolutePath>
|
|
<ConvertToAbsolutePath Paths="$(OnnxRuntimePackagesDirectory)">
|
|
<Output TaskParameter="AbsolutePaths" PropertyName="OnnxRuntimePackagesDirectoryAbs"/>
|
|
</ConvertToAbsolutePath>
|
|
<ConvertToAbsolutePath Paths="$(OnnxRuntimeSourceDirectory)">
|
|
<Output TaskParameter="AbsolutePaths" PropertyName="OnnxRuntimeSourceDirectoryAbs"/>
|
|
</ConvertToAbsolutePath>
|
|
<PropertyGroup>
|
|
<CurrentDate>$([System.DateTime]::UtcNow.ToString(yyyyMMdd))</CurrentDate>
|
|
<CurrentTime>$([System.DateTime]::UtcNow.ToString(hhmm))</CurrentTime>
|
|
<PackageVersion>@(MajorVersionNumber)</PackageVersion>
|
|
<Version>$(PackageVersion)</Version>
|
|
<PackageVersion Condition="'$(IsReleaseBuild)'!='true'">$(PackageVersion)-dev-$(CurrentDate)-$(CurrentTime)-$(GitCommitHashShort)</PackageVersion>
|
|
</PropertyGroup>
|
|
<Message Importance="High" Text="PackageVersion=$(PackageVersion)" />
|
|
</Target>
|
|
|
|
<Target Name="CreatePackage">
|
|
<Message Importance="High" Text="Bundling managed assemblies into a NuGet package ..." />
|
|
<MSBuild Projects="src\Microsoft.ML.OnnxRuntime\Microsoft.ML.OnnxRuntime.csproj"
|
|
Targets="CopyMiscFiles;Pack"
|
|
Properties="NoBuild=true;Platform=AnyCPU;PackageVersion=$(PackageVersion);OrtPackageId=$(OrtPackageId)"/>
|
|
|
|
<Message Importance="High" Text="Generating nuspec for the native Nuget package ..." />
|
|
<Exec ContinueOnError="False" Command="python ..\tools\nuget\generate_nuspec_for_native_nuget.py --package_version $(PackageVersion) --package_name $(OrtPackageId) --target_architecture $(TargetArchitecture) --build_config $(Configuration) --native_build_path $(NativeBuildOutputDirAbs) --packages_path $(OnnxRuntimePackagesDirectoryAbs) --ort_build_path $(OnnxRuntimeBuildDirectoryAbs) --sources_path $(OnnxRuntimeSourceDirectoryAbs) --commit_id $(GitCommitHash) --is_release_build $(IsReleaseBuild)" ConsoleToMSBuild="true">
|
|
<Output TaskParameter="ConsoleOutput" PropertyName="GenerateNuspecOutput" />
|
|
</Exec>
|
|
|
|
<Message Importance="High" Text="Bundling native shared library artifacts into a NuGet package ..." />
|
|
<Exec ContinueOnError="False" Command="$(NugetExe) pack NativeNuget.nuspec" ConsoleToMSBuild="true" WorkingDirectory="$(NativeBuildOutputDirAbs)">
|
|
<Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" />
|
|
</Exec>
|
|
</Target>
|
|
|
|
<ItemGroup>
|
|
<LicenseFile Include="$(OnnxRuntimeSourceDirectory)\LICENSE"/>
|
|
</ItemGroup>
|
|
|
|
<Target Name="CreateWindowsAIPackage">
|
|
<Copy SourceFiles="@(LicenseFile)" DestinationFiles="@(LicenseFile->'$(OnnxRuntimeSourceDirectory)\%(Filename).txt')"/>
|
|
|
|
<Message Importance="High" Text="Generating nuspec for the Microsoft.AI.MachineLearning Nuget package ..." />
|
|
<Exec ContinueOnError="False" Command="python ..\tools\nuget\generate_nuspec_for_native_nuget.py --package_version $(PackageVersion) --package_name Microsoft.AI.MachineLearning --target_architecture $(TargetArchitecture) --build_config $(Configuration) --native_build_path $(NativeBuildOutputDirAbs) --packages_path $(OnnxRuntimePackagesDirectoryAbs) --ort_build_path $(OnnxRuntimeBuildDirectoryAbs) --sources_path $(OnnxRuntimeSourceDirectoryAbs) --commit_id $(GitCommitHash) --is_release_build $(IsReleaseBuild)" ConsoleToMSBuild="true">
|
|
<Output TaskParameter="ConsoleOutput" PropertyName="GenerateNuspecOutput" />
|
|
</Exec>
|
|
|
|
<Message Importance="High" Text="Bundling native shared library artifacts into a NuGet package ..." />
|
|
<Exec ContinueOnError="False" Command="$(NugetExe) pack NativeNuget.nuspec" ConsoleToMSBuild="true" WorkingDirectory="$(NativeBuildOutputDirAbs)">
|
|
<Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" />
|
|
</Exec>
|
|
</Target>
|
|
|
|
</Project>
|