Vcpkg conan fixes (#17765)

* Small fixes for openvino::pugixml creation for Dev packages

* Flexiable components installation

* Fixed compilation for x86

* Added extra checks for ENABLE_NCC_STYLE

* Fixed typo in RPM
This commit is contained in:
Ilya Lavrenov 2023-05-29 15:40:51 +04:00 committed by GitHub
parent 8c6c46425b
commit bd0117d648
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 391 additions and 177 deletions

1
.gitignore vendored
View File

@ -13,6 +13,7 @@ cmake-build*
*.idea
.vscode
.vs/
.vsconan/
.DS_Store
**/tags
compile_commands.json

View File

@ -164,7 +164,7 @@ ov_set_if_not_defined(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
ov_set_if_not_defined(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
if(CPACK_GENERATOR MATCHES "^(DEB|RPM)$")
# to make sure that lib/<multiarch-tuple> is created on Debian
# to make sure that lib/<multiarch-triplet> is created on Debian
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Cmake install prefix" FORCE)
endif()
@ -181,10 +181,6 @@ if(APPLE)
message(FATAL_ERROR "Internal error: OV_CPACK_LIBRARYDIR is not defined, while it's required to initialize RPATH")
endif()
if(CPACK_GENERATOR STREQUAL "BREW")
set(CMAKE_SKIP_INSTALL_RPATH OFF)
endif()
# WA for Xcode generator + object libraries issue:
# https://gitlab.kitware.com/cmake/cmake/issues/20260
# http://cmake.3232098.n2.nabble.com/XCODE-DEPEND-HELPER-make-Deletes-Targets-Before-and-While-They-re-Built-td7598277.html
@ -232,17 +228,6 @@ endif()
# General flags
macro(ov_install_static_lib target comp)
if(NOT BUILD_SHARED_LIBS)
get_target_property(target_type ${target} TYPE)
if(target_type STREQUAL "STATIC_LIBRARY")
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL OFF)
endif()
install(TARGETS ${target} EXPORT OpenVINOTargets
ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${comp} ${ARGN})
endif()
endmacro()
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)

View File

@ -11,29 +11,32 @@ set(ncc_style_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/ncc_naming_style")
# find python3
find_host_package(PythonInterp 3 QUIET)
if(NOT PYTHONINTERP_FOUND)
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
set(ENABLE_NCC_STYLE OFF)
if(ENABLE_NCC_STYLE)
find_host_package(PythonInterp 3 QUIET)
if(NOT PYTHONINTERP_FOUND)
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
set(ENABLE_NCC_STYLE OFF)
endif()
endif()
if(PYTHON_VERSION_MINOR EQUAL 6)
set(clang_version 10)
elseif(PYTHON_VERSION_MINOR EQUAL 7)
set(clang_version 11)
elseif(PYTHON_VERSION_MINOR EQUAL 8)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 9)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 10)
set(clang_version 14)
elseif(PYTHON_VERSION_MINOR EQUAL 11)
set(clang_version 14)
else()
message(WARNING "Cannot suggest clang package for python ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
if(ENABLE_NCC_STYLE)
if(PYTHON_VERSION_MINOR EQUAL 6)
set(clang_version 10)
elseif(PYTHON_VERSION_MINOR EQUAL 7)
set(clang_version 11)
elseif(PYTHON_VERSION_MINOR EQUAL 8)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 9)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 10)
set(clang_version 14)
elseif(PYTHON_VERSION_MINOR EQUAL 11)
set(clang_version 14)
else()
message(WARNING "Cannot suggest clang package for python ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
endif()
endif()
if(ENABLE_NCC_STYLE)
# try to find_package(Clang QUIET)
# ClangConfig.cmake contains bug that if libclang-XX-dev is not

View File

@ -21,10 +21,17 @@ macro(ov_common_libraries_cpack_set_dirs)
endif()
set(OV_WHEEL_RUNTIMEDIR ${OV_CPACK_RUNTIMEDIR})
set(OV_CPACK_ARCHIVEDIR ${CMAKE_INSTALL_LIBDIR})
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR}/openvino-${OpenVINO_VERSION})
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
if(CPACK_GENERATOR MATCHES "^(CONAN|VCPKG)$")
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR})
else()
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR}/openvino-${OpenVINO_VERSION})
endif()
set(OV_CPACK_LICENSESDIR licenses)
ov_get_pyversion(pyversion)
@ -45,6 +52,10 @@ macro(ov_common_libraries_cpack_set_dirs)
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_LIBRARYDIR})
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
if(CPACK_GENERATOR STREQUAL "BREW")
set(CMAKE_SKIP_INSTALL_RPATH OFF)
endif()
endmacro()
ov_common_libraries_cpack_set_dirs()
@ -67,9 +78,43 @@ macro(ov_override_component_names)
set(OV_CPACK_COMP_CPP_SAMPLES "samples")
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# move requirements.txt to core-dev
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# move core_tools to core-dev
# set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
endmacro()
ov_override_component_names()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. debian packages don't require setupvars scripts)
#
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_EXCLUDE_ALL})
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
# licensing
set(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# samples
set(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL ${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_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_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_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
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()

View File

@ -69,13 +69,47 @@ macro(ov_override_component_names)
set(OV_CPACK_COMP_CPP_SAMPLES "samples")
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# move requirements.txt to core-dev
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# move core_tools to core-dev
# set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
endmacro()
ov_override_component_names()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. debian packages don't require setupvars scripts)
#
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_EXCLUDE_ALL})
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
# licensing
set(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# samples
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL ${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_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_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_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_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()
#
# Common Debian specific settings
#

View File

@ -2,40 +2,77 @@
# SPDX-License-Identifier: Apache-2.0
#
# installation directory
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Intel")
macro(ov_nsis_specific_settings)
# installation directory
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Intel")
# TODO: provide icons
# set(CPACK_NSIS_MUI_ICON "")
# set(CPACK_NSIS_MUI_UNIICON "${CPACK_NSIS_MUI_ICON}")
# set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "")
# set(CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP "")
# set(CPACK_NSIS_MUI_HEADERIMAGE "")
# TODO: provide icons
# set(CPACK_NSIS_MUI_ICON "")
# set(CPACK_NSIS_MUI_UNIICON "${CPACK_NSIS_MUI_ICON}")
# set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "")
# set(CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP "")
# set(CPACK_NSIS_MUI_HEADERIMAGE "")
# we allow to install several packages at once
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL OFF)
set(CPACK_NSIS_MODIFY_PATH OFF)
# we allow to install several packages at once
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL OFF)
set(CPACK_NSIS_MODIFY_PATH OFF)
set(CPACK_NSIS_DISPLAY_NAME "Intel(R) OpenVINO(TM) ${OpenVINO_VERSION}")
set(CPACK_NSIS_PACKAGE_NAME "Intel(R) OpenVINO(TM) ToolKit, v. ${OpenVINO_VERSION}.${OpenVINO_PATCH_VERSION}")
set(CPACK_NSIS_DISPLAY_NAME "Intel(R) OpenVINO(TM) ${OpenVINO_VERSION}")
set(CPACK_NSIS_PACKAGE_NAME "Intel(R) OpenVINO(TM) ToolKit, v. ${OpenVINO_VERSION}.${OpenVINO_PATCH_VERSION}")
# contact
set(CPACK_NSIS_CONTACT "CPACK_NSIS_CONTACT")
# contact
set(CPACK_NSIS_CONTACT "CPACK_NSIS_CONTACT")
# links in menu
set(CPACK_NSIS_MENU_LINKS
"https://docs.openvinoo.ai" "OpenVINO Documentation")
# links in menu
set(CPACK_NSIS_MENU_LINKS "https://docs.openvinoo.ai" "OpenVINO Documentation")
# welcome and finish titles
set(CPACK_NSIS_WELCOME_TITLE "Welcome to Intel(R) Distribution of OpenVINO(TM) Toolkit installation")
set(CPACK_NSIS_FINISH_TITLE "")
# welcome and finish titles
set(CPACK_NSIS_WELCOME_TITLE "Welcome to Intel(R) Distribution of OpenVINO(TM) Toolkit installation")
set(CPACK_NSIS_FINISH_TITLE "")
# autoresize?
set(CPACK_NSIS_MANIFEST_DPI_AWARE ON)
# autoresize?
set(CPACK_NSIS_MANIFEST_DPI_AWARE ON)
# branding text
set(CPACK_NSIS_BRANDING_TEXT "Intel(R) Corp.")
set(CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION RIGHT)
# branding text
set(CPACK_NSIS_BRANDING_TEXT "Intel(R) Corp.")
set(CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION RIGHT)
# don't set this variable since we need a user to agree with a lincense
# set(CPACK_NSIS_IGNORE_LICENSE_PAGE OFF)
# don't set this variable since we need a user to agree with a lincense
# set(CPACK_NSIS_IGNORE_LICENSE_PAGE OFF)
endmacro()
ov_nsis_specific_settings()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. NSIS packages don't require wheels to be packacged)
#
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL)
# licensing
unset(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL)
# samples
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL)
# python
unset(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL)
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)
# tools
unset(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL)
unset(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
# scripts
unset(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL)
endmacro()
ov_define_component_include_rules()

View File

@ -5,7 +5,21 @@
include(CPackComponent)
#
# ov_get_pyversion()
# ov_install_static_lib(<target> <comp>)
#
macro(ov_install_static_lib target comp)
if(NOT BUILD_SHARED_LIBS)
get_target_property(target_type ${target} TYPE)
if(target_type STREQUAL "STATIC_LIBRARY")
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL OFF)
endif()
install(TARGETS ${target} EXPORT OpenVINOTargets
ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${comp} ${ARGN})
endif()
endmacro()
#
# ov_get_pyversion(<OUT pyversion>)
#
function(ov_get_pyversion pyversion)
find_package(PythonInterp 3 QUIET)
@ -141,7 +155,7 @@ macro(ov_define_component_names)
set(OV_CPACK_COMP_PYTHON_WHEELS "python_wheels")
# tools
set(OV_CPACK_COMP_CORE_TOOLS "core_tools")
set(OV_CPACK_COMP_DEV_REQ_FILES "openvino_dev_req_files")
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "openvino_dev_req_files")
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER "deployment_manager")
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES "install_dependencies")
@ -150,20 +164,65 @@ endmacro()
ov_define_component_names()
# Include Debian specific configuration file:
# - overrides directories set by ov_debian_cpack_set_dirs()
# - merges some components using ov_override_component_names()
# - sets ov_debian_specific_settings() with DEB generator variables
# - defines the following helper functions:
# - ov_add_lintian_suppression()
# - ov_add_latest_component()
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL)
# licensing
unset(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL)
# samples
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL)
# python
unset(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL)
# tools
unset(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL)
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
# scripts
unset(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL)
endmacro()
ov_define_component_include_rules()
#
# Include generator specific configuration file:
# 1. Overrides directories set by ov_<debian | rpm | common_libraries>_cpack_set_dirs()
# This is requried, because different generator use different locations for installed files
# 2. Merges some components using ov_override_component_names()
# This is required, because different generators have different set of components
# (e.g. C and C++ API are separate components)
# 3. Exclude some components using ov_define_component_include_rules()
# This steps exclude some files from installation by defining variables meaning EXCLUDE_ALL
# 4. Sets ov_<debian | rpm | ...>_specific_settings() with DEB generator variables
# This 'callback' is later called from ov_cpack (wrapper for standard cpack) to set
# per-component settings (e.g. package names, dependencies, versions and system dependencies)
# 5. (Optional) Defines the following helper functions, which can be used by 3rdparty modules:
# Debian:
# - ov_debian_add_changelog_and_copyright()
# - ov_debian_add_lintian_suppression()
# - ov_debian_generate_conflicts()
# - ov_debian_add_latest_component()
# RPM:
# - ov_rpm_add_rpmlint_suppression()
# - ov_rpm_generate_conflicts()
# - ov_rpm_copyright()
# - ov_rpm_add_latest_component()
#
if(CPACK_GENERATOR STREQUAL "DEB")
include(packaging/debian/debian)
elseif(CPACK_GENERATOR STREQUAL "RPM")
include(packaging/rpm/rpm)
elseif(CPACK_GENERATOR STREQUAL "NSIS")
include(packaging/nsis)
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN)$")
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN|VCPKG)$")
include(packaging/common-libraries)
endif()

