Python in OpenVINO: improvements (#6027)
* enable make clean to remove ie_wheel artifacts * ./setup.py:132:1: E302 expected 2 blank lines * fix CI build issue * Removed not-needed components from ie_wheel * Use explicit python3 vresion in ngraph pythpn * Use python3 everywhere * Reuse python3 more * Added function to build with Py_LIMITED_API * Sync 2 cmake python modules * Fix for tools * Fixed typo * Enable python by default * Enable python build iff python-dev is found * More migration to Python3_VERSION * Install wheel requirements * Fixed ngraph Python separate build * Fixed cython compilation * Revert to old packages * Added suffix * Specify python version explicitly * Don't depend on python interp to build python itself * More improvements * Revert offline transformations back to ie_wheel * Refactoring * Trying to build wheel independently on C++ runtime * Build wheel only with main OpenVINO * Fixed typo in test_utils cmake lists * Adding link stage * small fix * git diff * Try to fix python tests Co-authored-by: Sergey Lyubimtsev <sergey.lyubimtsev@intel.com>
This commit is contained in:
@@ -82,9 +82,10 @@ jobs:
|
||||
- script: |
|
||||
sudo apt --assume-yes install libusb-1.0-0-dev
|
||||
# For opencv-python: setuptools and upgrade
|
||||
sudo apt-get install python3-setuptools
|
||||
sudo apt-get install python3-setuptools patchelf
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r $(REPO_DIR)/inference-engine/ie_bridges/python/requirements.txt
|
||||
python3 -m pip install -r $(REPO_DIR)/inference-engine/ie_bridges/python/wheel/requirements-dev.txt
|
||||
# For running Python API tests
|
||||
python3 -m pip install -r $(REPO_DIR)/inference-engine/ie_bridges/python/src/requirements-dev.txt
|
||||
# Speed up build
|
||||
@@ -106,6 +107,7 @@ jobs:
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DENABLE_PYTHON=ON
|
||||
-DPYTHON_EXECUTABLE=/usr/bin/python3.6
|
||||
-DENABLE_WHEEL=ON
|
||||
-DENABLE_TESTS=ON
|
||||
-DNGRAPH_ONNX_IMPORT_ENABLE=ON
|
||||
-DNGRAPH_ONNX_EDITOR_ENABLE=ON
|
||||
|
||||
@@ -94,7 +94,6 @@ jobs:
|
||||
-DENABLE_PROFILING_ITT=OFF
|
||||
-DENABLE_SAMPLES=OFF
|
||||
-DENABLE_SPEECH_DEMO=OFF
|
||||
-DENABLE_PYTHON=ON
|
||||
-DNGRAPH_ONNX_IMPORT_ENABLE=ON
|
||||
-DNGRAPH_ONNX_EDITOR_ENABLE=ON
|
||||
-DNGRAPH_INTERPRETER_ENABLE=ON
|
||||
|
||||
@@ -52,7 +52,6 @@ function(build_ngraph)
|
||||
else ()
|
||||
ngraph_set(NGRAPH_ADDRESS_SANITIZER OFF)
|
||||
endif ()
|
||||
ngraph_set(NGRAPH_PYTHON_BUILD_ENABLE OFF)
|
||||
|
||||
if(ENABLE_TESTS AND NOT ANDROID)
|
||||
ngraph_set(NGRAPH_UNIT_TEST_ENABLE ON)
|
||||
@@ -85,6 +84,12 @@ function(build_ngraph)
|
||||
ngraph_set(NGRAPH_THREAD_SANITIZER_ENABLE OFF)
|
||||
endif()
|
||||
|
||||
if(ENABLE_PYTHON)
|
||||
ngraph_set(NGRAPH_PYTHON_BUILD_ENABLE ON)
|
||||
else()
|
||||
ngraph_set(NGRAPH_PYTHON_BUILD_ENABLE OFF)
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "^(Apple)?Clang$")
|
||||
ie_add_compiler_flags(-Wno-error=uninitialized -Wno-error=literal-conversion)
|
||||
elseif(UNIX)
|
||||
|
||||
@@ -211,6 +211,16 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
|
||||
|
||||
function(ie_python_minimal_api target)
|
||||
# pybind11 uses a lot of API which is not a part of minimal python API subset
|
||||
# Ref 1: https://docs.python.org/3.11/c-api/stable.html
|
||||
# Ref 2: https://github.com/pybind/pybind11/issues/1755
|
||||
# target_compile_definitions(${target} PRIVATE Py_LIMITED_API=0x03090000)
|
||||
# if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# target_compile_options(${target} PRIVATE "-Wno-unused-variable")
|
||||
# endif()
|
||||
endfunction()
|
||||
|
||||
if(WIN32)
|
||||
ie_add_compiler_flags(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
|
||||
ie_add_compiler_flags(/EHsc) # no asynchronous structured exception handling
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
#
|
||||
|
||||
if(ENABLE_CPPLINT)
|
||||
find_package(Python3 COMPONENTS Interpreter)
|
||||
find_package(PythonInterp 3 QUIET)
|
||||
|
||||
if(NOT Python3_Interpreter_FOUND)
|
||||
if(NOT PYTHONINTERP_FOUND)
|
||||
message(WARNING "Python3 interpreter was not found (required for cpplint check)")
|
||||
set(ENABLE_CPPLINT OFF)
|
||||
endif()
|
||||
@@ -68,6 +68,7 @@ function(add_cpplint_target TARGET_NAME)
|
||||
"${output_file}"
|
||||
COMMAND
|
||||
"${CMAKE_COMMAND}"
|
||||
-D "PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
|
||||
-D "CPPLINT_SCRIPT=${IEDevScripts_DIR}/cpplint/cpplint.py"
|
||||
-D "INPUT_FILE=${source_file}"
|
||||
-D "OUTPUT_FILE=${output_file}"
|
||||
|
||||
@@ -25,7 +25,7 @@ set(FILTER "${DEFAULT_FILTER}${CUSTOM_FILTER}")
|
||||
|
||||
execute_process(
|
||||
COMMAND
|
||||
python3
|
||||
"${PYTHON_EXECUTABLE}"
|
||||
"${CPPLINT_SCRIPT}"
|
||||
"--linelength=160"
|
||||
"--counting=detailed"
|
||||
|
||||
@@ -29,10 +29,14 @@ Usage: -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=/path/*.csv" OFF
|
||||
|
||||
ie_option(ENABLE_ERROR_HIGHLIGHT "Highlight errors and warnings during compile time" OFF)
|
||||
|
||||
# Try to find python3
|
||||
find_package(PythonLibs 3 QUIET)
|
||||
ie_dependent_option (ENABLE_PYTHON "enables ie python bridge build" OFF "PYTHONLIBS_FOUND" OFF)
|
||||
|
||||
#
|
||||
# enable or disable output from NGRAPH_DEBUG statements
|
||||
#
|
||||
|
||||
if(NGRAPH_DEBUG_ENABLE)
|
||||
add_definitions(-DNGRAPH_DEBUG_ENABLE)
|
||||
endif()
|
||||
|
||||
@@ -52,19 +52,11 @@ set(GST_DOCS_DIR "" CACHE PATH "Path to gst-video-analytics documentation")
|
||||
|
||||
function(build_docs)
|
||||
find_package(Doxygen REQUIRED dot)
|
||||
find_package(Python3 COMPONENTS Interpreter)
|
||||
find_package(LATEX)
|
||||
|
||||
if(NOT DOXYGEN_FOUND)
|
||||
message(FATAL_ERROR "Doxygen is required to build the documentation")
|
||||
endif()
|
||||
|
||||
if(NOT Python3_FOUND)
|
||||
message(FATAL_ERROR "Python3 is required to build the documentation")
|
||||
endif()
|
||||
find_package(PythonInterp 3 REQUIRED)
|
||||
find_package(LATEX REQUIRED)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${Python3_EXECUTABLE} -m pip show lxml
|
||||
COMMAND ${PYTHON_EXECUTABLE} -m pip show lxml
|
||||
RESULT_VARIABLE PIP_EXIT_CODE
|
||||
OUTPUT_QUIET
|
||||
)
|
||||
@@ -73,10 +65,6 @@ function(build_docs)
|
||||
message(FATAL_ERROR "lxml package is not installed. Please use \"pip install lxml\".")
|
||||
endif()
|
||||
|
||||
if(NOT LATEX_FOUND)
|
||||
message(FATAL_ERROR "LATEX is required to build the documentation")
|
||||
endif()
|
||||
|
||||
set(DOCS_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
set(DOXYGEN_DIR "${OpenVINO_MAIN_SOURCE_DIR}/docs/doxygen")
|
||||
set(IE_SOURCE_DIR "${OpenVINO_MAIN_SOURCE_DIR}/inference-engine")
|
||||
@@ -217,7 +205,7 @@ function(build_docs)
|
||||
|
||||
add_custom_command(TARGET py_api
|
||||
PRE_BUILD
|
||||
COMMAND ${Python3_EXECUTABLE} ${PYX_FILTER} ${PYTHON_API_OUT}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PYX_FILTER} ${PYTHON_API_OUT}
|
||||
COMMENT "Pre-process Python API")
|
||||
|
||||
# Preprocess docs
|
||||
@@ -317,8 +305,8 @@ function(build_docs)
|
||||
add_custom_command(TARGET preprocess_docs
|
||||
PRE_BUILD
|
||||
${commands}
|
||||
COMMAND ${Python3_EXECUTABLE} ${DOXY_LAYOUT_SCRIPT} --openvino ${OPENVINO_LAYOUT_BUILD}
|
||||
COMMAND ${Python3_EXECUTABLE} ${DOXY_MD_FILTER} ${DOCS_BUILD_DIR}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${DOXY_LAYOUT_SCRIPT} --openvino ${OPENVINO_LAYOUT_BUILD}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${DOXY_MD_FILTER} ${DOCS_BUILD_DIR}
|
||||
COMMENT "Pre-process markdown and image links")
|
||||
|
||||
# IE dev guide and C++ API
|
||||
@@ -353,7 +341,7 @@ function(build_docs)
|
||||
|
||||
add_custom_command(TARGET openvino_docs
|
||||
POST_BUILD
|
||||
COMMAND ${Python3_EXECUTABLE} ${DOXY_LOG_SCRIPT} --log "${DOCS_BUILD_DIR}/ie_docs.log"
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${DOXY_LOG_SCRIPT} --log "${DOCS_BUILD_DIR}/ie_docs.log"
|
||||
--include_omz $<BOOL:${OMZ_DOCS_DIR}>
|
||||
--include_wb $<BOOL:${WORKBENCH_DOCS_DIR}>
|
||||
--include_pot $<BOOL:${POT_DOCS_DIR}>
|
||||
@@ -365,7 +353,7 @@ function(build_docs)
|
||||
|
||||
if(EXISTS "${LINKCHECKER_PY}")
|
||||
add_custom_target(docs_check
|
||||
COMMAND ${Python3_EXECUTABLE} "${LINKCHECKER_PY}" -v "${DOCS_BUILD_DIR}/html/"
|
||||
COMMAND ${PYTHON_EXECUTABLE} "${LINKCHECKER_PY}" -v "${DOCS_BUILD_DIR}/html/"
|
||||
COMMENT "Check links in generated documentation"
|
||||
WORKING_DIRECTORY "${DOCS_BUILD_DIR}"
|
||||
VERBATIM)
|
||||
|
||||
@@ -66,8 +66,6 @@ ie_dependent_option (ENABLE_SPEECH_DEMO "enable speech demo integration" ON "NOT
|
||||
|
||||
ie_option (ENABLE_OPENCV "enables OpenCV" ON)
|
||||
|
||||
ie_option (ENABLE_PYTHON "enables ie python bridge build" OFF)
|
||||
|
||||
ie_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF)
|
||||
|
||||
set(IE_EXTRA_MODULES "" CACHE STRING "Extra paths for extra modules to include into OpenVINO build")
|
||||
|
||||
@@ -8,18 +8,6 @@ cmake_minimum_required (VERSION 3.13)
|
||||
# Set the project name
|
||||
project (ie_python_api)
|
||||
|
||||
option(ENABLE_CONDA_FOLDER "Create output folder with conda python bindings" OFF)
|
||||
option(ENABLE_WHEEL "Create wheel package" OFF)
|
||||
|
||||
set(PYTHON_BRIDGE_CPACK_PATH "python")
|
||||
|
||||
string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} ARCH)
|
||||
if(ARCH STREQUAL "x86_64" OR ARCH STREQUAL "amd64") # Windows detects Intel's 64-bit CPU as AMD64
|
||||
set(ARCH intel64)
|
||||
elseif(ARCH STREQUAL "i386")
|
||||
set(ARCH ia32)
|
||||
endif()
|
||||
|
||||
if(DEFINED IE_MAIN_SOURCE_DIR)
|
||||
set(InferenceEngine_LIBRARIES inference_engine)
|
||||
else()
|
||||
@@ -27,6 +15,12 @@ else()
|
||||
set(InferenceEngine_LIBRARIES IE::inference_engine)
|
||||
endif()
|
||||
|
||||
option(ENABLE_CONDA_FOLDER "Create output folder with conda python bindings" OFF)
|
||||
cmake_dependent_option(ENABLE_WHEEL "Create wheel package" OFF
|
||||
"PYTHONINTERP_FOUND;NOT CMAKE_SOURCE_DIR STREQUAL ie_python_api_SOURCE_DIR" OFF)
|
||||
|
||||
set(PYTHON_BRIDGE_CPACK_PATH "python")
|
||||
|
||||
if(UNIX)
|
||||
# cython generated files requires public visibility. Force visibility required.
|
||||
set(CMAKE_CXX_VISIBILITY_PRESET default)
|
||||
@@ -35,10 +29,17 @@ endif()
|
||||
|
||||
include (cmake/UseCython.cmake)
|
||||
|
||||
if(PYTHONINTERP_FOUND)
|
||||
set(PYTHON_VERSION python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
|
||||
# Check Cython version
|
||||
if(CYTHON_VERSION VERSION_LESS "0.29")
|
||||
message(FATAL_ERROR "OpenVINO Python API needs at least Cython version 0.29, found version ${CYTHON_VERSION}")
|
||||
else()
|
||||
message(FATAL_ERROR "Python Interpretator was not found!")
|
||||
message(STATUS "Found Cython version ${CYTHON_VERSION}")
|
||||
endif()
|
||||
|
||||
if(PYTHONLIBS_VERSION_STRING MATCHES "^([0-9]+)\.([0-9]+).*")
|
||||
set(PYTHON_VERSION python${CMAKE_MATCH_1}.${CMAKE_MATCH_2})
|
||||
else()
|
||||
message(FATAL_ERROR "Failed to extract python major.minor from ${PYTHONLIBS_VERSION_STRING}")
|
||||
endif()
|
||||
|
||||
if(ENABLE_CONDA_FOLDER)
|
||||
@@ -67,13 +68,6 @@ if(ENABLE_WHEEL)
|
||||
add_subdirectory(wheel)
|
||||
endif()
|
||||
|
||||
# Check Cython version
|
||||
if(CYTHON_VERSION VERSION_LESS "0.29")
|
||||
message(FATAL_ERROR "OpenVINO Python API needs at least Cython version 0.29, found version ${CYTHON_VERSION}")
|
||||
else()
|
||||
message(STATUS "Found Cython version ${CYTHON_VERSION}")
|
||||
endif()
|
||||
|
||||
# install
|
||||
|
||||
ie_cpack_add_component(${PYTHON_VERSION})
|
||||
|
||||
@@ -29,15 +29,16 @@
|
||||
# See also UseCython.cmake
|
||||
# Use the Cython executable that lives next to the Python executable
|
||||
# if it is a local installation.
|
||||
find_package( PythonInterp )
|
||||
|
||||
find_package(PythonInterp 3 QUIET)
|
||||
if( PYTHONINTERP_FOUND )
|
||||
get_filename_component( _python_path ${PYTHON_EXECUTABLE} PATH )
|
||||
find_program( CYTHON_EXECUTABLE
|
||||
find_host_program( CYTHON_EXECUTABLE
|
||||
NAMES cython cython.bat cython3
|
||||
HINTS ${_python_path} $ENV{HOME}/.local/bin
|
||||
)
|
||||
else()
|
||||
find_program( CYTHON_EXECUTABLE
|
||||
find_host_program( CYTHON_EXECUTABLE
|
||||
NAMES cython cython.bat cython3
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -13,10 +13,6 @@
|
||||
#
|
||||
# cython_add_module( <module_name> <src1> <src2> ... <srcN> )
|
||||
#
|
||||
# To create a standalone executable, the function
|
||||
#
|
||||
# cython_add_standalone_executable( <executable_name> [MAIN_MODULE src1] <src1> <src2> ... <srcN> )
|
||||
#
|
||||
# To avoid dependence on Python, set the PYTHON_LIBRARY cache variable to point
|
||||
# to a static library. If a MAIN_MODULE source is specified,
|
||||
# the "if __name__ == '__main__':" from that module is used as the C main() method
|
||||
@@ -92,7 +88,7 @@ find_package( Cython REQUIRED
|
||||
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
NO_DEFAULT_PATH )
|
||||
find_package( PythonLibs REQUIRED )
|
||||
find_package(PythonLibs 3 REQUIRED)
|
||||
|
||||
set( CYTHON_CXX_EXTENSION "cxx" )
|
||||
set( CYTHON_C_EXTENSION "c" )
|
||||
@@ -239,9 +235,7 @@ function( compile_pyx _name generated_file )
|
||||
set( cython_debug_arg "--gdb" )
|
||||
endif()
|
||||
|
||||
if( "${PYTHONLIBS_VERSION_STRING}" MATCHES "^2." )
|
||||
set( version_arg "-2" )
|
||||
elseif( "${PYTHONLIBS_VERSION_STRING}" MATCHES "^3." )
|
||||
if( "${PYTHONLIBS_VERSION_STRING}" MATCHES "^3." )
|
||||
set( version_arg "-3" )
|
||||
else()
|
||||
set( version_arg )
|
||||
@@ -292,48 +286,12 @@ function( cython_add_module _name )
|
||||
endif()
|
||||
endforeach()
|
||||
compile_pyx( ${_name} generated_file ${pyx_module_sources} )
|
||||
include_directories( ${PYTHON_INCLUDE_DIRS} )
|
||||
python_add_module( ${_name} ${generated_file} ${other_module_sources} )
|
||||
python_add_module ( ${_name} ${generated_file} ${other_module_sources} )
|
||||
target_include_directories( ${_name} PRIVATE ${PYTHON_INCLUDE_DIRS})
|
||||
# set_target_properties(${_name} PROPERTIES PREFIX "" SUFFIX "${PYTHON_MODULE_EXTENSION}")
|
||||
if( APPLE )
|
||||
set_target_properties( ${_name} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup" )
|
||||
else()
|
||||
target_link_libraries( ${_name} PRIVATE ${PYTHON_LIBRARIES} )
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
include( CMakeParseArguments )
|
||||
# cython_add_standalone_executable( _name [MAIN_MODULE src3.py] src1 src2 ... srcN )
|
||||
# Creates a standalone executable the given sources.
|
||||
function( cython_add_standalone_executable _name )
|
||||
set( pyx_module_sources "" )
|
||||
set( other_module_sources "" )
|
||||
set( main_module "" )
|
||||
cmake_parse_arguments( cython_arguments "" "MAIN_MODULE" "" ${ARGN} )
|
||||
include_directories( ${PYTHON_INCLUDE_DIRS} )
|
||||
foreach( _file ${cython_arguments_UNPARSED_ARGUMENTS} )
|
||||
if( ${_file} MATCHES ".*\\.py[x]?$" )
|
||||
get_filename_component( _file_we ${_file} NAME_WE )
|
||||
if( "${_file_we}" STREQUAL "${_name}" )
|
||||
set( main_module "${_file}" )
|
||||
elseif( NOT "${_file}" STREQUAL "${cython_arguments_MAIN_MODULE}" )
|
||||
set( PYTHON_MODULE_${_file_we}_static_BUILD_SHARED OFF )
|
||||
compile_pyx( "${_file_we}_static" generated_file "${_file}" )
|
||||
list( APPEND pyx_module_sources "${generated_file}" )
|
||||
endif()
|
||||
else()
|
||||
list( APPEND other_module_sources ${_file} )
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if( cython_arguments_MAIN_MODULE )
|
||||
set( main_module ${cython_arguments_MAIN_MODULE} )
|
||||
endif()
|
||||
if( NOT main_module )
|
||||
message( FATAL_ERROR "main module not found." )
|
||||
endif()
|
||||
get_filename_component( main_module_we "${main_module}" NAME_WE )
|
||||
set( CYTHON_FLAGS ${CYTHON_FLAGS} --embed )
|
||||
compile_pyx( "${main_module_we}_static" generated_file ${main_module} )
|
||||
add_executable( ${_name} ${generated_file} ${pyx_module_sources} ${other_module_sources} )
|
||||
target_link_libraries( ${_name} PRIVATE ${PYTHON_LIBRARIES} ${pyx_module_libs} )
|
||||
endfunction()
|
||||
|
||||
@@ -9,29 +9,29 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/inference_e
|
||||
set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/inference_engine)
|
||||
set(CMAKE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/inference_engine)
|
||||
|
||||
file(GLOB SOURCE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ie_api.pyx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/ie_api.pyx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.pxd
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
|
||||
set_source_files_properties(${SOURCE} PROPERTIES CYTHON_IS_CXX ON)
|
||||
file(GLOB PYX_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.pyx)
|
||||
set_source_files_properties(${PYX_SOURCES} PROPERTIES CYTHON_IS_CXX ON)
|
||||
|
||||
# create target
|
||||
|
||||
cython_add_module(${TARGET_NAME} ${SOURCE})
|
||||
cython_add_module(${TARGET_NAME} ${SOURCES})
|
||||
set(INSTALLED_TARGETS ${TARGET_NAME})
|
||||
|
||||
file(GLOB OTHER_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.pyx)
|
||||
list(REMOVE_ITEM OTHER_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ie_api.pyx")
|
||||
list(REMOVE_ITEM PYX_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/ie_api.pyx")
|
||||
|
||||
foreach(PYX_FILE ${OTHER_SOURCES})
|
||||
foreach(PYX_FILE IN LISTS PYX_SOURCES)
|
||||
get_filename_component(PYX_NAME "${PYX_FILE}" NAME_WE)
|
||||
set_source_files_properties(${PYX_FILE} PROPERTIES CYTHON_IS_CXX ON)
|
||||
cython_add_module(${PYX_NAME} ${PYX_FILE})
|
||||
add_dependencies(${TARGET_NAME} ${PYX_NAME})
|
||||
target_include_directories(${PYX_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
target_link_libraries(${PYX_NAME} PRIVATE ${InferenceEngine_LIBRARIES})
|
||||
list(APPEND INSTALLED_TARGETS ${PYX_NAME})
|
||||
ie_python_minimal_api(${PYX_NAME})
|
||||
endforeach()
|
||||
|
||||
if(COMMAND ie_add_vs_version_file)
|
||||
@@ -48,6 +48,7 @@ function(python_disable_deprecated_warnings)
|
||||
endfunction()
|
||||
|
||||
python_disable_deprecated_warnings()
|
||||
ie_python_minimal_api(${TARGET_NAME})
|
||||
|
||||
target_include_directories(${TARGET_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ${InferenceEngine_LIBRARIES})
|
||||
@@ -60,7 +61,7 @@ endif()
|
||||
# perform copy
|
||||
add_custom_command(TARGET ${TARGET_NAME}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/src/openvino/inference_engine/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/__init__.py
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/__init__.py
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/requirements.txt ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../../requirements.txt
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/requirements.txt ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/../../requirements.txt
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/src/openvino/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../__init__.py
|
||||
|
||||
@@ -9,24 +9,22 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/offline_tra
|
||||
set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/offline_transformations)
|
||||
set(CMAKE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/offline_transformations)
|
||||
|
||||
file(GLOB SOURCE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/offline_transformations_api.pyx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/offline_transformations_api_impl.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/offline_transformations_api_impl_defs.pxd
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/offline_transformations_api.pyx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/offline_transformations_api_impl.hpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/offline_transformations_api_impl.cpp)
|
||||
|
||||
set_source_files_properties(${SOURCE} PROPERTIES CYTHON_IS_CXX ON)
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/offline_transformations_api.pyx
|
||||
PROPERTIES CYTHON_IS_CXX ON)
|
||||
|
||||
# create target
|
||||
|
||||
cython_add_module(${TARGET_NAME} ${SOURCE})
|
||||
set(INSTALLED_TARGETS ${TARGET_NAME})
|
||||
cython_add_module(${TARGET_NAME} ${SOURCES})
|
||||
add_dependencies(${TARGET_NAME} ie_api)
|
||||
|
||||
if(COMMAND ie_add_vs_version_file)
|
||||
foreach(target IN LISTS INSTALLED_TARGETS)
|
||||
ie_add_vs_version_file(NAME ${target}
|
||||
FILEDESCRIPTION "Offline Transformatoins Python library")
|
||||
endforeach()
|
||||
ie_add_vs_version_file(NAME ${TARGET_NAME}
|
||||
FILEDESCRIPTION "Offline Transformatoins Python library")
|
||||
endif()
|
||||
|
||||
if(TARGET offline_transformations)
|
||||
@@ -44,6 +42,8 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
target_compile_options(${TARGET_NAME} PRIVATE "-Wno-error=register")
|
||||
endif()
|
||||
|
||||
add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME})
|
||||
|
||||
# perform copy
|
||||
add_custom_command(TARGET ${TARGET_NAME}
|
||||
POST_BUILD
|
||||
@@ -52,12 +52,13 @@ add_custom_command(TARGET ${TARGET_NAME}
|
||||
|
||||
# install
|
||||
|
||||
install(TARGETS ${INSTALLED_TARGETS}
|
||||
# TODO: use ${PYTHON_VERSION}_dev component below
|
||||
# ie_cpack_add_component(${PYTHON_VERSION}_dev DEPENDS ${PYTHON_VERSION})
|
||||
|
||||
install(TARGETS ${TARGET_NAME}
|
||||
RUNTIME DESTINATION python/${PYTHON_VERSION}/openvino/offline_transformations COMPONENT ${PYTHON_VERSION}
|
||||
LIBRARY DESTINATION python/${PYTHON_VERSION}/openvino/offline_transformations COMPONENT ${PYTHON_VERSION})
|
||||
|
||||
install(PROGRAMS __init__.py
|
||||
DESTINATION python/${PYTHON_VERSION}/openvino/offline_transformations
|
||||
COMPONENT ${PYTHON_VERSION})
|
||||
|
||||
add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME})
|
||||
@@ -9,24 +9,22 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/test_utils)
|
||||
set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/test_utils)
|
||||
set(CMAKE_PDB_OUTPUT_DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/test_utils)
|
||||
|
||||
file(GLOB SOURCE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_utils_api.pyx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_utils_api_impl.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
||||
file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/test_utils_api.pyx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_utils_api_impl.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_utils_api_impl.hpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test_utils_api_impl_defs.pxd)
|
||||
|
||||
set_source_files_properties(${SOURCE} PROPERTIES CYTHON_IS_CXX ON)
|
||||
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/test_utils_api.pyx
|
||||
PROPERTIES CYTHON_IS_CXX ON)
|
||||
|
||||
# create target
|
||||
|
||||
cython_add_module(${TARGET_NAME} ${SOURCE})
|
||||
set(INSTALLED_TARGETS ${TARGET_NAME})
|
||||
cython_add_module(${TARGET_NAME} ${SOURCES})
|
||||
add_dependencies(${TARGET_NAME} ie_api)
|
||||
|
||||
if(COMMAND ie_add_vs_version_file)
|
||||
foreach(target IN LISTS INSTALLED_TARGETS)
|
||||
ie_add_vs_version_file(NAME ${target}
|
||||
FILEDESCRIPTION "Test Utils Python library")
|
||||
endforeach()
|
||||
ie_add_vs_version_file(NAME ${TARGET_NAME}
|
||||
FILEDESCRIPTION "Test Utils Python library")
|
||||
endif()
|
||||
|
||||
if(TARGET commonTestUtils)
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
WHEEL_PACKAGE_NAME=${WHEEL_PACKAGE_NAME}
|
||||
WHEEL_VERSION=${WHEEL_VERSION}
|
||||
WHEEL_LICENCE_TYPE=${WHEEL_LICENCE_TYPE}
|
||||
WHEEL_AUTHOR=${WHEEL_AUTHOR}
|
||||
WHEEL_AUTHOR_EMAIL=${WHEEL_AUTHOR_EMAIL}
|
||||
WHEEL_DESC=${WHEEL_DESC}
|
||||
WHEEL_LICENSE=${WHEEL_LICENSE}
|
||||
WHEEL_REQUIREMENTS=${WHEEL_REQUIREMENTS}
|
||||
WHEEL_OVERVIEW=${WHEEL_OVERVIEW}
|
||||
WHEEL_PACKAGE_NAME=@WHEEL_PACKAGE_NAME@
|
||||
WHEEL_VERSION=@WHEEL_VERSION@
|
||||
WHEEL_LICENCE_TYPE=@WHEEL_LICENCE_TYPE@
|
||||
WHEEL_AUTHOR=@WHEEL_AUTHOR@
|
||||
WHEEL_AUTHOR_EMAIL=@WHEEL_AUTHOR_EMAIL@
|
||||
WHEEL_DESC=@WHEEL_DESC@
|
||||
WHEEL_LICENSE=@WHEEL_LICENSE@
|
||||
WHEEL_REQUIREMENTS=@WHEEL_REQUIREMENTS@
|
||||
WHEEL_OVERVIEW=@WHEEL_OVERVIEW@
|
||||
|
||||
CMAKE_BUILD_DIR=${CMAKE_BINARY_DIR}
|
||||
CORE_LIBS_DIR=${IE_CPACK_RUNTIME_PATH}
|
||||
PLUGINS_LIBS_DIR=${PLUGINS_LIBS_DIR}
|
||||
NGRAPH_LIBS_DIR=${NGRAPH_LIBS_DIR}
|
||||
TBB_LIBS_DIR=${TBB_LIBS_DIR}
|
||||
PY_PACKAGES_DIR=${PY_PACKAGES_DIR}
|
||||
CMAKE_BUILD_DIR=@CMAKE_BINARY_DIR@
|
||||
CORE_LIBS_DIR=@IE_CPACK_RUNTIME_PATH@
|
||||
PLUGINS_LIBS_DIR=@PLUGINS_LIBS_DIR@
|
||||
NGRAPH_LIBS_DIR=@NGRAPH_LIBS_DIR@
|
||||
TBB_LIBS_DIR=@TBB_LIBS_DIR@
|
||||
PY_PACKAGES_DIR=@PY_PACKAGES_DIR@
|
||||
|
||||
@@ -16,7 +16,7 @@ set(WHEEL_REQUIREMENTS "${CMAKE_CURRENT_SOURCE_DIR}/meta/openvino.requirements.t
|
||||
set(WHEEL_OVERVIEW "${CMAKE_CURRENT_SOURCE_DIR}/meta/pypi_overview.md" CACHE STRING "Detailed description")
|
||||
|
||||
set(SETUP_PY "${CMAKE_CURRENT_SOURCE_DIR}/setup.py")
|
||||
set(SETUP_ENV "${CMAKE_CURRENT_SOURCE_DIR}/.env.in")
|
||||
set(SETUP_ENV "${CMAKE_CURRENT_SOURCE_DIR}/.env.in")
|
||||
|
||||
set(CORE_LIBS_DIR ${IE_CPACK_RUNTIME_PATH})
|
||||
set(PLUGINS_LIBS_DIR ${IE_CPACK_RUNTIME_PATH})
|
||||
@@ -24,7 +24,6 @@ set(NGRAPH_LIBS_DIR deployment_tools/ngraph/lib)
|
||||
set(PY_PACKAGES_DIR ${PYTHON_BRIDGE_CPACK_PATH}/${PYTHON_VERSION})
|
||||
set(TBB_LIBS_DIR deployment_tools/inference_engine/external/tbb/lib)
|
||||
|
||||
|
||||
if(APPLE)
|
||||
set(WHEEL_PLATFORM macosx_10_15_x86_64)
|
||||
elseif(UNIX)
|
||||
@@ -36,28 +35,34 @@ else()
|
||||
message(FATAL_ERROR "This platform is not supported")
|
||||
endif()
|
||||
|
||||
configure_file(${SETUP_ENV} "${CMAKE_CURRENT_SOURCE_DIR}/.env")
|
||||
configure_file(${SETUP_ENV} "${CMAKE_CURRENT_SOURCE_DIR}/.env" @ONLY)
|
||||
|
||||
add_custom_target(ie_wheel ALL DEPENDS ie_libraries ie_plugins ie_api)
|
||||
add_custom_target(ie_wheel ALL DEPENDS ie_api offline_transformations_api)
|
||||
|
||||
if(TARGET _pyngraph)
|
||||
add_dependencies(ie_wheel _pyngraph)
|
||||
endif()
|
||||
foreach(_target ie_libraries ie_plugins _pyngraph)
|
||||
if(TARGET ${_target})
|
||||
add_dependencies(ie_wheel ${_target})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(LINUX)
|
||||
find_host_program(patchelf_program NAMES patchelf)
|
||||
find_host_program(patchelf_program
|
||||
NAMES patchelf
|
||||
DOC "Path to patchelf tool")
|
||||
if(NOT patchelf_program)
|
||||
message(FATAL_ERROR "patchelf is not found, which is needed to build ie_wheel")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_custom_command(TARGET ie_wheel
|
||||
PRE_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf "${CMAKE_CURRENT_BINARY_DIR}/site-packages"
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} clean bdist_wheel
|
||||
--dist-dir ${CMAKE_BINARY_DIR}/wheels
|
||||
--build=${WHEEL_BUILD}
|
||||
--plat-name=${WHEEL_PLATFORM}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf "${CMAKE_CURRENT_BINARY_DIR}/site-packages"
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} clean bdist_wheel
|
||||
--dist-dir ${CMAKE_BINARY_DIR}/wheels
|
||||
--build=${WHEEL_BUILD}
|
||||
--plat-name=${WHEEL_PLATFORM}
|
||||
COMMAND ${CMAKE_COMMAND} -E rm "${CMAKE_CURRENT_SOURCE_DIR}/.env"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
COMMENT "Building Python wheel ${WHEEL_PACKAGE_NAME}"
|
||||
VERBATIM
|
||||
@@ -65,5 +70,5 @@ add_custom_command(TARGET ie_wheel
|
||||
|
||||
set_property(TARGET ie_wheel
|
||||
APPEND
|
||||
PROPERTY ADDITIONAL_CLEAN_FILES ${CMAKE_BINARY_DIR}/wheels
|
||||
PROPERTY ADDITIONAL_CLEAN_FILES "${CMAKE_BINARY_DIR}/wheels"
|
||||
)
|
||||
|
||||
@@ -338,10 +338,10 @@ endif()
|
||||
|
||||
# ======================================================================================================
|
||||
|
||||
# Check for python 2.7 interpreter (required tool).
|
||||
find_package(PythonInterp 2.7)
|
||||
# Check for python 3 interpreter (required tool).
|
||||
find_package(PythonInterp 3 QUIET)
|
||||
if(NOT PYTHONINTERP_FOUND)
|
||||
message(WARNING "[clDNN] Project requires Python 2.7 interpreter to build (with python loader). CMake could not detect it correctly.
|
||||
message(WARNING "[clDNN] Project requires Python 3.x interpreter to build (with python loader). CMake could not detect it correctly.
|
||||
If you have installed this interpreter, please disregard this warning or specify PYTHON_EXECUTABLE in CMake command-line."
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
|
||||
# Copyright (C) 2018-2021 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
@@ -39,6 +39,8 @@ add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
||||
# install
|
||||
|
||||
ie_cpack_add_component(myriad_dev DEPENDS myriad)
|
||||
|
||||
install(TARGETS ${TARGET_NAME}
|
||||
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH}
|
||||
COMPONENT myriad)
|
||||
COMPONENT myriad_dev)
|
||||
|
||||
@@ -101,7 +101,7 @@ if (NGRAPH_ONNX_IMPORT_ENABLE)
|
||||
option(NGRAPH_USE_SYSTEM_PROTOBUF "Use system provided Protobuf shared object" OFF)
|
||||
endif()
|
||||
if(NGRAPH_ONNX_EDITOR_ENABLE AND NOT NGRAPH_ONNX_IMPORT_ENABLE)
|
||||
message(FATAL_ERROR "ONNX Editor compotent requires ONNX Importer. Set NGRAPH_ONNX_IMPORT_ENABLE=ON.")
|
||||
message(FATAL_ERROR "ONNX Editor component requires ONNX Importer. Set NGRAPH_ONNX_IMPORT_ENABLE=ON.")
|
||||
endif()
|
||||
|
||||
message(STATUS "NGRAPH_ADDRESS_SANITIZER_ENABLE: ${NGRAPH_ADDRESS_SANITIZER_ENABLE}")
|
||||
|
||||
@@ -29,14 +29,9 @@ if(NOT pybind11_POPULATED)
|
||||
add_subdirectory(${pybind11_SOURCE_DIR} ${pybind11_BINARY_DIR})
|
||||
endif()
|
||||
|
||||
find_package(Python COMPONENTS Interpreter Development REQUIRED)
|
||||
|
||||
if(PYTHON_FOUND)
|
||||
set(PYTHON_VERSION python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
|
||||
message("Python version={${Python_VERSION}}")
|
||||
else()
|
||||
message(FATAL_ERROR "Python was not found!")
|
||||
endif()
|
||||
# PYTHON_VERSION_MAJOR and PYTHON_VERSION_MINOR are defined inside pybind11
|
||||
set(PYTHON_VERSION python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
|
||||
message("Python version=${PYTHON_VERSION}")
|
||||
|
||||
if(OpenVINO_MAIN_SOURCE_DIR)
|
||||
if(WIN32)
|
||||
@@ -92,6 +87,10 @@ if(OpenVINO_MAIN_SOURCE_DIR)
|
||||
endif()
|
||||
|
||||
if(OpenVINO_MAIN_SOURCE_DIR OR InferenceEngineDeveloperPackage_FOUND)
|
||||
if(COMMAND ie_python_minimal_api)
|
||||
ie_python_minimal_api(_${PROJECT_NAME})
|
||||
endif()
|
||||
|
||||
add_clang_format_target(_${PROJECT_NAME}_clang FOR_TARGETS _${PROJECT_NAME})
|
||||
|
||||
ie_cpack_add_component(pyngraph_${PYTHON_VERSION})
|
||||
|
||||
@@ -19,8 +19,8 @@ elseif(SELECTIVE_BUILD STREQUAL "ON")
|
||||
message(FATAL_ERROR "In case SELECTIVE_BUILD is enabled, the SELECTIVE_BUILD_STAT variable should contain the path to the collected InelSEAPI statistics.\
|
||||
Usage: -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=/path/*.csv")
|
||||
endif()
|
||||
find_package (Python3 COMPONENTS Interpreter)
|
||||
if (NOT Python3_FOUND)
|
||||
find_package (PythonInterp REQUIRED)
|
||||
if(NOT PYTHON_VERSION_MAJOR EQUAL 3)
|
||||
message(FATAL_ERROR " Python3 wasn't found!")
|
||||
endif()
|
||||
|
||||
@@ -41,7 +41,7 @@ elseif(SELECTIVE_BUILD STREQUAL "ON")
|
||||
set(GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/scripts/ccheader.py)
|
||||
|
||||
add_custom_command(OUTPUT ${GENERATED_HEADER}
|
||||
COMMAND ${Python3_EXECUTABLE} ${GENERATOR} --stat ${SELECTIVE_BUILD_STAT} --out ${GENERATED_HEADER}
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${GENERATOR} --stat ${SELECTIVE_BUILD_STAT} --out ${GENERATED_HEADER}
|
||||
DEPENDS ${STAT_FILES})
|
||||
add_custom_target(conditional_compilation_gen DEPENDS ${GENERATED_HEADER})
|
||||
add_dependencies(${TARGET_NAME} conditional_compilation_gen)
|
||||
|
||||
@@ -6,13 +6,9 @@ project(python_tools)
|
||||
if(NOT DEFINED OpenVINO_MAIN_SOURCE_DIR)
|
||||
find_package(InferenceEngineDeveloperPackage QUIET)
|
||||
endif()
|
||||
find_package(PythonInterp)
|
||||
|
||||
if(PYTHONINTERP_FOUND)
|
||||
set(PYTHON_VERSION python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
|
||||
else()
|
||||
message(FATAL_ERROR "Python Interpreter was not found!")
|
||||
endif()
|
||||
find_package(PythonInterp 3 REQUIRED)
|
||||
set(PYTHON_VERSION python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
|
||||
|
||||
set(TARGET_NAME "python_tools")
|
||||
|
||||
@@ -23,7 +19,6 @@ else()
|
||||
endif()
|
||||
|
||||
if(ENABLE_PYTHON)
|
||||
|
||||
# creates a copy inside bin directory for developers to have ability running python benchmark_app
|
||||
add_custom_target(${TARGET_NAME} ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTHON_BRIDGE_OUTPUT_DIRECTORY}/tools
|
||||
@@ -51,5 +46,4 @@ if(ENABLE_PYTHON)
|
||||
COMPONENT python_tools_${PYTHON_VERSION})
|
||||
|
||||
ie_cpack(python_tools python_tools_${PYTHON_VERSION})
|
||||
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user