|
1 | 1 | <Project Sdk="Microsoft.NET.Sdk">
|
2 |
| - <PropertyGroup> |
3 |
| - <IsWindowsBuild Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindowsBuild> |
4 |
| - <IsLinuxBuild Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinuxBuild> |
5 |
| - <IsMacOSBuild Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsMacOSBuild> |
6 |
| - |
7 |
| - <OnnxRuntimeRoot>$(ProjectDir)..\..\..</OnnxRuntimeRoot> |
8 |
| - </PropertyGroup> |
9 | 2 |
|
10 | 3 | <PropertyGroup>
|
11 | 4 | <!-- netstandard2.0 is used by most platforms. net8.0 is required for linux. -->
|
12 | 5 | <TargetFrameworks>netstandard2.0;net8.0</TargetFrameworks>
|
13 | 6 | <IsPackable>false</IsPackable>
|
| 7 | + <OnnxRuntimeCsharpRoot>$(ProjectDir)..\..</OnnxRuntimeCsharpRoot> |
14 | 8 | <Platforms>AnyCPU</Platforms>
|
15 | 9 | <OutputPath>bin\$(Configuration)\</OutputPath>
|
16 |
| - <ProtoSrc>$(OnnxRuntimeRoot)\cmake\external\onnx</ProtoSrc> |
| 10 | + <IsLinuxBuild Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinuxBuild> |
| 11 | + <IsWindowsBuild Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindowsBuild> |
| 12 | + <IsMacOSBuild Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsMacOSBuild> |
| 13 | + <ProtoSrc>$(OnnxRuntimeCsharpRoot)\..\cmake\external\onnx</ProtoSrc> |
17 | 14 |
|
18 | 15 | <!-- Generated OnnxML.cs triggers this warning. -->
|
19 | 16 | <NoWarn>8981</NoWarn>
|
|
25 | 22 | <AssemblyOriginatorKeyFile>..\..\OnnxRuntime.snk</AssemblyOriginatorKeyFile>
|
26 | 23 | <Configurations>Debug;Release;RelWithDebInfo</Configurations>
|
27 | 24 | <!-- end -->
|
28 |
| - |
29 | 25 | <RootNamespace>Microsoft.ML.OnnxRuntime.Tests</RootNamespace>
|
30 | 26 | <AssemblyName>Microsoft.ML.OnnxRuntime.Tests.Common</AssemblyName>
|
31 | 27 | </PropertyGroup>
|
32 | 28 |
|
33 |
| - <PropertyGroup Condition="'$(IsWindowsBuild)'=='true'"> |
34 |
| - <ProtocDirectory Condition="'$(ProtocDirectory)'==''">$(OnnxRuntimeBuildDirectory)\$(Configuration)\external\protobuf\cmake\$(Configuration)</ProtocDirectory> |
35 |
| - <ProtocExe>$(ProtocDirectory)\protoc.exe</ProtocExe> |
36 |
| - </PropertyGroup> |
37 |
| - |
38 | 29 | <PropertyGroup Condition="'$(IsLinuxBuild)'=='true'">
|
| 30 | + <!--internal build related properties for Linux --> |
| 31 | + <OnnxRuntimeBuildDirectory Condition="'$(OnnxRuntimeBuildDirectory)'==''">$(OnnxRuntimeCsharpRoot)\..\build\Linux</OnnxRuntimeBuildDirectory> |
| 32 | + <NativeBuildOutputDir>$(OnnxRuntimeBuildDirectory)\$(Configuration)</NativeBuildOutputDir> |
39 | 33 | <ProtocDirectory Condition="'$(ProtocDirectory)'==''">$(OnnxRuntimeBuildDirectory)\$(Configuration)\external\protobuf\cmake</ProtocDirectory>
|
40 | 34 | <ProtocExe>$(ProtocDirectory)\protoc</ProtocExe>
|
41 | 35 | </PropertyGroup>
|
42 | 36 |
|
| 37 | + <PropertyGroup Condition="'$(IsWindowsBuild)'=='true'"> |
| 38 | + <!--internal build related properties for Windows --> |
| 39 | + <OnnxRuntimeBuildDirectory Condition="'$(OnnxRuntimeBuildDirectory)'==''">$(OnnxRuntimeCsharpRoot)\..\build\Windows</OnnxRuntimeBuildDirectory> |
| 40 | + <NativeBuildOutputDir>$(OnnxRuntimeBuildDirectory)\$(Configuration)\$(Configuration)</NativeBuildOutputDir> |
| 41 | + <ProtocDirectory Condition="'$(ProtocDirectory)'==''">$(OnnxRuntimeBuildDirectory)\$(Configuration)\external\protobuf\cmake\$(Configuration)</ProtocDirectory> |
| 42 | + <ProtocExe>$(ProtocDirectory)\protoc.exe</ProtocExe> |
| 43 | + </PropertyGroup> |
| 44 | + |
43 | 45 | <PropertyGroup Condition="'$(IsMacOSBuild)'=='true'">
|
| 46 | + <!--internal build related properties for OSX --> |
| 47 | + <OnnxRuntimeBuildDirectory Condition="'$(OnnxRuntimeBuildDirectory)'==''">$(OnnxRuntimeCsharpRoot)\..\build\MacOS</OnnxRuntimeBuildDirectory> |
| 48 | + <NativeBuildOutputDir>$(OnnxRuntimeBuildDirectory)\$(Configuration)</NativeBuildOutputDir> |
44 | 49 | <ProtocDirectory Condition="'$(ProtocDirectory)'==''">$(OnnxRuntimeBuildDirectory)\$(Configuration)\external\protobuf\cmake</ProtocDirectory>
|
45 | 50 | <ProtocExe>$(ProtocDirectory)\protoc</ProtocExe>
|
46 | 51 | </PropertyGroup>
|
|
97 | 102 | </None>
|
98 | 103 | </ItemGroup>
|
99 | 104 |
|
| 105 | + <!-- |
| 106 | + Microsoft.ML.OnnxRuntime.Tests.MAUI.csproj handles the native lib coming from a local build or a nuget package so we |
| 107 | + don't need to duplicate that logic to include the native lib here. |
| 108 | + --> |
| 109 | + <ItemGroup Condition="$(SkipNativeLibInclude) != 'true'"> |
| 110 | + <None Condition="'$(IsWindowsBuild)'=='true'" |
| 111 | + Include="$(NativeBuildOutputDir)\onnxruntime.dll;$(NativeBuildOutputDir)\onnxruntime.pdb"> |
| 112 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 113 | + <Visible>false</Visible> |
| 114 | + </None> |
| 115 | + |
| 116 | + <None Condition="'$(IsLinuxBuild)'=='true'" Include="$(NativeBuildOutputDir)\libonnxruntime.so"> |
| 117 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 118 | + <Visible>false</Visible> |
| 119 | + </None> |
| 120 | + |
| 121 | + <None Condition="'$(IsMacOSBuild)'=='true'" Include="$(NativeBuildOutputDir)\libonnxruntime.dylib"> |
| 122 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 123 | + <Visible>false</Visible> |
| 124 | + </None> |
| 125 | + </ItemGroup> |
| 126 | + |
100 | 127 | <ItemGroup>
|
101 | 128 | <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.0" />
|
102 | 129 | <PackageReference Include="Google.Protobuf" Version="3.21.12" />
|
|
105 | 132 | </ItemGroup>
|
106 | 133 |
|
107 | 134 | <ItemGroup>
|
108 |
| - <ProjectReference Include="$(OnnxRuntimeRoot)\csharp\src\Microsoft.ML.OnnxRuntime\Microsoft.ML.OnnxRuntime.csproj" /> |
| 135 | + <ProjectReference Include="$(OnnxRuntimeCsharpRoot)\src\Microsoft.ML.OnnxRuntime\Microsoft.ML.OnnxRuntime.csproj" /> |
109 | 136 | </ItemGroup>
|
110 | 137 |
|
111 | 138 | <!-- generate OnnxMl.cs from ONNX protobuf definition -->
|
112 | 139 | <Target Name="ProtoGen" BeforeTargets="BeforeBuild" Condition="Exists('$(ProtocExe)')">
|
113 |
| - <Exec Command="$(ProtocExe) -I=$(ProtoSrc) --csharp_out=. $(ProtoSrc)\onnx\onnx-ml.proto3" |
114 |
| - ContinueOnError="false"> |
115 |
| - </Exec> |
| 140 | + <Exec Command="$(ProtocExe) -I=$(ProtoSrc) --csharp_out=. $(ProtoSrc)\onnx\onnx-ml.proto3" ContinueOnError="false"></Exec> |
116 | 141 | </Target>
|
117 | 142 |
|
118 | 143 | <Target Name="ProtoDataGen" BeforeTargets="BeforeBuild" Condition="Exists('$(ProtocExe)')">
|
119 |
| - <Exec Command="$(ProtocExe) -I=$(ProtoSrc) --csharp_out=. $(ProtoSrc)\onnx\onnx-data.proto3" |
120 |
| - ContinueOnError="false"> |
121 |
| - </Exec> |
| 144 | + <Exec Command="$(ProtocExe) -I=$(ProtoSrc) --csharp_out=. $(ProtoSrc)\onnx\onnx-data.proto3" ContinueOnError="false"></Exec> |
122 | 145 | </Target>
|
123 | 146 |
|
124 | 147 | <ItemGroup>
|
|
129 | 152 | <WriteLinesToFile File="$(OutputPath)\Properties.txt" Lines="@(BuildEnvVars)" Overwrite="true" />
|
130 | 153 | </Target>
|
131 | 154 |
|
132 |
| - <!-- Test Data that is used in MAUI and NetCore test app. Loaded via embedded resource for that to be possible --> |
133 | 155 | <ItemGroup>
|
134 | 156 | <EmbeddedResource Include="..\..\testdata\*">
|
135 |
| - <Link>TestData\%(Filename)%(Extension)</Link> |
| 157 | + <Link>TestData\%(Filename)%(Extension)</Link> |
136 | 158 | </EmbeddedResource>
|
137 |
| - <EmbeddedResource Include="$(OnnxRuntimeRoot)\onnxruntime\test\testdata\overridable_initializer.onnx"> |
138 |
| - <Link>TestData\overridable_initializer.onnx</Link> |
| 159 | + <EmbeddedResource Include="$(OnnxRuntimeCSharpRoot)\..\onnxruntime\test\testdata\overridable_initializer.onnx"> |
| 160 | + <Link>TestData\overridable_initializer.onnx</Link> |
139 | 161 | </EmbeddedResource>
|
140 |
| - <EmbeddedResource Include="$(OnnxRuntimeRoot)\onnxruntime\test\testdata\capi_symbolic_dims.onnx"> |
141 |
| - <Link>TestData\capi_symbolic_dims.onnx</Link> |
| 162 | + <EmbeddedResource Include="$(OnnxRuntimeCSharpRoot)\..\onnxruntime\test\testdata\capi_symbolic_dims.onnx"> |
| 163 | + <Link>TestData\capi_symbolic_dims.onnx</Link> |
142 | 164 | </EmbeddedResource>
|
143 | 165 | </ItemGroup>
|
144 | 166 |
|
145 | 167 | <ItemGroup>
|
146 | 168 | <Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" />
|
147 | 169 | </ItemGroup>
|
| 170 | + |
148 | 171 | </Project>
|
0 commit comments