View File

@ -70,13 +70,47 @@ macro(ov_override_component_names)
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# set(OV_CPACK_COMP_PYTHON_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# move requirements.txt to core-dev
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# move core_tools to core-dev
# set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
endmacro()
ov_override_component_names()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. rpm packages don't require setupvars scripts or deployment_manager)
#
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_EXCLUDE_ALL})
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
# licensing
set(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# samples
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL ${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_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_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_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_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()
#
# Common RPM specific settings
#

View File

@ -10,28 +10,14 @@ macro(ov_cpack_settings)
set(cpack_components_all ${CPACK_COMPONENTS_ALL})
unset(CPACK_COMPONENTS_ALL)
foreach(item IN LISTS cpack_components_all)
# filter out some components, which are not needed to be wrapped to conda-forge | brew | conan
if(# python is not a part of conda | brew | conan
NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO}_python.*" AND
# python wheels are not needed to be wrapped by conda | brew packages
NOT item STREQUAL OV_CPACK_COMP_PYTHON_WHEELS AND
# skip C / C++ / Python samples
NOT item STREQUAL OV_CPACK_COMP_CPP_SAMPLES AND
NOT item STREQUAL OV_CPACK_COMP_C_SAMPLES AND
NOT item STREQUAL OV_CPACK_COMP_PYTHON_SAMPLES AND
string(TOUPPER ${item} UPPER_COMP)
# filter out some components, which are not needed to be wrapped to conda-forge | brew | conan | vcpkg
if(NOT OV_CPACK_COMP_${UPPER_COMP}_EXCLUDE_ALL AND
# even for case of system TBB we have installation rules for wheels packages
# so, need to skip this explicitly since they are installed in `host` section
NOT item MATCHES "^tbb(_dev)?$" AND
# the same for pugixml
NOT item STREQUAL "pugixml" AND
# we have `license_file` field in conda meta.yml
NOT item STREQUAL OV_CPACK_COMP_LICENSING AND
# compile_tool is not needed
NOT item STREQUAL OV_CPACK_COMP_CORE_TOOLS AND
# not appropriate components
NOT item STREQUAL OV_CPACK_COMP_DEPLOYMENT_MANAGER AND
NOT item STREQUAL OV_CPACK_COMP_INSTALL_DEPENDENCIES AND
NOT item STREQUAL OV_CPACK_COMP_SETUPVARS)
NOT item STREQUAL "pugixml")
list(APPEND CPACK_COMPONENTS_ALL ${item})
endif()
endforeach()

View File

@ -44,12 +44,11 @@ macro(ov_cpack_settings)
set(cpack_components_all ${CPACK_COMPONENTS_ALL})
unset(CPACK_COMPONENTS_ALL)
foreach(item IN LISTS cpack_components_all)
string(TOUPPER ${item} UPPER_COMP)
# filter out some components, which are not needed to be wrapped to .deb package
if(# skip OpenVINO Pyhon API and samples
if(NOT OV_CPACK_COMP_${UPPER_COMP}_EXCLUDE_ALL AND
# skip OpenVINO Pyhon API and samples
NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO}_python.*" AND
NOT item STREQUAL OV_CPACK_COMP_PYTHON_SAMPLES AND
# python wheels are not needed to be wrapped by debian packages
NOT item STREQUAL OV_CPACK_COMP_PYTHON_WHEELS AND
# see ticket # 82605
NOT item STREQUAL "gna" AND
# don't install Intel OpenMP during debian
@ -58,15 +57,7 @@ macro(ov_cpack_settings)
# so, need to skip this explicitly
NOT item MATCHES "^tbb(_dev)?$" AND
# the same for pugixml
NOT item STREQUAL "pugixml" AND
# we have copyright file for debian package
NOT item STREQUAL OV_CPACK_COMP_LICENSING AND
# compile_tool is not needed
NOT item STREQUAL OV_CPACK_COMP_CORE_TOOLS AND
# not appropriate components
NOT item STREQUAL OV_CPACK_COMP_DEPLOYMENT_MANAGER AND
NOT item STREQUAL OV_CPACK_COMP_INSTALL_DEPENDENCIES AND
NOT item STREQUAL OV_CPACK_COMP_SETUPVARS)
NOT item STREQUAL "pugixml")
list(APPEND CPACK_COMPONENTS_ALL ${item})
endif()
endforeach()

