mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-25 19:48:11 +00:00
* link to folder instead of READMEs inside folder (#3938) otherwise hard to find the source code * [Node.js binding] fix linux build (#3927) * [Node.js binding] add build flag for node.js binding (#3948) * [Nodejs binding] create a new pipeline to generate signed binaries (#4104) * add yml files * update pipeline * fix yaml syntax * yaml pop BuildCSharp * udpate yaml * do not stage codesign summary * fix build: pipeline Node.js version to 12.16.3 (#4145) * [Node.js binding] upgrade node-addon-api to 3.0 (#4148) * [Node.js binding] add linux and mac package (#4157) * try mac pipeline * fix path separator * copy prebuilds folder * split esrp yaml for win/mac * disable mac signing temporarily * add linux * fix indent * add nodetool in linux * add nodetool in win-ci-2019 * replace linux build by custom docker scripts * use manylinux as node 12.16 not working on centos6 * try ubuntu * loosen timeout for test case - multiple runs calls * add script to support update nodejs binding version (#4164) * [java] Adds a CUDA test (#3956) * [java] - adding a cuda enabled test. * Adding --build_java to the windows gpu ci pipeline. * Removing a stray line from the unit tests that always enabled CUDA for Java. * Update OnnxRuntime.java for OS X environment. (#3985) onnxruntime init failure due to wrong path of reading native libraries. In OS X 64 system, the arch name is detected as x86 which generates invalid path to read native libraries. Exception java.lang.UnsatisfiedLinkError: no onnxruntime in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at ai.onnxruntime.OnnxRuntime.load(OnnxRuntime.java:174) at ai.onnxruntime.OnnxRuntime.init(OnnxRuntime.java:81) at ai.onnxruntime.OrtEnvironment.<clinit>(OrtEnvironment.java:24) * Create Java publishing pipeline (#3944) Create CPU and GPu Java publishing pipelines. Final jars are tested on all platforms. However, signing and publishing to maven are manual steps. * Change group id to com.microsoft.onnxruntime per requirements. * Java GPu artifact naming (#4179) Modify gradle build so artifactID has _gpu for GPU builds. Pass USE_CUDA flag on CUDA build Adjust publishing pipelines to extract POM from a correct path. Co-Authored-By: @Craigacp * bump up ORT version to 1.3.1 (#4181) * move back to toolset 14.16 to possibly work around nvcc bug (#4180) * Symbolic shape inference exit on models without onnx opset used (#4090) * Symbolic shape inference exit on models without onnx opset used * Temporary fix for ConvTranspose with symbolic input dims Co-authored-by: Changming Sun <me@sunchangming.com> * Fix Nuphar test failure * Enlarge the read buffer size in C#/Java test code (#4150) 1. Enlarge the read buffer size further, so that our code can run even faster. TODO: need apply the similar changes to python some other language bindings. 2. Add coreml_VGG16_ImageNet to the test exclusion set of x86_32. It is not a new model but previously we didn't run the test against x86_32. * Temporarily disable windows static analysis CI job * skip model coreml_Imputer-LogisticRegression_sklearn_load_breast_cancer * Delete unused variable Co-authored-by: Prasanth Pulavarthi <prasantp@microsoft.com> Co-authored-by: Yulong Wang <yulongw@microsoft.com> Co-authored-by: Adam Pocock <adam.pocock@oracle.com> Co-authored-by: jji2019 <49252772+jji2019@users.noreply.github.com> Co-authored-by: Dmitri Smirnov <yuslepukhin@users.noreply.github.com> Co-authored-by: Dmitri Smirnov <dmitrism@microsoft.com> Co-authored-by: George Wu <jywu@microsoft.com> Co-authored-by: KeDengMS <kedeng@microsoft.com> Co-authored-by: Changming Sun <me@sunchangming.com> Co-authored-by: Changming Sun <chasun@microsoft.com>
99 lines
3.3 KiB
CMake
99 lines
3.3 KiB
CMake
cmake_minimum_required(VERSION 3.11)
|
|
|
|
project (onnxruntime-node)
|
|
|
|
set(CMAKE_CXX_STANDARD 14)
|
|
|
|
add_compile_definitions(NAPI_VERSION=${napi_build_version})
|
|
|
|
# dist variables
|
|
execute_process(COMMAND node -e "console.log(process.arch)"
|
|
OUTPUT_VARIABLE node_arch OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
execute_process(COMMAND node -e "console.log(process.platform)"
|
|
OUTPUT_VARIABLE node_platform OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
file(READ ${CMAKE_SOURCE_DIR}/../VERSION_NUMBER ort_version)
|
|
string(STRIP "${ort_version}" ort_version)
|
|
set(dist_folder "${CMAKE_SOURCE_DIR}/bin/napi-v3/${node_platform}/${node_arch}/")
|
|
|
|
# onnxruntime.dll dir
|
|
if(NOT ONNXRUNTIME_BUILD_DIR)
|
|
if (WIN32)
|
|
set(ONNXRUNTIME_BUILD_DIR ${CMAKE_SOURCE_DIR}/../build/Windows/${CMAKE_BUILD_TYPE})
|
|
else()
|
|
set(ONNXRUNTIME_BUILD_DIR ${CMAKE_SOURCE_DIR}/../build/Linux)
|
|
endif()
|
|
endif()
|
|
|
|
# include dirs
|
|
include_directories(${CMAKE_JS_INC})
|
|
include_directories(${CMAKE_SOURCE_DIR}/../include/onnxruntime)
|
|
include_directories(${CMAKE_SOURCE_DIR}/node_modules/node-addon-api)
|
|
|
|
# source files
|
|
file(GLOB SOURCE_FILES ${CMAKE_SOURCE_DIR}/src/*.cc)
|
|
|
|
add_library(onnxruntime_binding SHARED ${SOURCE_FILES} ${CMAKE_JS_SRC})
|
|
set_target_properties(onnxruntime_binding PROPERTIES
|
|
PREFIX "" SUFFIX ".node"
|
|
BUILD_WITH_INSTALL_RPATH TRUE
|
|
INSTALL_RPATH_USE_LINK_PATH FALSE)
|
|
target_link_libraries(onnxruntime_binding PRIVATE ${CMAKE_JS_LIB})
|
|
|
|
# add libraries
|
|
if (WIN32)
|
|
target_link_directories(onnxruntime_binding PRIVATE ${ONNXRUNTIME_BUILD_DIR}/${CMAKE_BUILD_TYPE})
|
|
else()
|
|
target_link_directories(onnxruntime_binding PRIVATE ${ONNXRUNTIME_BUILD_DIR})
|
|
endif()
|
|
|
|
if (WIN32)
|
|
target_link_libraries(onnxruntime_binding PRIVATE onnxruntime.lib)
|
|
elseif (APPLE)
|
|
target_link_libraries(onnxruntime_binding PRIVATE libonnxruntime.${ort_version}.dylib)
|
|
set_target_properties(onnxruntime_binding PROPERTIES INSTALL_RPATH "@loader_path")
|
|
else()
|
|
target_link_libraries(onnxruntime_binding PRIVATE libonnxruntime.so.${ort_version})
|
|
set_target_properties(onnxruntime_binding PROPERTIES INSTALL_RPATH "$ORIGIN/")
|
|
endif()
|
|
|
|
# post build
|
|
|
|
add_custom_command(
|
|
TARGET onnxruntime_binding POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${dist_folder}
|
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:onnxruntime_binding> ${dist_folder}
|
|
)
|
|
|
|
if (WIN32)
|
|
add_custom_command(
|
|
TARGET onnxruntime_binding POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${ONNXRUNTIME_BUILD_DIR}/${CMAKE_BUILD_TYPE}/onnxruntime.dll
|
|
${dist_folder}
|
|
)
|
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
add_custom_command(
|
|
TARGET onnxruntime_binding POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${ONNXRUNTIME_BUILD_DIR}/${CMAKE_BUILD_TYPE}/onnxruntime.pdb
|
|
${dist_folder}
|
|
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:onnxruntime_binding>/onnxruntime_binding.pdb ${dist_folder}
|
|
)
|
|
endif()
|
|
elseif (APPLE)
|
|
add_custom_command(
|
|
TARGET onnxruntime_binding POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${ONNXRUNTIME_BUILD_DIR}/libonnxruntime.${ort_version}.dylib
|
|
${dist_folder}
|
|
)
|
|
elseif (UNIX)
|
|
add_custom_command(
|
|
TARGET onnxruntime_binding POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${ONNXRUNTIME_BUILD_DIR}/libonnxruntime.so.${ort_version}
|
|
${dist_folder}
|
|
)
|
|
else()
|
|
message(FATAL_ERROR "Platform not supported.")
|
|
endif()
|