[JS OV] Node.js API (#19848)
Co-authored-by: almilosz <alicja.miloszewska@intel.com> Co-authored-by: Andrei Kashchikhin <andrey.kashchikhin@intel.com> Co-authored-by: yatarkan <yaroslav.tarkan@intel.com> Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
This commit is contained in:
committed by
GitHub
parent
2779df5800
commit
8d704f6400
@@ -85,6 +85,8 @@ macro(ov_define_component_include_rules)
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
unset(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL)
|
||||
unset(OV_CPACK_COMP_OPENVINO_REQ_FILES_EXCLUDE_ALL)
|
||||
# nodejs
|
||||
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
|
||||
|
||||
@@ -101,6 +101,8 @@ macro(ov_define_component_include_rules)
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# we don't need requirements.txt in package, because dependencies are installed by packages managers like conda
|
||||
set(OV_CPACK_COMP_OPENVINO_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# nodejs
|
||||
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
|
||||
@@ -106,6 +106,8 @@ macro(ov_define_component_include_rules)
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# because numpy is installed by apt
|
||||
set(OV_CPACK_COMP_OPENVINO_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# nodejs
|
||||
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
|
||||
105
cmake/developer_package/packaging/npm.cmake
Normal file
105
cmake/developer_package/packaging/npm.cmake
Normal file
@@ -0,0 +1,105 @@
|
||||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# We have to specify RPATH, all runtime libs are in one dir
|
||||
set(CMAKE_SKIP_INSTALL_RPATH OFF)
|
||||
|
||||
#
|
||||
# ov_npm_cpack_set_dirs()
|
||||
#
|
||||
# Set directories for cpack
|
||||
#
|
||||
macro(ov_npm_cpack_set_dirs)
|
||||
set(OV_CPACK_INCLUDEDIR .)
|
||||
set(OV_CPACK_IE_CMAKEDIR .)
|
||||
set(OV_CPACK_NGRAPH_CMAKEDIR .)
|
||||
set(OV_CPACK_OPENVINO_CMAKEDIR .)
|
||||
set(OV_CPACK_DOCDIR .)
|
||||
set(OV_CPACK_LICENSESDIR .)
|
||||
set(OV_CPACK_SAMPLESDIR .)
|
||||
set(OV_CPACK_WHEELSDIR .)
|
||||
set(OV_CPACK_TOOLSDIR .)
|
||||
set(OV_CPACK_DEVREQDIR .)
|
||||
set(OV_CPACK_PYTHONDIR .)
|
||||
|
||||
if(WIN32)
|
||||
set(OV_CPACK_LIBRARYDIR .)
|
||||
set(OV_CPACK_RUNTIMEDIR .)
|
||||
set(OV_CPACK_ARCHIVEDIR .)
|
||||
elseif(APPLE)
|
||||
set(OV_CPACK_LIBRARYDIR .)
|
||||
set(OV_CPACK_RUNTIMEDIR .)
|
||||
set(OV_CPACK_ARCHIVEDIR .)
|
||||
else()
|
||||
set(OV_CPACK_LIBRARYDIR .)
|
||||
set(OV_CPACK_RUNTIMEDIR .)
|
||||
set(OV_CPACK_ARCHIVEDIR .)
|
||||
endif()
|
||||
|
||||
set(OV_CPACK_LIBRARYDIR .)
|
||||
set(OV_CPACK_ARCHIVEDIR .)
|
||||
set(OV_CPACK_PLUGINSDIR .)
|
||||
set(OV_CPACK_IE_CMAKEDIR .)
|
||||
set(OV_CPACK_NGRAPH_CMAKEDIR .)
|
||||
set(OV_CPACK_OPENVINO_CMAKEDIR .)
|
||||
set(OV_CPACK_DOCDIR .)
|
||||
set(OV_CPACK_LICENSESDIR licenses)
|
||||
set(OV_CPACK_PYTHONDIR .)
|
||||
|
||||
# non-native stuff
|
||||
set(OV_CPACK_SHAREDIR .)
|
||||
set(OV_CPACK_SAMPLESDIR .)
|
||||
set(OV_CPACK_DEVREQDIR .)
|
||||
unset(OV_CPACK_SHAREDIR)
|
||||
|
||||
# skipped during debian packaging
|
||||
set(OV_CPACK_WHEELSDIR .)
|
||||
endmacro()
|
||||
|
||||
ov_npm_cpack_set_dirs()
|
||||
|
||||
#
|
||||
# Override include / exclude rules for components
|
||||
# This is required to exclude some files from installation
|
||||
# (e.g. npm package requires only C++ Core component)
|
||||
#
|
||||
|
||||
macro(ov_define_component_include_rules)
|
||||
# core components
|
||||
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
|
||||
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tbb
|
||||
unset(OV_CPACK_COMP_TBB_EXCLUDE_ALL)
|
||||
set(OV_CPACK_COMP_TBB_DEV_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# licensing
|
||||
unset(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL)
|
||||
# samples
|
||||
set(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# python
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_BENCHMARK_APP_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_OVC_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_OPENVINO_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# nodejs
|
||||
unset(OV_CPACK_COMP_NPM_EXCLUDE_ALL)
|
||||
# tools
|
||||
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# scripts
|
||||
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
endmacro()
|
||||
|
||||
ov_define_component_include_rules()
|
||||
|
||||
# New in version 3.18
|
||||
set(CPACK_ARCHIVE_THREADS 8)
|
||||
@@ -117,6 +117,8 @@ macro(ov_define_component_include_rules)
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
unset(OV_CPACK_COMP_OPENVINO_REQ_FILES_EXCLUDE_ALL)
|
||||
# nodejs
|
||||
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
unset(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL)
|
||||
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
|
||||
|
||||
@@ -41,10 +41,16 @@ endmacro()
|
||||
#
|
||||
function(ov_set_install_rpath TARGET_NAME lib_install_path)
|
||||
if(APPLE AND CPACK_GENERATOR MATCHES "^(7Z|TBZ2|TGZ|TXZ|TZ|TZST|ZIP)$" OR CPACK_GENERATOR STREQUAL "NPM")
|
||||
if (APPLE)
|
||||
set(RPATH_PREFIX "@loader_path")
|
||||
else()
|
||||
set(RPATH_PREFIX "$ORIGIN")
|
||||
endif()
|
||||
|
||||
unset(rpath_list)
|
||||
foreach(dependency_install_path IN LISTS ARGN)
|
||||
file(RELATIVE_PATH dependency_rpath "/${lib_install_path}" "/${dependency_install_path}")
|
||||
set(dependency_rpath "@loader_path/${dependency_rpath}")
|
||||
set(dependency_rpath "${RPATH_PREFIX}/${dependency_rpath}")
|
||||
list(APPEND rpath_list "${dependency_rpath}")
|
||||
endforeach()
|
||||
|
||||
@@ -139,6 +145,8 @@ macro(ov_define_component_names)
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE "pyopenvino_package")
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS "python_wheels")
|
||||
set(OV_CPACK_COMP_OPENVINO_REQ_FILES "openvino_req_files")
|
||||
# nodejs
|
||||
set(OV_CPACK_COMP_NPM "ov_node_addon")
|
||||
# tools
|
||||
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "openvino_dev_req_files")
|
||||
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER "deployment_manager")
|
||||
@@ -179,6 +187,8 @@ elseif(CPACK_GENERATOR STREQUAL "RPM")
|
||||
include(packaging/rpm/rpm)
|
||||
elseif(CPACK_GENERATOR STREQUAL "NSIS")
|
||||
include(packaging/nsis)
|
||||
elseif(CPACK_GENERATOR STREQUAL "NPM")
|
||||
include(packaging/npm)
|
||||
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN|VCPKG)$")
|
||||
include(packaging/common-libraries)
|
||||
elseif(CPACK_GENERATOR MATCHES "^(7Z|TBZ2|TGZ|TXZ|TZ|TZST|ZIP)$")
|
||||
|
||||
@@ -97,6 +97,8 @@ macro(ov_define_component_include_rules)
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# because numpy is installed by rpm
|
||||
set(OV_CPACK_COMP_OPENVINO_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# nodejs
|
||||
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
|
||||
Reference in New Issue
Block a user