View File

@ -6,7 +6,7 @@ if(CPACK_GENERATOR STREQUAL "DEB")
include(cmake/packaging/debian.cmake)
elseif(CPACK_GENERATOR STREQUAL "RPM")
include(cmake/packaging/rpm.cmake)
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN)$")
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN|VCPKG)$")
include(cmake/packaging/common-libraries.cmake)
elseif(CPACK_GENERATOR STREQUAL "NSIS")
include(cmake/packaging/nsis.cmake)

View File

@ -30,12 +30,11 @@ macro(ov_cpack_settings)
set(cpack_components_all ${CPACK_COMPONENTS_ALL})
unset(CPACK_COMPONENTS_ALL)
foreach(item IN LISTS cpack_components_all)
string(TOUPPER ${item} UPPER_COMP)
# filter out some components, which are not needed to be wrapped to .deb package
if(# skip OpenVINO Pyhon API and samples
if(NOT OV_CPACK_COMP_${UPPER_COMP}_EXCLUDE_ALL AND
# skip OpenVINO Pyhon API and samples
NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO}_python.*" AND
NOT item STREQUAL OV_CPACK_COMP_PYTHON_SAMPLES AND
# python wheels are not needed to be wrapped by rpm packages
NOT item STREQUAL OV_CPACK_COMP_PYTHON_WHEELS AND
# see ticket # 82605
NOT item STREQUAL "gna" AND
# don't install Intel OpenMP during rpm
@ -44,16 +43,8 @@ macro(ov_cpack_settings)
# so, need to skip this explicitly
NOT item MATCHES "^tbb(_dev)?$" AND
# the same for pugixml
NOT item STREQUAL "pugixml" AND
# we have copyright file for rpm package
NOT item STREQUAL OV_CPACK_COMP_LICENSING AND
# compile_tool is not needed
NOT item STREQUAL OV_CPACK_COMP_CORE_TOOLS AND
# not appropriate components
NOT item STREQUAL OV_CPACK_COMP_DEPLOYMENT_MANAGER AND
NOT item STREQUAL OV_CPACK_COMP_INSTALL_DEPENDENCIES AND
NOT item STREQUAL OV_CPACK_COMP_SETUPVARS)
list(APPEND CPACK_COMPONENTS_ALL ${item})
NOT item STREQUAL "pugixml")
list(APPEND CPACK_COMPONENTS_ALL ${item})
endif()
endforeach()
list(REMOVE_DUPLICATES CPACK_COMPONENTS_ALL)

