From 88c2b28bd181c8e0b2925cc1277ff89326974c31 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Wed, 19 Oct 2022 14:22:18 +0400 Subject: [PATCH] Use TBB dependency only for static libraries (#13535) * Use TBB dependency only for static libraries * Rename IE_EXTRA_MODULES to OPENVINO_EXTRA_MODULES * call find_tbb in DevPackage --- .ci/azure/android_arm64.yml | 2 +- .ci/azure/linux.yml | 2 +- .ci/azure/linux_arm64.yml | 5 +- .ci/azure/linux_coverity.yml | 2 +- .ci/azure/linux_cuda.yml | 2 +- .ci/azure/linux_debian.yml | 2 +- .ci/azure/linux_lohika.yml | 2 +- .ci/azure/mac.yml | 2 +- .ci/azure/windows.yml | 2 +- cmake/extra_modules.cmake | 10 +- cmake/features.cmake | 2 +- ...renceEngineDeveloperPackageConfig.cmake.in | 2 + cmake/templates/OpenVINOConfig.cmake.in | 260 ++++++++++-------- .../OpenVINODeveloperPackageConfig.cmake.in | 2 + docs/dev/build.md | 2 +- 15 files changed, 160 insertions(+), 139 deletions(-) diff --git a/.ci/azure/android_arm64.yml b/.ci/azure/android_arm64.yml index dafa16c8b90..47b45a28ca1 100644 --- a/.ci/azure/android_arm64.yml +++ b/.ci/azure/android_arm64.yml @@ -130,7 +130,7 @@ jobs: -DENABLE_SAMPLES=ON -DBUILD_java_api=ON -DBUILD_nvidia_plugin=OFF - -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules + -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules -DCMAKE_CXX_LINKER_LAUNCHER=ccache -DCMAKE_C_LINKER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache diff --git a/.ci/azure/linux.yml b/.ci/azure/linux.yml index 036a310d28b..1ac055dbcf0 100644 --- a/.ci/azure/linux.yml +++ b/.ci/azure/linux.yml @@ -189,7 +189,7 @@ jobs: -DENABLE_FASTER_BUILD=ON -DENABLE_STRICT_DEPENDENCIES=OFF -DENABLE_REQUIREMENTS_INSTALL=OFF - -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules + -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_LINKER_LAUNCHER=ccache diff --git a/.ci/azure/linux_arm64.yml b/.ci/azure/linux_arm64.yml index 80da743435c..b62c1dd286a 100644 --- a/.ci/azure/linux_arm64.yml +++ b/.ci/azure/linux_arm64.yml @@ -168,7 +168,7 @@ jobs: -DTHREADING=TBB -DTBB_DIR=$(INSTALL_ONETBB)/lib/cmake/TBB -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON - -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules/arm_plugin + -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules/arm_plugin -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_LINKER_LAUNCHER=ccache @@ -246,10 +246,7 @@ jobs: -DPYTHON_LIBRARY=$(INSTALL_PYTHON)/lib -DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake -DOpenVINO_DIR=$(BUILD_OPENVINO) - -DInferenceEngine_DIR=$(BUILD_OPENVINO) -DOpenCV_DIR=$(INSTALL_OPENCV)/cmake - -Dngraph_DIR=$(BUILD_OPENVINO) - -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules -DCMAKE_INSTALL_PREFIX=$(INSTALL_OPEN_MODEL_ZOO) $(OPENVINO_REPO_DIR)/thirdparty/open_model_zoo/demos workingDirectory: $(BUILD_OPEN_MODEL_ZOO) diff --git a/.ci/azure/linux_coverity.yml b/.ci/azure/linux_coverity.yml index b038050ade1..4eedd3450d6 100644 --- a/.ci/azure/linux_coverity.yml +++ b/.ci/azure/linux_coverity.yml @@ -97,7 +97,7 @@ jobs: -DENABLE_STRICT_DEPENDENCIES=OFF -DENABLE_REQUIREMENTS_INSTALL=OFF -DBUILD_nvidia_plugin=OFF - -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules + -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache $(REPO_DIR) diff --git a/.ci/azure/linux_cuda.yml b/.ci/azure/linux_cuda.yml index 5ab17c39307..7df30770114 100644 --- a/.ci/azure/linux_cuda.yml +++ b/.ci/azure/linux_cuda.yml @@ -123,7 +123,7 @@ jobs: cmake -GNinja -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) - -DIE_EXTRA_MODULES=/root/repos/openvino_contrib/modules + -DOPENVINO_EXTRA_MODULES=/root/repos/openvino_contrib/modules -DENABLE_INTEL_CPU=OFF -DENABLE_INTEL_GPU=OFF -DENABLE_INTEL_GNA=OFF diff --git a/.ci/azure/linux_debian.yml b/.ci/azure/linux_debian.yml index fbd06ddb40c..495c7a30804 100644 --- a/.ci/azure/linux_debian.yml +++ b/.ci/azure/linux_debian.yml @@ -165,7 +165,7 @@ jobs: -DENABLE_FASTER_BUILD=ON -DENABLE_STRICT_DEPENDENCIES=OFF -DENABLE_REQUIREMENTS_INSTALL=OFF - -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules + -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_LINKER_LAUNCHER=ccache diff --git a/.ci/azure/linux_lohika.yml b/.ci/azure/linux_lohika.yml index 1e30a24851d..953c1ceecf5 100644 --- a/.ci/azure/linux_lohika.yml +++ b/.ci/azure/linux_lohika.yml @@ -62,7 +62,7 @@ jobs: # -DENABLE_FASTER_BUILD=ON # -DENABLE_STRICT_DEPENDENCIES=OFF # -DENABLE_REQUIREMENTS_INSTALL=OFF -# -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules +# -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules # $(REPO_DIR) # workingDirectory: $(BUILD_DIR) diff --git a/.ci/azure/mac.yml b/.ci/azure/mac.yml index 904cd7693d0..07f05156c2d 100644 --- a/.ci/azure/mac.yml +++ b/.ci/azure/mac.yml @@ -124,7 +124,7 @@ jobs: -DENABLE_PYTHON=ON \ -DENABLE_TESTS=OFF \ -DENABLE_STRICT_DEPENDENCIES=OFF \ - -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules \ + -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_LINKER_LAUNCHER=ccache \ diff --git a/.ci/azure/windows.yml b/.ci/azure/windows.yml index e3273b6585f..f06b12433b9 100644 --- a/.ci/azure/windows.yml +++ b/.ci/azure/windows.yml @@ -165,7 +165,7 @@ jobs: -DPYTHON_EXECUTABLE="C:\hostedtoolcache\windows\Python\3.7.6\x64\python.exe" ^ -DPYTHON_INCLUDE_DIR="C:\hostedtoolcache\windows\Python\3.7.6\x64\include" ^ -DPYTHON_LIBRARY="C:\hostedtoolcache\windows\Python\3.7.6\x64\libs\python37.lib" ^ - -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)\modules ^ + -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)\modules ^ -DCMAKE_C_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^ -DCMAKE_CXX_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^ -S $(REPO_DIR) -B $(BUILD_DIR) diff --git a/cmake/extra_modules.cmake b/cmake/extra_modules.cmake index 76bbde1658c..41f0aea1037 100644 --- a/cmake/extra_modules.cmake +++ b/cmake/extra_modules.cmake @@ -72,9 +72,9 @@ function(register_extra_modules) openvino_developer_export_targets(COMPONENT core_legacy TARGETS inference_engine) openvino_developer_export_targets(COMPONENT core_legacy TARGETS ngraph) - set(InferenceEngineDeveloperPackage_DIR "${CMAKE_CURRENT_BINARY_DIR}/runtime") - set(OpenVINODeveloperPackage_DIR "${CMAKE_BINARY_DIR}/runtime") - set(OpenVINO_DIR ${CMAKE_BINARY_DIR}) + set(InferenceEngineDeveloperPackage_DIR "${CMAKE_CURRENT_BINARY_DIR}/build-modules") + set(OpenVINODeveloperPackage_DIR "${CMAKE_BINARY_DIR}/build-modules") + set(OpenVINO_DIR "${CMAKE_BINARY_DIR}") function(generate_fake_dev_package NS) if(NS STREQUAL "openvino") @@ -99,9 +99,9 @@ endif()\n") generate_fake_dev_package("openvino") generate_fake_dev_package("IE") - # detect where IE_EXTRA_MODULES contains folders with CMakeLists.txt + # detect where OPENVINO_EXTRA_MODULES contains folders with CMakeLists.txt # other folders are supposed to have sub-folders with CMakeLists.txt - foreach(module_path IN LISTS IE_EXTRA_MODULES) + foreach(module_path IN LISTS OPENVINO_EXTRA_MODULES IE_EXTRA_MODULES) get_filename_component(module_path "${module_path}" ABSOLUTE) if(EXISTS "${module_path}/CMakeLists.txt") list(APPEND extra_modules "${module_path}") diff --git a/cmake/features.cmake b/cmake/features.cmake index 7dc0c7bbac8..96d9f980b3d 100644 --- a/cmake/features.cmake +++ b/cmake/features.cmake @@ -124,7 +124,7 @@ ie_option (ENABLE_OPENCV "enables custom OpenCV download" 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") +set(OPENVINO_EXTRA_MODULES "" CACHE STRING "Extra paths for extra modules to include into OpenVINO build") ie_dependent_option(ENABLE_TBB_RELEASE_ONLY "Only Release TBB libraries are linked to the Inference Engine binaries" ON "THREADING MATCHES TBB;LINUX" OFF) diff --git a/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in b/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in index 27e99fc131d..95e0cd25f62 100644 --- a/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in +++ b/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in @@ -68,6 +68,8 @@ if(TARGET ngraph::ngraph AND NOT TARGET IE::ngraph) set_target_properties(IE::ngraph PROPERTIES INTERFACE_LINK_LIBRARIES ngraph::ngraph) endif() +_ov_find_tbb() + foreach(component @openvino_export_components@) include("${CMAKE_CURRENT_LIST_DIR}/${component}_dev_targets.cmake") endforeach() diff --git a/cmake/templates/OpenVINOConfig.cmake.in b/cmake/templates/OpenVINOConfig.cmake.in index af7ea5b8010..e675f435a31 100644 --- a/cmake/templates/OpenVINOConfig.cmake.in +++ b/cmake/templates/OpenVINOConfig.cmake.in @@ -118,8 +118,140 @@ macro(_ov_find_dependency dep) return() endif() - set(cmake_fd_required_arg) - set(cmake_fd_quiet_arg) + unset(cmake_fd_required_arg) + unset(cmake_fd_quiet_arg) +endmacro() + +macro(_ov_find_tbb) + set(THREADING "@THREADING@") + if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND NOT TBB_FOUND) + set(enable_pkgconfig_tbb "@tbb_FOUND@") + + # try tbb.pc + if(enable_pkgconfig_tbb AND NOT ANDROID) + _ov_find_dependency(PkgConfig) + if(PkgConfig_FOUND) + if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) + set(pkg_config_quiet_arg QUIET) + endif() + if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) + set(pkg_config_required_arg REQUIRED) + endif() + + pkg_search_module(tbb + ${pkg_config_quiet_arg} + ${pkg_config_required_arg} + IMPORTED_TARGET + tbb) + unset(pkg_config_quiet_arg) + unset(pkg_config_required_arg) + + if(tbb_FOUND) + if(TARGET PkgConfig::tbb) + set(TBB_VERSION ${tbb_VERSION}) + set(TBB_FOUND ${tbb_FOUND}) + unset(tbb_FOUND) + unset(tbb_VERSION) + elseif(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) + message(FATAL_ERROR "cmake v${CMAKE_VERSION} contains bug in function 'pkg_search_module', need to update to at least v3.16.0 version") + endif() + endif() + endif() + else() + # try cmake TBB interface + + set(enable_system_tbb "@ENABLE_SYSTEM_TBB@") + if(NOT enable_system_tbb) + set_and_check(_tbb_dir "@PACKAGE_IE_TBB_DIR@") + + # see https://stackoverflow.com/questions/28070810/cmake-generate-error-on-windows-as-it-uses-as-escape-seq + if(DEFINED ENV{TBBROOT}) + file(TO_CMAKE_PATH $ENV{TBBROOT} ENV_TBBROOT) + endif() + if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.24) + set(_no_cmake_install_prefix NO_CMAKE_INSTALL_PREFIX) + endif() + + set(find_package_tbb_extra_args + CONFIG + PATHS + # oneTBB case exposed via export TBBROOT= + "${ENV_TBBROOT}/lib64/cmake/TBB" + "${ENV_TBBROOT}/lib/cmake/TBB" + "${ENV_TBBROOT}/lib/cmake/tbb" + # for custom TBB exposed via cmake -DTBBROOT= + "${TBBROOT}/cmake" + # _tbb_dir points to TBB_DIR (custom | temp | system) used to build OpenVINO + ${_tbb_dir} + CMAKE_FIND_ROOT_PATH_BOTH + NO_PACKAGE_ROOT_PATH + NO_SYSTEM_ENVIRONMENT_PATH + NO_CMAKE_PACKAGE_REGISTRY + NO_CMAKE_SYSTEM_PATH + ${_no_cmake_install_prefix} + NO_CMAKE_SYSTEM_PACKAGE_REGISTRY) + unset(_tbb_dir) + unset(_no_cmake_install_prefix) + endif() + unset(enable_system_tbb) + + _ov_find_dependency(TBB + COMPONENTS tbb tbbmalloc + ${find_package_tbb_extra_args}) + unset(find_package_tbb_extra_args) + endif() + unset(enable_pkgconfig_tbb) + + set(install_tbbbind "@install_tbbbind@") + if(install_tbbbind) + set_and_check(_tbb_bind_dir "@PACKAGE_IE_TBBBIND_DIR@") + _ov_find_dependency(TBBBIND_2_5 + PATHS ${_tbb_bind_dir} + NO_CMAKE_FIND_ROOT_PATH + NO_DEFAULT_PATH) + set_target_properties(${TBBBIND_2_5_IMPORTED_TARGETS} PROPERTIES IMPORTED_GLOBAL ON) + unset(_tbb_bind_dir) + endif() + unset(install_tbbbind) + endif() +endmacro() + +macro(_ov_find_intel_gna_dependencies) + set(_OV_ENABLE_INTEL_GNA "@ENABLE_INTEL_GNA@") + if(_OV_ENABLE_INTEL_GNA AND NOT libGNA_FOUND) + set_and_check(GNA_PATH "@PACKAGE_GNA_PATH@") + _ov_find_dependency(libGNA + COMPONENTS KERNEL + CONFIG + PATHS "${CMAKE_CURRENT_LIST_DIR}" + NO_CMAKE_FIND_ROOT_PATH + NO_DEFAULT_PATH) + unset(GNA_PATH) + endif() + unset(_OV_ENABLE_INTEL_GNA) +endmacro() + +macro(_ov_find_intel_myriad_dependencies) + set(_OV_ENABLE_INTEL_MYRIAD "@ENABLE_INTEL_MYRIAD@") + if(_OV_ENABLE_INTEL_MYRIAD) + find_package(PkgConfig QUIET) + if(PkgConfig_FOUND AND NOT ANDROID) + if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) + set(pkg_config_quiet_arg QUIET) + endif() + if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) + set(pkg_config_required_arg REQUIRED) + endif() + pkg_search_module(libusb + ${pkg_config_quiet_arg} + ${pkg_config_required_arg} + IMPORTED_TARGET + libusb-1.0) + unset(pkg_config_quiet_arg) + unset(pkg_config_required_arg) + endif() + endif() + unset(_OV_ENABLE_INTEL_MYRIAD) endmacro() function(_ov_target_no_deprecation_error) @@ -145,129 +277,16 @@ endfunction() # need to store current PACKAGE_PREFIX_DIR, because it's overwritten by sub-package one set(_ov_package_prefix_dir "${PACKAGE_PREFIX_DIR}") -set(THREADING "@THREADING@") -if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND NOT TBB_FOUND) - set(enable_pkgconfig_tbb "@tbb_FOUND@") +set(_OV_ENABLE_OPENVINO_BUILD_SHARED "@BUILD_SHARED_LIBS@") - # try tbb.pc - if(enable_pkgconfig_tbb AND NOT ANDROID) - _ov_find_dependency(PkgConfig) - if(PkgConfig_FOUND) - if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) - set(pkg_config_quiet_arg QUIET) - endif() - if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) - set(pkg_config_required_arg REQUIRED) - endif() - - pkg_search_module(tbb - ${pkg_config_quiet_arg} - ${pkg_config_required_arg} - IMPORTED_TARGET - tbb) - unset(pkg_config_quiet_arg) - unset(pkg_config_required_arg) - - if(tbb_FOUND) - if(TARGET PkgConfig::tbb) - set(TBB_VERSION ${tbb_VERSION}) - set(TBB_FOUND ${tbb_FOUND}) - elseif(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) - message(FATAL_ERROR "cmake v${CMAKE_VERSION} contains bug in function 'pkg_search_module', need to update to at least v3.16.0 version") - endif() - endif() - endif() - else() - # try cmake TBB interface - - set(enable_system_tbb "@ENABLE_SYSTEM_TBB@") - if(NOT enable_system_tbb) - set_and_check(_tbb_dir "@PACKAGE_IE_TBB_DIR@") - - # see https://stackoverflow.com/questions/28070810/cmake-generate-error-on-windows-as-it-uses-as-escape-seq - if(DEFINED ENV{TBBROOT}) - file(TO_CMAKE_PATH $ENV{TBBROOT} ENV_TBBROOT) - endif() - if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.24) - set(_no_cmake_install_prefix NO_CMAKE_INSTALL_PREFIX) - endif() - - set(find_package_tbb_extra_args - CONFIG - PATHS - # oneTBB case exposed via export TBBROOT= - "${ENV_TBBROOT}/lib64/cmake/TBB" - "${ENV_TBBROOT}/lib/cmake/TBB" - "${ENV_TBBROOT}/lib/cmake/tbb" - # for custom TBB exposed via cmake -DTBBROOT= - "${TBBROOT}/cmake" - # _tbb_dir points to TBB_DIR (custom | temp | system) used to build OpenVINO - ${_tbb_dir} - CMAKE_FIND_ROOT_PATH_BOTH - NO_PACKAGE_ROOT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - NO_CMAKE_PACKAGE_REGISTRY - NO_CMAKE_SYSTEM_PATH - ${_no_cmake_install_prefix} - NO_CMAKE_SYSTEM_PACKAGE_REGISTRY) - unset(_tbb_dir) - unset(_no_cmake_install_prefix) - endif() - unset(enable_system_tbb) - - _ov_find_dependency(TBB - COMPONENTS tbb tbbmalloc - ${find_package_tbb_extra_args}) - endif() - - set(install_tbbbind "@install_tbbbind@") - if(install_tbbbind) - set_and_check(_tbb_bind_dir "@PACKAGE_IE_TBBBIND_DIR@") - _ov_find_dependency(TBBBIND_2_5 - PATHS ${_tbb_bind_dir} - NO_CMAKE_FIND_ROOT_PATH - NO_DEFAULT_PATH) - set_target_properties(${TBBBIND_2_5_IMPORTED_TARGETS} PROPERTIES IMPORTED_GLOBAL ON) - endif() - unset(install_tbbbind) +if(NOT _OV_ENABLE_OPENVINO_BUILD_SHARED) + _ov_find_tbb() + _ov_find_intel_gna_dependencies() + _ov_find_intel_myriad_dependencies() endif() _ov_find_dependency(Threads) -set(_OV_ENABLE_OPENVINO_BUILD_SHARED "@BUILD_SHARED_LIBS@") - -set(_OV_ENABLE_INTEL_GNA "@ENABLE_INTEL_GNA@") -if(_OV_ENABLE_INTEL_GNA AND NOT _OV_ENABLE_OPENVINO_BUILD_SHARED AND NOT libGNA_FOUND) - set_and_check(GNA_PATH "@PACKAGE_GNA_PATH@") - _ov_find_dependency(libGNA - COMPONENTS KERNEL - CONFIG - PATHS "${CMAKE_CURRENT_LIST_DIR}" - NO_CMAKE_FIND_ROOT_PATH - NO_DEFAULT_PATH) -endif() -unset(_OV_ENABLE_INTEL_GNA) - -set(_OV_ENABLE_INTEL_MYRIAD "@ENABLE_INTEL_MYRIAD@") -if(_OV_ENABLE_INTEL_MYRIAD AND NOT _OV_ENABLE_OPENVINO_BUILD_SHARED) - find_package(PkgConfig QUIET) - if(PkgConfig_FOUND AND NOT ANDROID) - if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) - set(pkg_config_quiet_arg QUIET) - endif() - if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) - set(pkg_config_required_arg REQUIRED) - endif() - pkg_search_module(libusb - ${pkg_config_quiet_arg} - ${pkg_config_required_arg} - IMPORTED_TARGET - libusb-1.0) - unset(pkg_config_quiet_arg) - unset(pkg_config_required_arg) - endif() -endif() -unset(_OV_ENABLE_INTEL_MYRIAD) unset(_OV_ENABLE_OPENVINO_BUILD_SHARED) if(NOT TARGET openvino) @@ -285,6 +304,7 @@ if(NOT TARGET openvino) endforeach() endforeach() endif() + unset(THREADING) endif() # diff --git a/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in b/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in index 6fa57f84fa0..df45a61def2 100644 --- a/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in +++ b/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in @@ -48,6 +48,8 @@ find_dependency(OpenVINO NO_CMAKE_FIND_ROOT_PATH NO_DEFAULT_PATH) +_ov_find_tbb() + foreach(component @openvino_export_components@) # TODO: remove legacy targets from some tests # string(FIND "${component}" "_legacy" index) diff --git a/docs/dev/build.md b/docs/dev/build.md index bb4a8b62dd6..1ee1250284b 100644 --- a/docs/dev/build.md +++ b/docs/dev/build.md @@ -364,7 +364,7 @@ cd ../openvino ``` 3. (CMake configure) OpenVINO project uses a CMake-based build system. In the created `build` directory, run `cmake` to fetch project dependencies and create build rules: ```sh -cmake -DCMAKE_BUILD_TYPE=Release -DIE_EXTRA_MODULES=../openvino_contrib/modules/arm_plugin .. +cmake -DCMAKE_BUILD_TYPE=Release -DOPENVINO_EXTRA_MODULES=../openvino_contrib/modules/arm_plugin .. ``` > **Note:** By default OpenVINO CMake scripts try to introspect the system and enable all possible functionality based on that. You can look at the CMake output and see warnings, which show that some functionality is turned off and the corresponding reason, guiding what to do to install additionally to enable unavailable functionality. Additionally, you can change CMake options to enable / disable some functionality, add / remove compilation flags, provide custom version of dependencies like TBB, PugiXML, OpenCV, Protobuf. Please, read [CMake options for custom compilation](CMakeOptionsForCustomCompilation) for this information. 4. (CMake build) Build OpenVINO project: