Python bindings build conflict (#24060)

### Details:
custom cmake commands run in parallel and one of them removes the
directory used by another one.

### Tickets:
 - CVS-138323
This commit is contained in:
Mikhail Ryzhov 2024-04-19 11:19:04 +02:00 committed by GitHub
parent 6cc755b025
commit f2bd4d36bd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 13 deletions

View File

@ -319,14 +319,14 @@ if(ENABLE_PYTHON_PACKAGING)
# install OpenVINO Python API
set(python_package_prefix "${CMAKE_CURRENT_BINARY_DIR}/install_${pyversion}")
set(install_lib "${python_package_prefix}/lib/${python_versioned_folder}/${ov_site_packages}")
set(ov_python_package_prefix "${CMAKE_CURRENT_BINARY_DIR}/openvino/install_${pyversion}")
set(ov_install_lib "${ov_python_package_prefix}/lib/${python_versioned_folder}/${ov_site_packages}")
set(openvino_meta_info_subdir "openvino-${OpenVINO_VERSION}-py${python_xy}.egg-info")
set(openvino_meta_info_file "${install_lib}/${openvino_meta_info_subdir}/PKG-INFO")
set(openvino_meta_info_file "${ov_install_lib}/${openvino_meta_info_subdir}/PKG-INFO")
add_custom_command(OUTPUT ${openvino_meta_info_file}
COMMAND ${CMAKE_COMMAND} -E remove_directory
"${python_package_prefix}"
"${ov_python_package_prefix}"
COMMAND ${setup_py_env}
# variables to reflect options (extensions only or full wheel package)
PYTHON_EXTENSIONS_ONLY=ON
@ -339,9 +339,9 @@ if(ENABLE_PYTHON_PACKAGING)
build_ext
install
--no-compile
--prefix "${python_package_prefix}"
--install-lib "${install_lib}"
--install-scripts "${python_package_prefix}/bin"
--prefix "${ov_python_package_prefix}"
--install-lib "${ov_install_lib}"
--install-scripts "${ov_python_package_prefix}/bin"
--single-version-externally-managed
--record=installed.txt
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
@ -349,14 +349,17 @@ if(ENABLE_PYTHON_PACKAGING)
COMMENT "Create python package with ${openvino_meta_info_subdir} folder")
# Install OpenVINO Telemetry
set(OpenVINO_Telemetry_SOURCE_DIR "${OpenVINO_SOURCE_DIR}/thirdparty/telemetry")
file(GLOB_RECURSE telemetry_files ${OpenVINO_Telemetry_SOURCE_DIR}/*)
set(telemetry_python_package_prefix "${CMAKE_CURRENT_BINARY_DIR}/telemetry/install_${pyversion}")
set(telemetry_install_lib "${telemetry_python_package_prefix}/lib/${python_versioned_folder}/${ov_site_packages}")
set(openvino_telemetry_meta_info_subdir "openvino-telemetry-${OpenVINO_VERSION}-py${python_xy}.egg-info")
set(openvino_telemetry_meta_info_file "${install_lib}/${openvino_telemetry_meta_info_subdir}/PKG-INFO")
set(openvino_telemetry_meta_info_file "${telemetry_install_lib}/${openvino_telemetry_meta_info_subdir}/PKG-INFO")
add_custom_command(OUTPUT ${openvino_telemetry_meta_info_file}
COMMAND ${CMAKE_COMMAND} -E remove_directory
"${telemetry_python_package_prefix}"
COMMAND "${Python3_EXECUTABLE}" "${OpenVINO_Telemetry_SOURCE_DIR}/setup.py"
--no-user-cfg
--quiet
@ -364,9 +367,9 @@ if(ENABLE_PYTHON_PACKAGING)
--executable "/usr/bin/python3"
install
--no-compile
--prefix "${python_package_prefix}"
--install-lib "${install_lib}"
--install-scripts "${python_package_prefix}/bin"
--prefix "${telemetry_python_package_prefix}"
--install-lib "${telemetry_install_lib}"
--install-scripts "${telemetry_python_package_prefix}/bin"
--single-version-externally-managed
--record=installed.txt
WORKING_DIRECTORY "${OpenVINO_Telemetry_SOURCE_DIR}"
@ -380,7 +383,7 @@ if(ENABLE_PYTHON_PACKAGING)
# install python package, which will be later packed into DEB | RPM
ov_cpack_add_component(${OV_CPACK_COMP_PYTHON_OPENVINO}_package_${pyversion} HIDDEN)
install(DIRECTORY ${python_package_prefix}/
install(DIRECTORY ${ov_python_package_prefix}/ ${telemetry_python_package_prefix}/
DESTINATION ${CMAKE_INSTALL_PREFIX}
COMPONENT ${OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE}_${pyversion}
${OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL}