onnxruntime
42 строки · 1.9 Кб
1# Copyright (c) Microsoft Corporation. All rights reserved.
2# Licensed under the MIT License.
3
4add_compile_definitions(USE_XNNPACK=1)
5
6file(GLOB_RECURSE onnxruntime_providers_xnnpack_cc_srcs CONFIGURE_DEPENDS
7"${ONNXRUNTIME_INCLUDE_DIR}/core/providers/xnnpack/*.h"
8"${ONNXRUNTIME_ROOT}/core/providers/xnnpack/*.h"
9"${ONNXRUNTIME_ROOT}/core/providers/xnnpack/*.cc"
10)
11
12source_group(TREE ${REPO_ROOT} FILES ${onnxruntime_providers_xnnpack_cc_srcs})
13onnxruntime_add_static_library(onnxruntime_providers_xnnpack ${onnxruntime_providers_xnnpack_cc_srcs})
14onnxruntime_add_include_to_target(onnxruntime_providers_xnnpack
15onnxruntime_common onnxruntime_framework onnx onnx_proto ${PROTOBUF_LIB} XNNPACK pthreadpool
16flatbuffers::flatbuffers Boost::mp11 safeint_interface
17)
18
19# TODO fix stringop-overflow warnings
20# Add compile option to suppress stringop-overflow error in Flatbuffers.
21if (HAS_STRINGOP_OVERFLOW)
22target_compile_options(onnxruntime_providers_xnnpack PRIVATE -Wno-error=stringop-overflow)
23endif()
24
25add_dependencies(onnxruntime_providers_xnnpack onnx ${onnxruntime_EXTERNAL_DEPENDENCIES})
26set_target_properties(onnxruntime_providers_xnnpack PROPERTIES FOLDER "ONNXRuntime")
27
28set_target_properties(onnxruntime_providers_xnnpack PROPERTIES LINKER_LANGUAGE CXX)
29
30if (NOT onnxruntime_BUILD_SHARED_LIB)
31install(TARGETS onnxruntime_providers_xnnpack
32ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
33LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
34RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
35FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR})
36endif()
37
38# TODO fix shorten-64-to-32 warnings
39# there are some in builds where sizeof(size_t) != sizeof(int64_t), e.g., in 'ONNX Runtime Web CI Pipeline'
40if (HAS_SHORTEN_64_TO_32 AND NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
41target_compile_options(onnxruntime_providers_xnnpack PRIVATE -Wno-error=shorten-64-to-32)
42endif()
43