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