onnxruntime/cmake/onnxruntime_csharp.cmake
Paul Fultz II 7759136610
Add amd migraphx execution provider to onnx runtime (#2929)
* Add amd migraphx execution provider to onnx runtime

* rename MiGraphX to MIGraphX

* remove unnecessary changes in migraphx_execution_provider.cc

* add migraphx EP to tests

* add input requests of the batchnorm operator

* add to support an onnx operator PRelu

* update migrapx dockerfile and removed one unused line

* sync submodules with mater branch

* fixed a small bug

* fix various bugs to run msft real models correctly

* some code cleanup

* fix python file format

* fixed a code style issue

* add default provider for migraphx execution provider

Co-authored-by: Shucai Xiao <Shucai.Xiao@amd.com>
2020-05-27 04:24:59 +08:00

70 lines
2.9 KiB
CMake

# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
set (CSHARP_ROOT ${PROJECT_SOURCE_DIR}/../csharp)
set (CSHARP_MASTER_TARGET OnnxRuntime.CSharp)
set (CSHARP_MASTER_PROJECT ${CSHARP_ROOT}/OnnxRuntime.CSharp.proj)
if (onnxruntime_RUN_ONNX_TESTS)
set (CSHARP_DEPENDS onnxruntime ${test_data_target})
else()
set (CSHARP_DEPENDS onnxruntime)
endif()
if (onnxruntime_USE_CUDA)
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_CUDA,")
endif()
if (onnxruntime_USE_DNNL)
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_DNNL,")
endif()
if (onnxruntime_USE_TENSORRT)
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_TENSORRT,")
endif()
if (onnxruntime_USE_MIGRAPHX)
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_MIGRAPHX,")
endif()
if (onnxruntime_USE_OPENVINO)
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_OPENVINO,")
endif()
if (onnxruntime_USE_NGRAPH)
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_NGRAPH,")
endif()
if (onnxruntime_USE_NUPHAR)
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_NUPHAR,")
endif()
include(CSharpUtilities)
include_external_msproject(Microsoft.ML.OnnxRuntime
${CSHARP_ROOT}/src/Microsoft.ML.OnnxRuntime/Microsoft.ML.OnnxRuntime.csproj
${CSHARP_DEPENDS}
)
include_external_msproject(Microsoft.ML.OnnxRuntime.InferenceSample
${CSHARP_ROOT}/sample/Microsoft.ML.OnnxRuntime.InferenceSample/Microsoft.ML.OnnxRuntime.InferenceSample.csproj
${CSHARP_DEPENDS}
)
include_external_msproject(Microsoft.ML.OnnxRuntime.Tests
${CSHARP_ROOT}/test/Microsoft.ML.OnnxRuntime.Tests/Microsoft.ML.OnnxRuntime.Tests.csproj
${CSHARP_DEPENDS}
)
include_external_msproject(Microsoft.ML.OnnxRuntime.PerfTool
${CSHARP_ROOT}/tools/Microsoft.ML.OnnxRuntime.PerfTool/Microsoft.ML.OnnxRuntime.PerfTool.csproj
${CSHARP_DEPENDS}
)
#Exclude them from the ALL_BUILD target, otherwise it will trigger errors like:
#"Error : Project 'cmake\..\csharp\src\Microsoft.ML.OnnxRuntime\Microsoft.ML.OnnxRuntime.csproj' targets 'netstandard1.1'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.0'."
#We can't fix it because cmake only supports the "TargetFrameworkVersion" property, not "TargetFramework".
set_target_properties(Microsoft.ML.OnnxRuntime Microsoft.ML.OnnxRuntime.InferenceSample Microsoft.ML.OnnxRuntime.Tests Microsoft.ML.OnnxRuntime.PerfTool PROPERTIES EXCLUDE_FROM_ALL 1)
# generate Directory.Build.props
set(DIRECTORY_BUILD_PROPS_COMMENT "WARNING: This is a generated file, please do not check it in!")
configure_file(${CSHARP_ROOT}/Directory.Build.props.in
${CSHARP_ROOT}/Directory.Build.props
@ONLY)