mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-29 20:14:01 +00:00
Update nodejs's cmake file to fix a file copy issue (#21390)
This commit e5f18ba2c1 caused some nightly
pipelines to fail. This PR fixes it.
It is because recently I changed our Linux library's SONAME. At runtime
onnxruntime_binding depends on libonnxruntime.so.1 , instead of
libonnxruntime.so.1.19.0(with the full version number). Therefore we
need to keep the libonnxruntime.so.1 symlink.
The packaging tools/ci_build/github/js/pack-npm-packages.ps1 still needs
be updated. I will address it in another PR.
This commit is contained in:
parent
f70215d4e6
commit
7af39c6955
1 changed files with 20 additions and 42 deletions
|
|
@ -59,8 +59,18 @@ endif()
|
|||
file(GLOB ORT_NODEJS_BINDING_SOURCE_FILES ${CMAKE_SOURCE_DIR}/src/*.cc)
|
||||
|
||||
add_library(onnxruntime_binding SHARED ${ORT_NODEJS_BINDING_SOURCE_FILES} ${CMAKE_JS_SRC})
|
||||
file(MAKE_DIRECTORY ${dist_folder})
|
||||
|
||||
set_target_properties(onnxruntime_binding PROPERTIES
|
||||
PREFIX "" SUFFIX ".node"
|
||||
RUNTIME_OUTPUT_DIRECTORY ${dist_folder}
|
||||
RUNTIME_OUTPUT_DIRECTORY_DEBUG ${dist_folder}
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELEASE ${dist_folder}
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${dist_folder}
|
||||
LIBRARY_OUTPUT_DIRECTORY ${dist_folder}
|
||||
LIBRARY_OUTPUT_DIRECTORY_DEBUG ${dist_folder}
|
||||
LIBRARY_OUTPUT_DIRECTORY_RELEASE ${dist_folder}
|
||||
LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO ${dist_folder}
|
||||
BUILD_WITH_INSTALL_RPATH TRUE
|
||||
INSTALL_RPATH_USE_LINK_PATH FALSE)
|
||||
target_link_libraries(onnxruntime_binding PRIVATE ${CMAKE_JS_LIB})
|
||||
|
|
@ -86,61 +96,29 @@ else()
|
|||
endif()
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(onnxruntime_binding PRIVATE onnxruntime.lib)
|
||||
target_link_libraries(onnxruntime_binding PRIVATE onnxruntime)
|
||||
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})
|
||||
target_link_libraries(onnxruntime_binding PRIVATE onnxruntime)
|
||||
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_WIN_BIN_DIR}/onnxruntime.dll
|
||||
${dist_folder}
|
||||
)
|
||||
file(COPY ${ONNXRUNTIME_WIN_BIN_DIR}/onnxruntime.dll
|
||||
DESTINATION ${dist_folder})
|
||||
if (USE_DML)
|
||||
add_custom_command(
|
||||
TARGET onnxruntime_binding POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${ONNXRUNTIME_WIN_BIN_DIR}/DirectML.dll
|
||||
${dist_folder}
|
||||
)
|
||||
file(COPY ${ONNXRUNTIME_WIN_BIN_DIR}/DirectML.dll
|
||||
DESTINATION ${dist_folder})
|
||||
endif ()
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
add_custom_command(
|
||||
TARGET onnxruntime_binding POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${ONNXRUNTIME_WIN_BIN_DIR}/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}
|
||||
)
|
||||
file(COPY ${ONNXRUNTIME_BUILD_DIR}/libonnxruntime.dylib
|
||||
DESTINATION ${dist_folder} FOLLOW_SYMLINK_CHAIN)
|
||||
elseif (UNIX)
|
||||
add_custom_command(
|
||||
TARGET onnxruntime_binding POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${ONNXRUNTIME_BUILD_DIR}/libonnxruntime.so.${ort_version}
|
||||
${dist_folder}
|
||||
)
|
||||
file(COPY ${ONNXRUNTIME_BUILD_DIR}/libonnxruntime.so
|
||||
DESTINATION ${dist_folder} FOLLOW_SYMLINK_CHAIN)
|
||||
else()
|
||||
message(FATAL_ERROR "Platform not supported.")
|
||||
endif()
|
||||
|
|
|
|||
Loading…
Reference in a new issue