# Copyright (C) 2018-2023 Intel Corporation # SPDX-License-Identifier: Apache-2.0 # @PACKAGE_INIT@ include(CMakeFindDependencyMacro) message(WARNING "find_package(InferenceEngineDeveloperPackage) is deprecated and will be removed in 2024.0 release. Please, use find_package(OpenVINODeveloperPackage)") # TODO: remove after changing [private plugins] set_and_check(OpenVINO_SOURCE_DIR "@OpenVINO_SOURCE_DIR@") # NPU set_and_check(OpenVINO_MAIN_SOURCE_DIR "@OpenVINO_SOURCE_DIR@") # NPU # Variables to export in plugin's projects set(ov_options "@OV_OPTIONS@") list(APPEND ov_options CMAKE_CXX_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_LINKER_LAUNCHER CMAKE_C_LINKER_LAUNCHER CMAKE_INSTALL_PREFIX CPACK_GENERATOR) if(APPLE) list(APPEND ov_options CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET) endif() get_property(_OV_GENERATOR_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if(_OV_GENERATOR_MULTI_CONFIG) list(APPEND ov_options CMAKE_CONFIGURATION_TYPES) if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$") list(APPEND ov_options CMAKE_DEFAULT_BUILD_TYPE) endif() else() list(APPEND ov_options CMAKE_BUILD_TYPE) endif() unset(_OV_GENERATOR_MULTI_CONFIG) file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}" cache_path) message(STATUS "The following CMake options are exported from Inference Engine Developer package") message(" ") foreach(option IN LISTS ov_options) if(NOT DEFINED "${option}") load_cache("${cache_path}" READ_WITH_PREFIX "" ${option}) endif() message(" ${option}: ${${option}}") endforeach() message(" ") # for samples in 3rd party projects if(ENABLE_SAMPLES) set_and_check(gflags_DIR "@gflags_BINARY_DIR@") endif() # Disable warning as error for private components set(CMAKE_COMPILE_WARNING_AS_ERROR OFF) # # Content # find_dependency(OpenVINODeveloperScripts PATHS "${OpenVINO_SOURCE_DIR}/cmake/developer_package" NO_CMAKE_FIND_ROOT_PATH NO_DEFAULT_PATH) find_dependency(InferenceEngine PATHS "${CMAKE_CURRENT_LIST_DIR}" NO_CMAKE_FIND_ROOT_PATH NO_DEFAULT_PATH) find_dependency(ngraph PATHS "${CMAKE_CURRENT_LIST_DIR}" NO_CMAKE_FIND_ROOT_PATH NO_DEFAULT_PATH) if(TARGET openvino::runtime AND NOT TARGET IE::runtime) add_library(IE::runtime INTERFACE IMPORTED) set_target_properties(IE::runtime PROPERTIES INTERFACE_LINK_LIBRARIES openvino::runtime) endif() # WA for cmake: it exports ngraph as IE::ngraph in the IE export list # while we already have ngraph export in its own export list as ngraph::ngraph if(TARGET ngraph::ngraph AND NOT TARGET IE::ngraph) add_library(IE::ngraph INTERFACE IMPORTED) set_target_properties(IE::ngraph PROPERTIES INTERFACE_LINK_LIBRARIES ngraph::ngraph) endif() _ov_find_tbb() include("${CMAKE_CURRENT_LIST_DIR}/inference_engine_developer_package_targets.cmake") if(TARGET IE::ov_core_dev AND NOT TARGET openvino::core::dev) add_library(openvino::core::dev INTERFACE IMPORTED) set_target_properties(openvino::core::dev PROPERTIES INTERFACE_LINK_LIBRARIES IE::ov_core_dev) endif() if(TARGET IE::runtime::dev AND NOT TARGET openvino::runtime::dev) add_library(openvino::runtime::dev INTERFACE IMPORTED) set_target_properties(openvino::runtime::dev PROPERTIES INTERFACE_LINK_LIBRARIES IE::runtime::dev) endif() if(TARGET IE::reference AND NOT TARGET IE::ngraph_reference) add_library(IE::ngraph_reference INTERFACE IMPORTED) set_target_properties(IE::ngraph_reference PROPERTIES INTERFACE_LINK_LIBRARIES IE::reference) endif() if(ENABLE_SYSTEM_PUGIXML) set(_ov_pugixml_pkgconfig_interface "@pugixml_FOUND@") set(_ov_pugixml_cmake_interface "@PugiXML_FOUND@") if(_ov_pugixml_pkgconfig_interface) find_dependency(PkgConfig) elseif(_ov_pugixml_cmake_interface) find_dependency(PugiXML) endif() if(PugiXML_FOUND) set_property(TARGET pugixml PROPERTY IMPORTED_GLOBAL TRUE) add_library(IE::pugixml ALIAS pugixml) elseif(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(pugixml ${pkg_config_quiet_arg} ${pkg_config_required_arg} IMPORTED_TARGET GLOBAL pugixml) unset(pkg_config_quiet_arg) unset(pkg_config_required_arg) if(pugixml_FOUND) add_library(IE::pugixml ALIAS PkgConfig::pugixml) # PATCH: on Ubuntu 18.04 pugixml.pc contains incorrect include directories get_target_property(interface_include_dir PkgConfig::pugixml INTERFACE_INCLUDE_DIRECTORIES) if(interface_include_dir AND NOT EXISTS "${interface_include_dir}") set_target_properties(PkgConfig::pugixml PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "") endif() endif() endif() # debian 9 case: no cmake, no pkg-config files if(NOT TARGET IE::pugixml) find_library(PUGIXML_LIBRARY NAMES pugixml DOC "Path to pugixml library") if(PUGIXML_LIBRARY) add_library(IE::pugixml INTERFACE IMPORTED GLOBAL) set_target_properties(IE::pugixml PROPERTIES INTERFACE_LINK_LIBRARIES "${PUGIXML_LIBRARY}") else() message(FATAL_ERROR "Failed to find system pugixml in OpenVINO Developer Package") endif() endif() endif() set(_ov_nlohmann_json_FOUND "@nlohmann_json_FOUND@") if(_ov_nlohmann_json_FOUND) find_dependency(nlohmann_json) set_target_properties(nlohmann_json::nlohmann_json PROPERTIES IMPORTED_GLOBAL ON) add_library(IE::nlohmann_json ALIAS nlohmann_json::nlohmann_json) endif() unset(_ov_nlohmann_json_FOUND) # inherit OpenCV from main IE project if enabled if("@OpenCV_FOUND@") # Use OpenCV_DIR from cache only if user doesn't define OpenCV_DIR if(NOT OpenCV_DIR) load_cache("${cache_path}" READ_WITH_PREFIX "" OpenCV_DIR) endif() find_dependency(OpenCV) endif() # # Extra Compile Flags # # don't fail on strict compilation options in 3rd party modules ov_dev_package_no_errors() # Don't threat deprecated API warnings as errors in 3rd party apps ov_deprecated_no_errors()