View File

@ -260,7 +260,11 @@ macro(_ov_find_pugixml)
if(_ov_pugixml_visibility STREQUAL "GLOBAL")
set_target_properties(${_ov_pugixml_target} PROPERTIES IMPORTED_GLOBAL TRUE)
endif()
add_library(openvino::pugixml ALIAS ${_ov_pugixml_target})
# check whether openvino::pugixml is already defined in case of
# OpenVINODeveloperPackageConfig.cmake is found multiple times
if(NOT TARGET openvino::pugixml)
add_library(openvino::pugixml ALIAS ${_ov_pugixml_target})
endif()
endif()
unset(_ov_pugixml_target)
elseif(PkgConfig_FOUND)
@ -283,7 +287,11 @@ macro(_ov_find_pugixml)
if(pugixml_FOUND)
if(OpenVINODeveloperPackage_DIR)
add_library(openvino::pugixml ALIAS PkgConfig::pugixml)
# check whether openvino::pugixml is already defined in case of
# OpenVINODeveloperPackageConfig.cmake is found multiple times
if(NOT TARGET openvino::pugixml)
add_library(openvino::pugixml ALIAS PkgConfig::pugixml)
endif()
endif()
# PATCH: on Ubuntu 18.04 pugixml.pc contains incorrect include directories

View File

