mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-19 19:00:47 +00:00
Support builds without RTTI (#4333)
* Support builds without RTTI * Disable RTTI in all builds
This commit is contained in:
parent
5dcb9b4858
commit
7fea332f93
18 changed files with 59 additions and 27 deletions
|
|
@ -85,6 +85,7 @@ option(onnxruntime_CROSS_COMPILING "Cross compiling onnx runtime" OFF)
|
|||
option(onnxruntime_USE_FULL_PROTOBUF "Link to libprotobuf instead of libprotobuf-lite when this option is ON" OFF)
|
||||
option(onnxruntime_DISABLE_CONTRIB_OPS "Disable contrib ops" OFF)
|
||||
option(onnxruntime_DISABLE_ML_OPS "Disable traditional ML ops" OFF)
|
||||
option(onnxruntime_DISABLE_RTTI "Disable RTTI" OFF)
|
||||
option(tensorflow_C_PACKAGE_PATH "Path to tensorflow C package installation dir")
|
||||
option(onnxruntime_ENABLE_LANGUAGE_INTEROP_OPS "Enable operator implemented in language other than cpp" OFF)
|
||||
option(onnxruntime_DEBUG_NODE_INPUTS_OUTPUTS "Dump node input shapes and output data to standard output when executing the model." OFF)
|
||||
|
|
@ -186,6 +187,16 @@ if(onnxruntime_USE_NNAPI_BUILTIN AND onnxruntime_USE_NNAPI_DNNLIBRARY)
|
|||
message(FATAL_ERROR "Please use only one of onnxruntime_USE_NNAPI_BUILTIN, onnxruntime_USE_NNAPI_DNNLIBRARY")
|
||||
endif()
|
||||
|
||||
if(onnxruntime_DISABLE_RTTI)
|
||||
add_compile_definitions(ORT_NO_RTTI GOOGLE_PROTOBUF_NO_RTTI)
|
||||
if(MSVC)
|
||||
# Disable RTTI and turn usage of dynamic_cast and typeid into errors
|
||||
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/GR->" "$<$<COMPILE_LANGUAGE:CXX>:/we4541>")
|
||||
else()
|
||||
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(REPO_ROOT ${PROJECT_SOURCE_DIR}/..)
|
||||
set(ONNXRUNTIME_ROOT ${PROJECT_SOURCE_DIR}/../onnxruntime)
|
||||
set(ORTTRAINING_ROOT ${PROJECT_SOURCE_DIR}/../orttraining)
|
||||
|
|
|
|||
|
|
@ -697,7 +697,11 @@ const char* DataTypeImpl::ToString(MLDataType type) {
|
|||
if (type_proto != nullptr) {
|
||||
return ONNX_NAMESPACE::Utils::DataTypeUtils::ToType(*type_proto)->c_str();
|
||||
}
|
||||
#ifdef ORT_NO_RTTI
|
||||
return "(unknown type)";
|
||||
#else
|
||||
return typeid(*type).name();
|
||||
#endif
|
||||
}
|
||||
|
||||
const TensorTypeBase* DataTypeImpl::TensorTypeFromONNXEnum(int type) {
|
||||
|
|
@ -951,7 +955,11 @@ std::ostream& operator<<(std::ostream& out, const DataTypeImpl* data_type) {
|
|||
if (data_type == nullptr)
|
||||
return out << "(null)";
|
||||
|
||||
#ifdef ORT_NO_RTTI
|
||||
return out << "(unknown type)";
|
||||
#else
|
||||
return out << typeid(*data_type).name();
|
||||
#endif
|
||||
}
|
||||
|
||||
namespace utils {
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ class IfImpl {
|
|||
std::vector<std::pair<AllocationType, OrtValue>> outputs_;
|
||||
};
|
||||
|
||||
If::If(const OpKernelInfo& info) : OpKernel(info) {
|
||||
If::If(const OpKernelInfo& info) : IControlFlowKernel(info) {
|
||||
// make sure the required attributes are present even though we don't need it here.
|
||||
// The GraphProto attributes are loaded as a Graph instance by main Graph::Resolve,
|
||||
// and a SessionState instance for executing the subgraph is created by InferenceSession.
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
namespace onnxruntime {
|
||||
class SessionState;
|
||||
|
||||
class If : public OpKernel, public controlflow::IControlFlowKernel {
|
||||
class If : public controlflow::IControlFlowKernel {
|
||||
public:
|
||||
If(const OpKernelInfo& info);
|
||||
|
||||
|
|
|
|||
|
|
@ -216,7 +216,7 @@ static Status ConcatenateCpuOutput(std::vector<OrtValue>& per_iteration_output,
|
|||
return Status::OK();
|
||||
}
|
||||
|
||||
Loop::Loop(const OpKernelInfo& info) : OpKernel(info) {
|
||||
Loop::Loop(const OpKernelInfo& info) : IControlFlowKernel(info) {
|
||||
// make sure the attribute was present even though we don't need it here.
|
||||
// The GraphProto is loaded as a Graph instance by main Graph::Resolve,
|
||||
// and a SessionState instance for executing the subgraph is created by InferenceSession.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
namespace onnxruntime {
|
||||
|
||||
class Loop : public OpKernel, public controlflow::IControlFlowKernel {
|
||||
class Loop : public controlflow::IControlFlowKernel {
|
||||
public:
|
||||
Loop(const OpKernelInfo& info);
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ struct DeviceHelpers {
|
|||
} // namespace scan
|
||||
|
||||
template <int OpSet>
|
||||
class Scan : public OpKernel, public controlflow::IControlFlowKernel {
|
||||
class Scan : public controlflow::IControlFlowKernel {
|
||||
public:
|
||||
Scan(const OpKernelInfo& info);
|
||||
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ class Scan8Impl {
|
|||
};
|
||||
|
||||
template <>
|
||||
Scan<8>::Scan(const OpKernelInfo& info) : OpKernel(info) {
|
||||
Scan<8>::Scan(const OpKernelInfo& info) : IControlFlowKernel(info) {
|
||||
// make sure the attribute was present even though we don't need it here.
|
||||
// The GraphProto is loaded as a Graph instance by main Graph::Resolve,
|
||||
// and a SessionState instance for executing the subgraph is created by InferenceSession.
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ class ScanImpl {
|
|||
};
|
||||
|
||||
template <>
|
||||
Scan<9>::Scan(const OpKernelInfo& info) : OpKernel(info) {
|
||||
Scan<9>::Scan(const OpKernelInfo& info) : IControlFlowKernel(info) {
|
||||
// make sure the attribute was present even though we don't need it here.
|
||||
// The GraphProto is loaded as a Graph instance by main Graph::Resolve,
|
||||
// and a SessionState instance for executing the subgraph is created by InferenceSession.
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include "core/common/common.h"
|
||||
#include "core/framework/feeds_fetches_manager.h"
|
||||
#include "core/framework/op_kernel.h"
|
||||
|
||||
namespace onnxruntime {
|
||||
class Graph;
|
||||
|
|
@ -31,8 +32,9 @@ OrtValue MakeScalarMLValue(const AllocatorPtr& allocator, T value, bool is_1d) {
|
|||
namespace controlflow {
|
||||
|
||||
/** Interface for control flow kernels */
|
||||
class IControlFlowKernel {
|
||||
class IControlFlowKernel : public OpKernel {
|
||||
public:
|
||||
explicit IControlFlowKernel(const OpKernelInfo& info) : OpKernel(info) {}
|
||||
/** Setup information that is re-used each time to execute the subgraph.
|
||||
@param session_state SessionState for graph containing the control flow node
|
||||
@param attribute_name Control flow node's attribute name that contained the subgraph
|
||||
|
|
|
|||
|
|
@ -775,7 +775,8 @@ common::Status InferenceSession::InitializeSubgraphSessions(Graph& graph, Sessio
|
|||
// setup all the info for handling the feeds and fetches used in subgraph execution
|
||||
auto* p_op_kernel = session_state.GetMutableKernel(node.Index());
|
||||
ORT_ENFORCE(p_op_kernel);
|
||||
auto& control_flow_kernel = dynamic_cast<controlflow::IControlFlowKernel&>(*p_op_kernel);
|
||||
// Downcast is safe, since only control flow nodes have subgraphs (node.GetAttributeNameToMutableSubgraphMap() is non-empty)
|
||||
auto& control_flow_kernel = static_cast<controlflow::IControlFlowKernel&>(*p_op_kernel);
|
||||
ORT_RETURN_IF_ERROR_SESSIONID_(
|
||||
control_flow_kernel.SetupSubgraphExecutionInfo(session_state, name, *subgraph_session_state));
|
||||
|
||||
|
|
@ -1033,10 +1034,14 @@ static common::Status CheckTypes(MLDataType actual, MLDataType expected) {
|
|||
if (actual == expected) {
|
||||
return Status::OK();
|
||||
}
|
||||
#ifdef ORT_NO_RTTI
|
||||
return Status(common::ONNXRUNTIME, common::INVALID_ARGUMENT, "Unexpected input data type");
|
||||
#else
|
||||
auto actual_name = std::string(typeid(*actual).name());
|
||||
auto expected_name = std::string(typeid(*expected).name());
|
||||
return Status(common::ONNXRUNTIME, common::INVALID_ARGUMENT,
|
||||
"Unexpected input data type. Actual: (" + actual_name + ") , expected: (" + expected_name + ")");
|
||||
#endif
|
||||
}
|
||||
|
||||
common::Status InferenceSession::ValidateInputs(const std::vector<std::string>& feed_names,
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ TEST(GraphTransformerUtilsTests, TestGenerateGraphTransformers) {
|
|||
RuleBasedGraphTransformer* rule_transformer = nullptr;
|
||||
for (const auto& transformer : transformers) {
|
||||
if (transformer->Name() == l1_rule_transformer_name) {
|
||||
rule_transformer = dynamic_cast<RuleBasedGraphTransformer*>(transformers[0].get());
|
||||
rule_transformer = static_cast<RuleBasedGraphTransformer*>(transformers[0].get());
|
||||
}
|
||||
}
|
||||
ASSERT_TRUE(rule_transformer && rule_transformer->RulesCount() == 1);
|
||||
|
|
|
|||
|
|
@ -298,6 +298,9 @@ def parse_arguments():
|
|||
parser.add_argument(
|
||||
"--disable_ml_ops", action='store_true',
|
||||
help="Disable traditional ML ops (reduces binary size)")
|
||||
parser.add_argument(
|
||||
"--disable_rtti", action='store_true',
|
||||
help="Disable RTTI (reduces binary size)")
|
||||
parser.add_argument(
|
||||
"--skip_onnx_tests", action='store_true', help="Explicitly disable "
|
||||
"all onnx related tests. Note: Use --skip_tests to skip all tests.")
|
||||
|
|
@ -617,6 +620,8 @@ def generate_build_tree(cmake_path, source_dir, build_dir, cuda_home, cudnn_home
|
|||
"ON" if args.disable_contrib_ops else "OFF"),
|
||||
"-Donnxruntime_DISABLE_ML_OPS=" + (
|
||||
"ON" if args.disable_ml_ops else "OFF"),
|
||||
"-Donnxruntime_DISABLE_RTTI=" + (
|
||||
"ON" if args.disable_rtti else "OFF"),
|
||||
"-Donnxruntime_MSVC_STATIC_RUNTIME=" + (
|
||||
"ON" if args.enable_msvc_static_runtime else "OFF"),
|
||||
# enable pyop if it is nightly build
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ jobs:
|
|||
displayName: 'Generate cmake config'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
arguments: '--config RelWithDebInfo --enable_lto --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)'
|
||||
arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
|
||||
|
|
@ -161,7 +161,7 @@ jobs:
|
|||
displayName: 'test'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
arguments: '--config RelWithDebInfo --enable_lto --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)'
|
||||
arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
- template: templates/c-api-artifacts-package-and-publish-steps-windows.yml
|
||||
|
|
@ -225,7 +225,7 @@ jobs:
|
|||
displayName: 'Generate cmake config'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
arguments: '--config RelWithDebInfo --enable_lto --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)'
|
||||
arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
|
||||
|
|
@ -245,7 +245,7 @@ jobs:
|
|||
displayName: 'test'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
arguments: '--config RelWithDebInfo --enable_lto --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)'
|
||||
arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
- template: templates/c-api-artifacts-package-and-publish-steps-windows.yml
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ jobs:
|
|||
displayName: 'Generate cmake config'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_java --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --enable_lto --build_shared_lib --enable_onnx_tests $(buildparameter)'
|
||||
arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_java --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --enable_lto --disable_rtti --build_shared_lib --enable_onnx_tests $(buildparameter)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
|
||||
|
|
@ -97,7 +97,7 @@ jobs:
|
|||
displayName: 'test'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --build_java --test --cmake_generator "Visual Studio 16 2019" --enable_lto --build_shared_lib --enable_onnx_tests $(buildparameter)'
|
||||
arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --build_java --test --cmake_generator "Visual Studio 16 2019" --enable_lto --disable_rtti --build_shared_lib --enable_onnx_tests $(buildparameter)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
- template: templates/java-api-artifacts-package-and-publish-steps-windows.yml
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ jobs:
|
|||
displayName: 'Generate cmake config'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_wcos --build_java --update --cmake_generator "Visual Studio 16 2019" --enable_lto --build_shared_lib --enable_onnx_tests $(buildparameter)'
|
||||
arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_wcos --build_java --update --cmake_generator "Visual Studio 16 2019" --enable_lto --disable_rtti --build_shared_lib --enable_onnx_tests $(buildparameter)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
|
||||
|
|
@ -144,7 +144,7 @@ jobs:
|
|||
displayName: 'test'
|
||||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_java --build_shared_lib --enable_wcos --build_java --test --cmake_generator "Visual Studio 16 2019" --enable_lto --build_shared_lib --enable_onnx_tests $(buildparameter)'
|
||||
arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_java --build_shared_lib --enable_wcos --build_java --test --cmake_generator "Visual Studio 16 2019" --enable_lto --disable_rtti --build_shared_lib --enable_onnx_tests $(buildparameter)'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
- template: templates/java-api-artifacts-package-and-publish-steps-windows.yml
|
||||
|
|
|
|||
|
|
@ -275,6 +275,7 @@ stages:
|
|||
arguments: >
|
||||
--config RelWithDebInfo
|
||||
--enable_lto
|
||||
--disable_rtti
|
||||
--build_dir $(Build.BinariesDirectory)
|
||||
--skip_submodule_sync
|
||||
--cmake_generator "Visual Studio 16 2019"
|
||||
|
|
|
|||
|
|
@ -38,21 +38,21 @@ steps:
|
|||
inputs:
|
||||
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
||||
${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti'
|
||||
${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --enable_windows_store'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --enable_windows_store'
|
||||
${{ if and(eq(parameters.BuildArch, 'x86'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --x86'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --x86'
|
||||
${{ if and(eq(parameters.BuildArch, 'x86'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --x86 --enable_windows_store'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --x86 --enable_windows_store'
|
||||
${{ if and(eq(parameters.BuildArch, 'arm64'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --arm64'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm64'
|
||||
${{ if and(eq(parameters.BuildArch, 'arm64'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --arm64 --enable_windows_store'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm64 --enable_windows_store'
|
||||
${{ if and(eq(parameters.BuildArch, 'arm'), eq(parameters.BuildForStore, 'false')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --arm'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm'
|
||||
${{ if and(eq(parameters.BuildArch, 'arm'), eq(parameters.BuildForStore, 'true')) }}:
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --arm --enable_windows_store'
|
||||
arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm --enable_windows_store'
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
- ${{ if notIn(parameters['sln_platform'], 'Win32', 'x64') }}:
|
||||
|
|
@ -84,7 +84,7 @@ steps:
|
|||
python.exe -m pip install -q --upgrade %WHEEL_FILENAME%
|
||||
set PATH=%PATH%;$(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo
|
||||
@echo %PATH%
|
||||
python $(Build.SourcesDirectory)\tools\ci_build\build.py --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --test --config RelWithDebInfo --enable_lto %BUILD_ARCH_SWITCH%
|
||||
python $(Build.SourcesDirectory)\tools\ci_build\build.py --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --test --config RelWithDebInfo --enable_lto --disable_rtti %BUILD_ARCH_SWITCH%
|
||||
workingDirectory: '$(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo'
|
||||
displayName: 'Run Unit Tests'
|
||||
env:
|
||||
|
|
|
|||
Loading…
Reference in a new issue