Used pip wheel to build OpenVINO wheel (#18029)
* Used pip wheel to build OpenVINO wheel * Improvements * Added python api properly into deb / rpm packages * Use cmake -E variant from cmake 3.13 * Improvements to fix CI * Some refactoring * Don't use developer package for scripts projects * Final fixes
This commit is contained in:
1 parent
1b495e3221
commit
15e69c280a
19 files changed
+497
-265
No files matched your search
@@ -36,6 +36,7 @@ macro(ov_common_libraries_cpack_set_dirs)
|
||||
|
||||
ov_get_pyversion(pyversion)
|
||||
if(pyversion)
|
||||
# should not be used in production; only by setup.py install
|
||||
set(OV_CPACK_PYTHONDIR ${CMAKE_INSTALL_LIBDIR}/${pyversion}/site-packages)
|
||||
endif()
|
||||
|
||||
@@ -107,6 +108,10 @@ macro(ov_define_component_include_rules)
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
# we don't pack artifacts of setup.py install, because it's called explicitly in conda / brew
|
||||
# or not used at all like in cases with conan / vcpkg
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
# we don't need wheels in package, it's used installed only in open source distribution
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
|
||||
@@ -100,14 +100,16 @@ macro(ov_define_component_include_rules)
|
||||
endif()
|
||||
# python
|
||||
if(ENABLE_PYTHON_PACKAGING)
|
||||
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
# pack artifacts of setup.py install
|
||||
unset(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL)
|
||||
else()
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
# we don't pack python components itself, we pack artifacts of setup.py install
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
# we don't need wheels in Debian packages
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
@@ -182,9 +184,9 @@ endmacro()
|
||||
ov_debian_specific_settings()
|
||||
|
||||
# needed to override cmake auto generated files
|
||||
set(def_postinst "${OpenVINO_BINARY_DIR}/_CPack_Packages/postinst")
|
||||
set(def_postrm "${OpenVINO_BINARY_DIR}/_CPack_Packages/postrm")
|
||||
set(def_triggers "${OpenVINO_BINARY_DIR}/_CPack_Packages/triggers")
|
||||
set(def_postinst "${CMAKE_CURRENT_BINARY_DIR}/_CPack_Packages/postinst")
|
||||
set(def_postrm "${CMAKE_CURRENT_BINARY_DIR}/_CPack_Packages/postrm")
|
||||
set(def_triggers "${CMAKE_CURRENT_BINARY_DIR}/_CPack_Packages/triggers")
|
||||
|
||||
set(triggers_content "activate-noawait ldconfig\n\n")
|
||||
set(post_content "#!/bin/sh\n\nset -e;\nset -e\n\n")
|
||||
@@ -320,7 +322,7 @@ macro(ov_debian_add_latest_component comp)
|
||||
set(upper_case "${ucomp}_LATEST")
|
||||
|
||||
set(CPACK_COMPONENT_${upper_case}_DESCRIPTION "${CPACK_COMPONENT_${ucomp}_DESCRIPTION}")
|
||||
set(CPACK_COMPONENT_${upper_case}_ARCHITECTURE "all")
|
||||
set(CPACK_DEBIAN_${upper_case}_PACKAGE_ARCHITECTURE "all")
|
||||
set(CPACK_COMPONENT_${upper_case}_DEPENDS "${comp}")
|
||||
set(${comp_name}_copyright "generic")
|
||||
|
||||
|
||||
@@ -66,6 +66,7 @@ macro(ov_define_component_include_rules)
|
||||
unset(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL)
|
||||
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
unset(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL)
|
||||
unset(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL)
|
||||
|
||||
@@ -148,6 +148,7 @@ macro(ov_define_component_names)
|
||||
set(OV_CPACK_COMP_PYTHON_IE_API "pyie")
|
||||
set(OV_CPACK_COMP_PYTHON_NGRAPH "pyngraph")
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO "pyopenvino")
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE "pyopenvino_package")
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS "python_wheels")
|
||||
# tools
|
||||
set(OV_CPACK_COMP_CORE_TOOLS "core_tools")
|
||||
@@ -160,6 +161,7 @@ endmacro()
|
||||
|
||||
ov_define_component_names()
|
||||
|
||||
# default components for case when CPACK_GENERATOR is not set (i.e. default open source user)
|
||||
macro(ov_define_component_include_rules)
|
||||
# core components
|
||||
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
|
||||
@@ -177,6 +179,9 @@ macro(ov_define_component_include_rules)
|
||||
unset(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL)
|
||||
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
|
||||
unset(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL)
|
||||
# TODO: think about python entry points
|
||||
# maybe we can create entry points without python interpreter and use it in debian / rpm as well?
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
unset(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL)
|
||||
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
|
||||
@@ -96,14 +96,16 @@ macro(ov_define_component_include_rules)
|
||||
endif()
|
||||
# python
|
||||
if(ENABLE_PYTHON_PACKAGING)
|
||||
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
# pack artifacts of setup.py install
|
||||
unset(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL)
|
||||
else()
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
# we don't pack python components itself, we pack artifacts of setup.py install
|
||||
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
|
||||
# we don't need wheels in RPM packages
|
||||
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
# tools
|
||||
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
|
||||
|
||||
Reference in new issue
Block a user