@ -11,6 +11,7 @@ ov_cpack_add_component(${OV_CPACK_COMP_LICENSING} HIDDEN)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION ${OV_CPACK_LICENSESDIR}
COMPONENT ${OV_CPACK_COMP_LICENSING}
${OV_CPACK_COMP_LICENSING_EXCLUDE_ALL}
PATTERN CMakeLists.txt EXCLUDE
PATTERN dev-third-party-programs.txt EXCLUDE
PATTERN documentation-third-party-programs.txt EXCLUDE

View File

@ -28,17 +28,20 @@ if(UNIX)
install(DIRECTORY cpp/
DESTINATION ${OV_CPACK_SAMPLESDIR}/cpp
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES}
${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL}
PATTERN *.bat EXCLUDE
PATTERN *.sh EXCLUDE
PATTERN .clang-format EXCLUDE)
install(PROGRAMS cpp/build_samples.sh
DESTINATION ${OV_CPACK_SAMPLESDIR}/cpp
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES})
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES}
${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
elseif(WIN32)
install(DIRECTORY cpp/
DESTINATION ${OV_CPACK_SAMPLESDIR}/cpp
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES}
${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL}
PATTERN *.sh EXCLUDE
PATTERN .clang-format EXCLUDE)
endif()
@ -52,22 +55,26 @@ ov_cpack_add_component(${OV_CPACK_COMP_C_SAMPLES}
if(UNIX)
install(PROGRAMS cpp/build_samples.sh
DESTINATION ${OV_CPACK_SAMPLESDIR}/c
COMPONENT ${OV_CPACK_COMP_C_SAMPLES})
COMPONENT ${OV_CPACK_COMP_C_SAMPLES}
${OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL})
elseif(WIN32)
install(PROGRAMS cpp/build_samples_msvc.bat
DESTINATION ${OV_CPACK_SAMPLESDIR}/c
COMPONENT ${OV_CPACK_COMP_C_SAMPLES})
COMPONENT ${OV_CPACK_COMP_C_SAMPLES}
${OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL})
endif()
install(DIRECTORY c
DESTINATION ${OV_CPACK_SAMPLESDIR}
COMPONENT ${OV_CPACK_COMP_C_SAMPLES}
${OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL}
PATTERN c/CMakeLists.txt EXCLUDE
PATTERN c/.clang-format EXCLUDE)
install(FILES cpp/CMakeLists.txt
DESTINATION ${OV_CPACK_SAMPLESDIR}/c
COMPONENT ${OV_CPACK_COMP_C_SAMPLES})
COMPONENT ${OV_CPACK_COMP_C_SAMPLES}
${OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL})
# install Python samples
@ -75,4 +82,5 @@ ov_cpack_add_component(${OV_CPACK_COMP_PYTHON_SAMPLES} HIDDEN)
install(DIRECTORY python/
DESTINATION ${OV_CPACK_SAMPLESDIR}/python
COMPONENT ${OV_CPACK_COMP_PYTHON_SAMPLES})
COMPONENT ${OV_CPACK_COMP_PYTHON_SAMPLES}
${OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL})

View File

@ -45,7 +45,8 @@ endif()
install(PROGRAMS "${_setupvars_file_full_path}"
DESTINATION .
COMPONENT ${OV_CPACK_COMP_SETUPVARS})
COMPONENT ${OV_CPACK_COMP_SETUPVARS}
${OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL})
# install install_dependencies
@ -54,5 +55,6 @@ if(LINUX)
install(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/install_dependencies/install_openvino_dependencies.sh"
DESTINATION install_dependencies/
COMPONENT ${OV_CPACK_COMP_INSTALL_DEPENDENCIES})
COMPONENT ${OV_CPACK_COMP_INSTALL_DEPENDENCIES}
${OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL})
endif()

View File

@ -47,7 +47,7 @@
# endif
#elif defined(_MSC_VER)
# define OPENVINO_DEPRECATED(msg) __declspec(deprecated(msg))
# if __cplusplus >= 201402L
# if _MSC_VER >= 1900 /* VS2015 */
# define OPENVINO_ENUM_DEPRECATED(msg) [[deprecated(msg)]]
# else
# define OPENVINO_ENUM_DEPRECATED(msg)

View File

@ -45,7 +45,7 @@ function(ov_python_disable_intel_warnings target)
endfunction()
set (PYTHON_BRIDGE_SRC_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory (inference_engine)
add_subdirectory(inference_engine)
if(TARGET _pyngraph)
add_dependencies(ie_api _pyngraph)

View File

@ -85,13 +85,14 @@ add_custom_command(TARGET ${TARGET_NAME}
install(TARGETS ${INSTALLED_TARGETS}
RUNTIME DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/inference_engine
COMPONENT ${PYTHON_COMPONENT}
COMPONENT ${PYTHON_COMPONENT} ${OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL}
LIBRARY DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/inference_engine
COMPONENT ${PYTHON_COMPONENT})
COMPONENT ${PYTHON_COMPONENT} ${OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL})
install(PROGRAMS __init__.py
DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/inference_engine
COMPONENT ${PYTHON_COMPONENT})
COMPONENT ${PYTHON_COMPONENT}
${OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL})
add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}
EXCLUDE_PATTERNS ".*\\.cxx;.*\\.pxd;.*\\.pyx")

View File

