404 lines
18 KiB
CMake
404 lines
18 KiB
CMake
# Copyright (C) 2018-2024 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
#
|
|
# OpenVINO Core components including frontends, plugins, etc
|
|
#
|
|
|
|
function(_ov_add_package package_names comp)
|
|
string(TOUPPER "${comp}" ucomp)
|
|
if(NOT DEFINED CPACK_RPM_${ucomp}_PACKAGE_NAME)
|
|
message(FATAL_ERROR "CPACK_RPM_${ucomp}_PACKAGE_NAME is not defined")
|
|
else()
|
|
set(package_name "${CPACK_RPM_${ucomp}_PACKAGE_NAME}")
|
|
endif()
|
|
|
|
if(NOT DEFINED cpack_full_ver)
|
|
message(FATAL_ERROR "Internal variable 'cpack_full_ver' is not defined")
|
|
endif()
|
|
|
|
if(${package_names})
|
|
set("${package_names}" "${${package_names}}, ${package_name} = ${cpack_full_ver}" PARENT_SCOPE)
|
|
else()
|
|
set("${package_names}" "${package_name} = ${cpack_full_ver}" PARENT_SCOPE)
|
|
endif()
|
|
endfunction()
|
|
|
|
macro(ov_cpack_settings)
|
|
# fill a list of components which are part of rpm
|
|
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 .rpm package
|
|
if(NOT OV_CPACK_COMP_${UPPER_COMP}_EXCLUDE_ALL AND
|
|
# skip OpenVINO Python API (pattern in form of "pyopenvino_python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}")
|
|
NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO}_python.*" AND
|
|
# because in case of .rpm package, pyopenvino_package_python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR} is installed
|
|
(NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE}_python.*" OR ENABLE_PYTHON_PACKAGING) AND
|
|
# temporary block nvidia
|
|
NOT item STREQUAL "nvidia" AND
|
|
# don't install Intel OpenMP
|
|
NOT item STREQUAL "omp" AND
|
|
# the same for pugixml
|
|
NOT item STREQUAL "pugixml")
|
|
list(APPEND CPACK_COMPONENTS_ALL ${item})
|
|
endif()
|
|
endforeach()
|
|
unset(cpack_components_all)
|
|
list(REMOVE_DUPLICATES CPACK_COMPONENTS_ALL)
|
|
|
|
# version with 3 components
|
|
set(cpack_name_ver "${OpenVINO_VERSION}")
|
|
# full version with epoch and release components
|
|
set(cpack_full_ver "${CPACK_PACKAGE_VERSION}")
|
|
|
|
# take release version into account
|
|
if(DEFINED CPACK_RPM_PACKAGE_RELEASE)
|
|
set(cpack_full_ver "${cpack_full_ver}-${CPACK_RPM_PACKAGE_RELEASE}")
|
|
endif()
|
|
|
|
# take epoch version into account
|
|
if(DEFINED CPACK_RPM_PACKAGE_EPOCH)
|
|
set(cpack_full_ver "${CPACK_RPM_PACKAGE_EPOCH}:${cpack_full_ver}")
|
|
endif()
|
|
|
|
# a list of conflicting package versions
|
|
set(conflicting_versions
|
|
# 2022 release series
|
|
# - 2022.1.0 is the last public release with rpm packages from Intel install team
|
|
# - 2022.1.1, 2022.2 do not have rpm packages enabled, distributed only as archives
|
|
# - 2022.3 is the first release where RPM updated packages are introduced, others 2022.3.X are LTS
|
|
2022.3.0 2022.3.1 2022.3.2 2022.3.3 2022.3.4 2022.3.5
|
|
2023.0.0 2023.0.1 2023.0.2 2023.0.3
|
|
2023.1.0
|
|
2023.2.0
|
|
2023.3.0 2023.3.1 2023.3.2 2023.3.3 2023.3.4 2023.3.5
|
|
2024.0
|
|
)
|
|
|
|
find_host_program(rpmlint_PROGRAM NAMES rpmlint DOC "Path to rpmlint")
|
|
if(rpmlint_PROGRAM)
|
|
execute_process(COMMAND "${rpmlint_PROGRAM}" --version
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
|
RESULT_VARIABLE rpmlint_code
|
|
OUTPUT_VARIABLE rpmlint_version
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
ERROR_STRIP_TRAILING_WHITESPACE)
|
|
|
|
if(NOT rpmlint_code EQUAL 0)
|
|
message(FATAL_ERROR "Internal error: Failed to determine rpmlint version")
|
|
else()
|
|
if(rpmlint_version MATCHES "([0-9]+\.[0-9]+)")
|
|
set(rpmlint_version "${CMAKE_MATCH_1}")
|
|
else()
|
|
message(WARNING "Failed to extract rpmlint version from '${rpmlint_version}'")
|
|
endif()
|
|
endif()
|
|
else()
|
|
message(WARNING "Failed to find 'rpmlint' tool, use 'sudo yum / dnf install rpmlint' to install it")
|
|
endif()
|
|
|
|
#
|
|
# core: base dependency for all components
|
|
#
|
|
|
|
set(CPACK_COMPONENT_CORE_DESCRIPTION "OpenVINO C / C++ Runtime libraries")
|
|
set(CPACK_RPM_CORE_PACKAGE_NAME "libopenvino-${cpack_name_ver}")
|
|
set(core_package "${CPACK_RPM_CORE_PACKAGE_NAME} = ${cpack_full_ver}")
|
|
set(CPACK_RPM_CORE_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
|
set(CPACK_RPM_CORE_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
|
set(${OV_CPACK_COMP_CORE}_copyright "generic")
|
|
|
|
#
|
|
# Plugins
|
|
#
|
|
|
|
# hetero
|
|
if(ENABLE_HETERO)
|
|
set(CPACK_COMPONENT_HETERO_DESCRIPTION "OpenVINO Hetero software plugin")
|
|
set(CPACK_RPM_HETERO_PACKAGE_REQUIRES "${core_package}")
|
|
set(CPACK_RPM_HETERO_PACKAGE_NAME "libopenvino-hetero-plugin-${cpack_name_ver}")
|
|
_ov_add_package(plugin_packages hetero)
|
|
set(hetero_copyright "generic")
|
|
endif()
|
|
|
|
# auto batch
|
|
if(ENABLE_AUTO_BATCH)
|
|
set(CPACK_COMPONENT_BATCH_DESCRIPTION "OpenVINO Automatic Batching software plugin")
|
|
set(CPACK_RPM_BATCH_PACKAGE_REQUIRES "${core_package}")
|
|
set(CPACK_RPM_BATCH_PACKAGE_NAME "libopenvino-auto-batch-plugin-${cpack_name_ver}")
|
|
_ov_add_package(plugin_packages batch)
|
|
set(batch_copyright "generic")
|
|
endif()
|
|
|
|
# multi / auto plugins
|
|
if(ENABLE_MULTI)
|
|
if(ENABLE_AUTO)
|
|
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Auto / Multi software plugin")
|
|
else()
|
|
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Multi software plugin")
|
|
endif()
|
|
set(CPACK_RPM_MULTI_PACKAGE_REQUIRES "${core_package}")
|
|
set(CPACK_RPM_MULTI_PACKAGE_NAME "libopenvino-auto-plugin-${cpack_name_ver}")
|
|
_ov_add_package(plugin_packages multi)
|
|
set(multi_copyright "generic")
|
|
elseif(ENABLE_AUTO)
|
|
set(CPACK_COMPONENT_AUTO_DESCRIPTION "OpenVINO Auto software plugin")
|
|
set(CPACK_RPM_AUTO_PACKAGE_REQUIRES "${core_package}")
|
|
set(CPACK_RPM_AUTO_PACKAGE_NAME "libopenvino-auto-plugin-${cpack_name_ver}")
|
|
_ov_add_package(plugin_packages auto)
|
|
set(auto_copyright "generic")
|
|
endif()
|
|
|
|
# cpu
|
|
if(ENABLE_INTEL_CPU)
|
|
if(ARM OR AARCH64)
|
|
set(CPACK_RPM_CPU_PACKAGE_NAME "libopenvino-arm-cpu-plugin-${cpack_name_ver}")
|
|
set(CPACK_COMPONENT_CPU_DESCRIPTION "ARM® CPU inference plugin")
|
|
set(cpu_copyright "arm_cpu")
|
|
elseif(X86 OR X86_64)
|
|
set(CPACK_RPM_CPU_PACKAGE_NAME "libopenvino-intel-cpu-plugin-${cpack_name_ver}")
|
|
set(CPACK_COMPONENT_CPU_DESCRIPTION "Intel® CPU inference plugin")
|
|
set(cpu_copyright "generic")
|
|
else()
|
|
message(FATAL_ERROR "Unsupported CPU architecture: ${CMAKE_SYSTEM_PROCESSOR}")
|
|
endif()
|
|
set(CPACK_RPM_CPU_PACKAGE_REQUIRES "${core_package}")
|
|
_ov_add_package(plugin_packages cpu)
|
|
endif()
|
|
|
|
# intel-gpu
|
|
if(ENABLE_INTEL_GPU)
|
|
set(CPACK_COMPONENT_GPU_DESCRIPTION "Intel® Processor Graphics inference plugin")
|
|
set(CPACK_RPM_GPU_PACKAGE_REQUIRES "${core_package}")
|
|
set(CPACK_RPM_GPU_PACKAGE_NAME "libopenvino-intel-gpu-plugin-${cpack_name_ver}")
|
|
_ov_add_package(plugin_packages gpu)
|
|
set(gpu_copyright "generic")
|
|
endif()
|
|
|
|
# intel-npu
|
|
if(ENABLE_INTEL_NPU OR BUILD_npu OR BUILD_vpux-plugin OR BUILD_applications.ai.vpu-accelerators.vpux-plugin)
|
|
set(CPACK_COMPONENT_NPU_DESCRIPTION "Intel® Neural Processing Unit inference plugin")
|
|
set(CPACK_RPM_NPU_PACKAGE_REQUIRES "${core_package}")
|
|
set(CPACK_RPM_NPU_PACKAGE_NAME "libopenvino-intel-npu-plugin-${cpack_name_ver}")
|
|
_ov_add_package(plugin_packages npu)
|
|
set(npu_copyright "generic")
|
|
endif()
|
|
|
|
#
|
|
# Frontends
|
|
#
|
|
|
|
if(ENABLE_OV_IR_FRONTEND)
|
|
set(CPACK_COMPONENT_IR_DESCRIPTION "OpenVINO IR Frontend")
|
|
set(CPACK_RPM_IR_PACKAGE_NAME "libopenvino-ir-frontend-${cpack_name_ver}")
|
|
set(CPACK_RPM_IR_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
|
set(CPACK_RPM_IR_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
|
_ov_add_package(frontend_packages ir)
|
|
set(ir_copyright "generic")
|
|
endif()
|
|
|
|
if(ENABLE_OV_ONNX_FRONTEND)
|
|
set(CPACK_COMPONENT_ONNX_DESCRIPTION "OpenVINO ONNX Frontend")
|
|
set(CPACK_RPM_ONNX_PACKAGE_NAME "libopenvino-onnx-frontend-${cpack_name_ver}")
|
|
set(CPACK_RPM_ONNX_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
|
set(CPACK_RPM_ONNX_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
|
_ov_add_package(frontend_packages onnx)
|
|
set(onnx_copyright "generic")
|
|
endif()
|
|
|
|
if(ENABLE_OV_TF_FRONTEND)
|
|
set(CPACK_COMPONENT_TENSORFLOW_DESCRIPTION "OpenVINO TensorFlow Frontend")
|
|
set(CPACK_RPM_TENSORFLOW_PACKAGE_NAME "libopenvino-tensorflow-frontend-${cpack_name_ver}")
|
|
set(CPACK_RPM_TENSORFLOW_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
|
set(CPACK_RPM_TENSORFLOW_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
|
_ov_add_package(frontend_packages tensorflow)
|
|
set(tensorflow_copyright "generic")
|
|
endif()
|
|
|
|
if(ENABLE_OV_PADDLE_FRONTEND)
|
|
set(CPACK_COMPONENT_PADDLE_DESCRIPTION "OpenVINO Paddle Frontend")
|
|
set(CPACK_RPM_PADDLE_PACKAGE_NAME "libopenvino-paddle-frontend-${cpack_name_ver}")
|
|
set(CPACK_RPM_PADDLE_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
|
set(CPACK_RPM_PADDLE_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
|
_ov_add_package(frontend_packages paddle)
|
|
set(paddle_copyright "generic")
|
|
endif()
|
|
|
|
if(ENABLE_OV_PYTORCH_FRONTEND)
|
|
set(CPACK_COMPONENT_PYTORCH_DESCRIPTION "OpenVINO PyTorch Frontend")
|
|
set(CPACK_RPM_PYTORCH_PACKAGE_NAME "libopenvino-pytorch-frontend-${cpack_name_ver}")
|
|
set(CPACK_RPM_PYTORCH_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
|
set(CPACK_RPM_PYTORCH_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
|
_ov_add_package(frontend_packages pytorch)
|
|
set(pytorch_copyright "generic")
|
|
endif()
|
|
|
|
if(ENABLE_OV_TF_LITE_FRONTEND)
|
|
set(CPACK_COMPONENT_TENSORFLOW_LITE_DESCRIPTION "OpenVINO TensorFlow Lite Frontend")
|
|
set(CPACK_RPM_TENSORFLOW_LITE_PACKAGE_NAME "libopenvino-tensorflow-lite-frontend-${cpack_name_ver}")
|
|
set(CPACK_RPM_TENSORFLOW_LITE_POST_INSTALL_SCRIPT_FILE "${def_triggers}")
|
|
set(CPACK_RPM_TENSORFLOW_LITE_POST_UNINSTALL_SCRIPT_FILE "${def_triggers}")
|
|
_ov_add_package(frontend_packages tensorflow_lite)
|
|
set(tensorflow_lite_copyright "generic")
|
|
endif()
|
|
|
|
#
|
|
# core_dev: depends on core and frontends (since frontends don't want to provide its own dev packages)
|
|
#
|
|
|
|
set(CPACK_COMPONENT_CORE_DEV_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit C / C++ Development files")
|
|
set(CPACK_RPM_CORE_DEV_PACKAGE_REQUIRES "${core_package}, ${frontend_packages}")
|
|
set(CPACK_RPM_CORE_DEV_PACKAGE_NAME "libopenvino-devel-${cpack_name_ver}")
|
|
set(core_dev_package "${CPACK_RPM_CORE_DEV_PACKAGE_NAME} = ${cpack_full_ver}")
|
|
ov_rpm_generate_conflicts("${OV_CPACK_COMP_CORE_DEV}" ${conflicting_versions})
|
|
|
|
ov_rpm_add_rpmlint_suppression("${OV_CPACK_COMP_CORE_DEV}"
|
|
# contains samples source codes
|
|
"devel-file-in-non-devel-package /usr/${OV_CPACK_INCLUDEDIR}/ngraph"
|
|
"devel-file-in-non-devel-package /usr/${OV_CPACK_INCLUDEDIR}/ie"
|
|
"devel-file-in-non-devel-package /usr/${OV_CPACK_INCLUDEDIR}/openvino"
|
|
"devel-file-in-non-devel-package /usr/${OV_CPACK_RUNTIMEDIR}/libopenvino*"
|
|
"devel-file-in-non-devel-package /usr/${OV_CPACK_RUNTIMEDIR}/pkgconfig/openvino.pc")
|
|
set(${OV_CPACK_COMP_CORE_DEV}_copyright "generic")
|
|
|
|
#
|
|
# Python bindings
|
|
#
|
|
|
|
if(ENABLE_PYTHON_PACKAGING)
|
|
ov_get_pyversion(pyversion)
|
|
set(python_component "${OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE}_${pyversion}")
|
|
string(TOUPPER "${pyversion}" pyversion_upper)
|
|
|
|
set(CPACK_COMPONENT_PYOPENVINO_PACKAGE_${pyversion_upper}_DESCRIPTION "OpenVINO Python API")
|
|
set(CPACK_RPM_PYOPENVINO_PACKAGE_${pyversion_upper}_PACKAGE_REQUIRES
|
|
"${core_package}, ${frontend_packages}, ${plugin_packages}, python3, python3-numpy")
|
|
set(CPACK_RPM_PYOPENVINO_PACKAGE_${pyversion_upper}_PACKAGE_NAME "python3-openvino-${cpack_full_ver}")
|
|
set(python_package "${CPACK_RPM_PYOPENVINO_PACKAGE_${pyversion_upper}_PACKAGE_NAME} = ${cpack_full_ver}")
|
|
set(${python_component}_copyright "generic")
|
|
|
|
# we can have a single python installed, so we need to generate conflicts for all other versions
|
|
ov_rpm_generate_conflicts(${python_component} ${conflicting_versions})
|
|
|
|
ov_rpm_add_rpmlint_suppression("${python_component}"
|
|
# all directories
|
|
"non-standard-dir-perm /usr/lib64/${pyversion}/site-packages/openvino/*"
|
|
)
|
|
endif()
|
|
|
|
#
|
|
# Samples
|
|
#
|
|
|
|
set(samples_build_deps "cmake3, gcc-c++, gcc, glibc-devel, make, pkgconf-pkg-config")
|
|
set(samples_build_deps_suggest "opencv-devel >= 3.0")
|
|
set(samples_opencl_deps_suggest "ocl-icd-devel, opencl-headers")
|
|
|
|
# c_samples / cpp_samples
|
|
set(CPACK_COMPONENT_SAMPLES_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit C / C++ Samples")
|
|
set(CPACK_RPM_SAMPLES_PACKAGE_NAME "openvino-samples-${cpack_name_ver}")
|
|
set(samples_package "${CPACK_RPM_SAMPLES_PACKAGE_NAME} = ${cpack_full_ver}")
|
|
# SUGGESTS may be unsupported, it's part of RPM 4.12.0 (Sep 16th 2014) only
|
|
# see https://rpm.org/timeline.html
|
|
set(CPACK_RPM_SAMPLES_PACKAGE_SUGGESTS "${samples_build_deps_suggest}, ${samples_opencl_deps_suggest}, ${plugin_packages}")
|
|
set(CPACK_RPM_SAMPLES_PACKAGE_REQUIRES "${core_dev_package}, ${samples_build_deps}")
|
|
set(CPACK_RPM_SAMPLES_PACKAGE_ARCHITECTURE "noarch")
|
|
ov_rpm_generate_conflicts(${OV_CPACK_COMP_CPP_SAMPLES} ${conflicting_versions})
|
|
|
|
ov_rpm_add_rpmlint_suppression("${OV_CPACK_COMP_CPP_SAMPLES}"
|
|
# contains samples source codes
|
|
"devel-file-in-non-devel-package /usr/${OV_CPACK_SAMPLESDIR}/cpp/*"
|
|
"devel-file-in-non-devel-package /usr/${OV_CPACK_SAMPLESDIR}/c/*"
|
|
# duplicated files are OK
|
|
"files-duplicate /usr/${OV_CPACK_SAMPLESDIR}/cpp/CMakeLists.txt /usr/${OV_CPACK_SAMPLESDIR}/c/CMakeLists.txt"
|
|
"files-duplicate /usr/${OV_CPACK_SAMPLESDIR}/cpp/build_samples.sh /usr/${OV_CPACK_SAMPLESDIR}/c/build_samples.sh"
|
|
)
|
|
set(samples_copyright "generic")
|
|
|
|
# python_samples
|
|
if(ENABLE_PYTHON_PACKAGING)
|
|
set(CPACK_COMPONENT_PYTHON_SAMPLES_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Python Samples")
|
|
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_REQUIRES "${python_package}, python3")
|
|
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_NAME "openvino-samples-python-${cpack_name_ver}")
|
|
set(python_samples_package "${CPACK_RPM_PYTHON_SAMPLES_PACKAGE_NAME} = ${cpack_full_ver}")
|
|
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_ARCHITECTURE "noarch")
|
|
ov_rpm_generate_conflicts(${OV_CPACK_COMP_PYTHON_SAMPLES} ${conflicting_versions})
|
|
set(python_samples_copyright "generic")
|
|
|
|
ov_rpm_add_rpmlint_suppression(${OV_CPACK_COMP_PYTHON_SAMPLES}
|
|
# all files
|
|
"non-executable-script /usr/share/openvino/samples/python/*"
|
|
# similar requirements.txt files
|
|
"files-duplicate /usr/share/openvino/samples/python/*"
|
|
)
|
|
endif()
|
|
|
|
#
|
|
# Add umbrella packages
|
|
#
|
|
|
|
# all libraries
|
|
set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Libraries")
|
|
if(plugin_packages)
|
|
set(CPACK_RPM_LIBRARIES_PACKAGE_REQUIRES "${plugin_packages}")
|
|
else()
|
|
set(CPACK_RPM_LIBRARIES_PACKAGE_REQUIRES "${core_package}")
|
|
endif()
|
|
set(CPACK_RPM_LIBRARIES_PACKAGE_NAME "openvino-libraries-${cpack_name_ver}")
|
|
set(libraries_package "${CPACK_RPM_LIBRARIES_PACKAGE_NAME} = ${cpack_full_ver}")
|
|
set(CPACK_RPM_LIBRARIES_PACKAGE_ARCHITECTURE "noarch")
|
|
set(libraries_copyright "generic")
|
|
|
|
# all libraries-dev
|
|
set(CPACK_COMPONENT_LIBRARIES_DEV_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Libraries and Development files")
|
|
set(CPACK_RPM_LIBRARIES_DEV_PACKAGE_REQUIRES "${core_dev_package}, ${libraries_package}")
|
|
set(CPACK_RPM_LIBRARIES_DEV_PACKAGE_NAME "openvino-libraries-devel-${cpack_name_ver}")
|
|
set(libraries_dev_package "${CPACK_RPM_LIBRARIES_DEV_PACKAGE_NAME} = ${cpack_full_ver}")
|
|
set(CPACK_RPM_LIBRARIES_DEV_PACKAGE_ARCHITECTURE "noarch")
|
|
ov_rpm_generate_conflicts(libraries_dev ${conflicting_versions})
|
|
set(libraries_dev_copyright "generic")
|
|
|
|
# all openvino
|
|
set(CPACK_COMPONENT_OPENVINO_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Libraries and Development files")
|
|
set(CPACK_RPM_OPENVINO_PACKAGE_REQUIRES "${libraries_dev_package}, ${samples_package}")
|
|
if(ENABLE_PYTHON_PACKAGING)
|
|
set(CPACK_DEBIAN_OPENVINO_PACKAGE_DEPENDS "${CPACK_RPM_OPENVINO_PACKAGE_REQUIRES}, ${python_package}, ${python_samples_package}")
|
|
endif()
|
|
set(CPACK_RPM_OPENVINO_PACKAGE_NAME "openvino-${cpack_name_ver}")
|
|
set(CPACK_RPM_OPENVINO_PACKAGE_ARCHITECTURE "noarch")
|
|
ov_rpm_generate_conflicts(openvino ${conflicting_versions})
|
|
set(openvino_copyright "generic")
|
|
|
|
list(APPEND CPACK_COMPONENTS_ALL "libraries;libraries_dev;openvino")
|
|
|
|
#
|
|
# Install latest symlink packages
|
|
#
|
|
|
|
# NOTE: we expicitly don't add runtime latest packages
|
|
# since a user needs to depend on specific VERSIONED runtime package
|
|
# with fixed SONAMEs, while latest package can be updated multiple times
|
|
# ov_rpm_add_latest_component(libraries)
|
|
|
|
ov_rpm_add_latest_component(libraries_dev)
|
|
ov_rpm_add_latest_component(openvino)
|
|
|
|
# users can manually install specific version of package
|
|
# e.g. sudo yum install openvino=2022.1.0
|
|
# even if we have latest package version 2022.2.0
|
|
|
|
#
|
|
# install common files
|
|
#
|
|
|
|
foreach(comp IN LISTS CPACK_COMPONENTS_ALL)
|
|
if(NOT DEFINED "${comp}_copyright")
|
|
message(FATAL_ERROR "Copyright file name is not defined for ${comp}")
|
|
endif()
|
|
ov_rpm_copyright("${comp}" "${${comp}_copyright}")
|
|
endforeach()
|
|
endmacro()
|