@ -79,14 +79,17 @@ if(OpenVINO_SOURCE_DIR OR OpenVINODeveloperPackage_FOUND)
install(TARGETS _${PROJECT_NAME}
DESTINATION ${OV_CPACK_PYTHONDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_NGRAPH}_${pyversion})
COMPONENT ${OV_CPACK_COMP_PYTHON_NGRAPH}_${pyversion}
${OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL})
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../ngraph
DESTINATION ${OV_CPACK_PYTHONDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_NGRAPH}_${pyversion}
${OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL}
USE_SOURCE_PERMISSIONS)
install(DIRECTORY ${OpenVINOPython_SOURCE_DIR}/tests_compatibility
DESTINATION tests/${PROJECT_NAME}
COMPONENT tests EXCLUDE_FROM_ALL)
COMPONENT tests
EXCLUDE_FROM_ALL)
endif()

View File

@ -116,20 +116,24 @@ if(OpenVINO_SOURCE_DIR OR OpenVINODeveloperPackage_FOUND)
install(DIRECTORY ${OpenVINOPython_SOURCE_DIR}/src/openvino
DESTINATION ${OV_CPACK_PYTHONDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion}
${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL}
USE_SOURCE_PERMISSIONS
PATTERN "test_utils" EXCLUDE)
install(TARGETS ${PROJECT_NAME}
DESTINATION ${OV_CPACK_PYTHONDIR}/openvino
COMPONENT ${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion})
COMPONENT ${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion}
${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
install(FILES ${OpenVINOPython_SOURCE_DIR}/requirements.txt
DESTINATION ${OV_CPACK_PYTHONDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion})
COMPONENT ${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion}
${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
install(DIRECTORY ${OpenVINOPython_SOURCE_DIR}/tests
DESTINATION tests/${PROJECT_NAME}
COMPONENT tests EXCLUDE_FROM_ALL)
COMPONENT tests
EXCLUDE_FROM_ALL)
endif()
if(TARGET ie_wheel)

View File

@ -41,5 +41,6 @@ function(frontend_module TARGET FRAMEWORK INSTALL_COMPONENT)
install(TARGETS ${TARGET_NAME}
DESTINATION ${OV_CPACK_PYTHONDIR}/openvino/frontend/${FRAMEWORK}
COMPONENT ${INSTALL_COMPONENT})
COMPONENT ${INSTALL_COMPONENT}
${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
endfunction()

View File

@ -190,4 +190,5 @@ ov_cpack_add_component(${OV_CPACK_COMP_PYTHON_WHEELS} HIDDEN)
install(FILES ${openvino_wheel_path}
DESTINATION ${OV_CPACK_WHEELSDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_WHEELS})
COMPONENT ${OV_CPACK_COMP_PYTHON_WHEELS}
${OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL})

View File

@ -140,7 +140,7 @@ macro(ov_find_package_tbb)
else()
_ov_pkg_config_tbb_unset()
if(CPACK_GENERATOR STREQUAL "^(DEB|RPM|CONDA-FORGE|BREW|CONAN)$")
if(CPACK_GENERATOR STREQUAL "^(DEB|RPM|CONDA-FORGE|BREW|CONAN|VCPKG)$")
# package managers require system TBB
set(message_type FATAL_ERROR)
else()

View File

@ -96,10 +96,10 @@ if(THREADING MATCHES "^(TBB|TBB_AUTO)$" AND
set(_ov_system_tbb_is_obsolete ON)
endif()
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW|CONAN)$" AND
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW|CONAN|VCPKG)$" AND
NOT ENABLE_SYSTEM_TBB AND
NOT _ov_system_tbb_is_obsolete)
message(FATAL_ERROR "Debian | RPM | Conda-forge | Brew packages can be built only with system TBB. Use -DENABLE_SYSTEM_TBB=ON")
message(FATAL_ERROR "Debian | RPM | Conda-forge | brew | vcpkg packages can be built only with system TBB. Use -DENABLE_SYSTEM_TBB=ON")
endif()
if(ENABLE_SYSTEM_TBB)

View File

@ -17,6 +17,8 @@
#define ITT_FUNCTION_NAME __FUNCTION__
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
#define ITT_FUNCTION_NAME __func__
#elif defined(_MSC_VER) && (_MSC_VER >= 1900) /* VS2015 */
#define ITT_FUNCTION_NAME __func__
#elif defined(__cplusplus) && (__cplusplus >= 201103)
#define ITT_FUNCTION_NAME __func__
#else

View File

@ -23,7 +23,7 @@
# endif
#elif defined(_MSC_VER)
# define OPENVINO_DEPRECATED(msg) __declspec(deprecated(msg))
# if __cplusplus >= 201402L
# if _MSC_VER >= 1900 /* VS2015 */
# define OPENVINO_ENUM_DEPRECATED(msg) [[deprecated(msg)]]
# else
# define OPENVINO_ENUM_DEPRECATED(msg)

View File

@ -105,8 +105,8 @@ void parse_pre_process(pugi::xml_node& root,
const size_t channels = mean_scalar_shape[0];
uint64_t next_channel_id{0};
std::set<std::pair<size_t, float>> mean_scalar_values;
std::set<std::pair<size_t, std::pair<int64_t, int64_t>>> mean_values;
std::set<std::pair<uint64_t, float>> mean_scalar_values;
std::set<std::pair<uint64_t, std::pair<uint64_t, uint64_t>>> mean_values;
auto input_type = input_node->get_output_element_type(0);
FOREACH_CHILD (chan, ppNode, "channel") {

View File

@ -40,7 +40,7 @@
# endif
#elif defined(_MSC_VER)
# define INFERENCE_ENGINE_DEPRECATED(msg) __declspec(deprecated(msg))
# if __cplusplus >= 201402L
# if _MSC_VER >= 1900 /* VS2015 */
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg) [[deprecated(msg)]]
# else
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg)

View File

@ -34,7 +34,7 @@ using namespace InferenceEngine;
namespace ov {
#if defined(OPENVINO_ARCH_X86_64)
#if defined(OPENVINO_ARCH_X86) || defined(OPENVINO_ARCH_X86_64)
// note: MSVC 2022 (17.4) is not able to compile the next line for ARM and ARM64
// so, we disable this code since for non-x86 platforms it returns 'false' anyway
@ -84,7 +84,7 @@ bool with_cpu_x86_avx512_core_amx() {
return with_cpu_x86_avx512_core_amx_int8() || with_cpu_x86_avx512_core_amx_bf16();
}
#else // OPENVINO_ARCH_X86_64
#else // OPENVINO_ARCH_X86 || OPENVINO_ARCH_X86_64
bool with_cpu_x86_sse42() {
return false;
@ -117,7 +117,7 @@ bool with_cpu_x86_avx512_core_amx() {
return false;
}
#endif // OPENVINO_ARCH_X86_64
#endif // OPENVINO_ARCH_X86 || OPENVINO_ARCH_X86_64
bool check_open_mp_env_vars(bool include_omp_num_threads) {
for (auto&& var : {"GOMP_CPU_AFFINITY",

View File

@ -89,7 +89,11 @@ bool denormals_as_zero(bool on) {
} fxsave_area; // should be at least 16 byte aligned. fxsave_area is 32 byte aligned.
fxsave_area.mxcsr_mask = 0;
#ifdef _WIN32
_fxsave(&fxsave_area);
#else
__builtin_ia32_fxsave(&fxsave_area);
#endif
unsigned int mxcsr_mask = fxsave_area.mxcsr_mask; // 0 value for the bit indicate reserved
unsigned int mxcsr = _mm_getcsr();

View File

@ -38,7 +38,7 @@ if(ENABLE_PROFILING_ITT)
add_subdirectory(thirdparty/itt_collector EXCLUDE_FROM_ALL)
endif()
if(X86_64 OR UNIVERSAL2)
if(X86_64 OR X86 OR UNIVERSAL2)
find_package(xbyak QUIET)
if(xbyak_FOUND)
# conan creates alias xbyak::xbyak, no extra steps are required
@ -255,8 +255,13 @@ if(ENABLE_SYSTEM_PUGIXML)
# we need to install dynamic library for wheel package
get_target_property(target_type ${pugixml_target} TYPE)
if(target_type STREQUAL "SHARED_LIBRARY")
get_target_property(imported_config ${pugixml_target} IMPORTED_CONFIGURATIONS)
get_target_property(pugixml_loc ${pugixml_target} IMPORTED_LOCATION_${imported_config})
get_target_property(imported_configs ${pugixml_target} IMPORTED_CONFIGURATIONS)
foreach(imported_config RELEASE RELWITHDEBINFO DEBUG NONE ${imported_configs})
if(imported_config IN_LIST imported_configs)
get_target_property(pugixml_loc ${pugixml_target} IMPORTED_LOCATION_${imported_config})
break()
endif()
endforeach()
get_filename_component(pugixml_dir "${pugixml_loc}" DIRECTORY)
get_filename_component(name_we "${pugixml_loc}" NAME_WE)
# grab all tbb files matching pattern
@ -588,7 +593,7 @@ if(ENABLE_SAMPLES)
if(nlohmann_json_FOUND)
# conan and vcpkg create imported target nlohmann_json::nlohmann_json
else()
add_subdirectory(thirdparty/json)
add_subdirectory(thirdparty/json EXCLUDE_FROM_ALL)
# this is required only because of VPUX plugin reused this
openvino_developer_export_targets(COMPONENT openvino_common TARGETS nlohmann_json)
@ -607,17 +612,17 @@ endif()
# Install
#
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW|CONAN)$")
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW|CONAN|VCPKG)$")
# These libraries are dependencies for openvino-samples package
if(ENABLE_SAMPLES OR ENABLE_COMPILE_TOOL OR ENABLE_TESTS)
if(NOT gflags_FOUND)
if(NOT gflags_FOUND AND CPACK_GENERATOR MATCHES "^(DEB|RPM)$")
message(FATAL_ERROR "gflags must be used as a ${CPACK_GENERATOR} package. Install libgflags-dev / gflags-devel")
endif()
if(NOT (zlib_FOUND OR ZLIB_FOUND))
message(FATAL_ERROR "zlib must be used as a ${CPACK_GENERATOR} package. Install zlib1g-dev / zlib-devel")
endif()
endif()
if(NOT ENABLE_SYSTEM_PUGIXML)
message(FATAL_ERROR "Pugixml must be used as a ${CPACK_GENERATOR} package. Install libpugixml-dev / pugixml-devel")
endif()
@ -625,6 +630,7 @@ elseif(APPLE OR WIN32)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags
DESTINATION ${OV_CPACK_SAMPLESDIR}/cpp/thirdparty
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES}
${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL}
PATTERN bazel EXCLUDE
PATTERN doc EXCLUDE
PATTERN .git EXCLUDE
@ -645,14 +651,17 @@ elseif(APPLE OR WIN32)
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib/zlib/*.h)
install(FILES ${zlib_sources}
DESTINATION ${OV_CPACK_SAMPLESDIR}/cpp/thirdparty/zlib/zlib
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES})
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES}
${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib/CMakeLists.txt
DESTINATION ${OV_CPACK_SAMPLESDIR}/cpp/thirdparty/zlib
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES})
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES}
${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/json/nlohmann_json
DESTINATION ${OV_CPACK_SAMPLESDIR}/cpp/thirdparty
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES}
${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL}
PATTERN ChangeLog.md EXCLUDE
PATTERN CITATION.cff EXCLUDE
PATTERN .clang-format EXCLUDE
@ -673,7 +682,8 @@ endif()
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cnpy
DESTINATION ${OV_CPACK_SAMPLESDIR}/cpp/thirdparty
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES})
COMPONENT ${OV_CPACK_COMP_CPP_SAMPLES}
${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
# restore state

View File

@ -65,7 +65,7 @@ ov_install_static_lib(onnx_proto ${OV_CPACK_COMP_CORE})
# WA for ONNX: protobuf must be in the same export set of ONNX targets
# in case of protobuf::libprotobuf-lite / protobuf::libprotobuf are imported targets
if(NOT ENABLE_SYSTEM_PROTOBUF)
if(NOT ENABLE_SYSTEM_PROTOBUF AND NOT BUILD_SHARED_LIBS)
if(ONNX_USE_LITE_PROTO)
set(protobuf_target_name libprotobuf-lite)
else()

View File

@ -15,7 +15,7 @@ if(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# protobuf\src\google\protobuf\descriptor.cc(822) : error C4703: potentially uninitialized local pointer variable 'to_use' used
add_definitions("/wd4703")
ie_add_compiler_flags(/wd4703)
endif()
set(protobuf_VERBOSE ON)

View File

@ -24,6 +24,7 @@ ov_cpack_add_component(${OV_CPACK_COMP_DEPLOYMENT_MANAGER} HIDDEN)
install(DIRECTORY deployment_manager
DESTINATION ${OV_CPACK_TOOLSDIR}
COMPONENT ${OV_CPACK_COMP_DEPLOYMENT_MANAGER}
${OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL}
USE_SOURCE_PERMISSIONS)
# MO

View File

@ -39,13 +39,14 @@ ov_cpack_add_component(${OV_CPACK_COMP_CORE_TOOLS}
HIDDEN
DEPENDS ${OV_CPACK_COMP_CORE})
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW|CONAN)$")
if(CPACK_GENERATOR MATCHES "^(DEB|RPM)$")
install(TARGETS compile_tool
RUNTIME DESTINATION ${OV_CPACK_TOOLSDIR}
COMPONENT ${OV_CPACK_COMP_CORE_TOOLS})
# TODO: convert this README.md to man page
COMPONENT ${OV_CPACK_COMP_CORE_TOOLS}
${OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL})
else()
install(TARGETS compile_tool
RUNTIME DESTINATION ${OV_CPACK_TOOLSDIR}/compile_tool
COMPONENT ${OV_CPACK_COMP_CORE_TOOLS})
COMPONENT ${OV_CPACK_COMP_CORE_TOOLS}
${OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL})
endif()

View File

@ -33,7 +33,7 @@ set(WHEEL_BUILD "${OpenVINO_VERSION_BUILD}" CACHE STRING "Build number of this r
# outbound requirements.txt files for openvino-dev package
ov_cpack_add_component(${OV_CPACK_COMP_DEV_REQ_FILES} HIDDEN)
ov_cpack_add_component(${OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES} HIDDEN)
set(REQUIREMENTS_IN "${CMAKE_CURRENT_SOURCE_DIR}/requirements_dev.txt.in")
set(EXTRAS_LIST _ caffe kaldi mxnet onnx pytorch tensorflow tensorflow2)
@ -50,8 +50,8 @@ foreach(EXTRAS IN LISTS EXTRAS_LIST)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${REQUIREMENTS_OUT}
DESTINATION ${OV_CPACK_DEVREQDIR}
COMPONENT ${OV_CPACK_COMP_DEV_REQ_FILES}
EXCLUDE_FROM_ALL)
COMPONENT ${OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES}
${OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL})
endforeach()
# openvino_dev build
@ -97,4 +97,5 @@ ov_cpack_add_component(${OV_CPACK_COMP_PYTHON_WHEELS} HIDDEN)
install(FILES ${openvino_wheel_path}
DESTINATION ${OV_CPACK_WHEELSDIR}
COMPONENT ${OV_CPACK_COMP_PYTHON_WHEELS})
COMPONENT ${OV_CPACK_COMP_PYTHON_WHEELS}
${OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL})