diff --git a/CMakeLists.txt b/CMakeLists.txt index beb02142840..14b45fab3c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,6 +51,7 @@ file(REMOVE "${CMAKE_BINARY_DIR}/InferenceEngineTargets.cmake") file(REMOVE "${CMAKE_BINARY_DIR}/OpenVINOTargets.cmake") foreach(component IN LISTS openvino_export_components) file(REMOVE "${CMAKE_BINARY_DIR}/${component}_dev_targets.cmake") + file(REMOVE "${CMAKE_BINARY_DIR}/ov_${component}_dev_targets.cmake") unset(${component} CACHE) endforeach() unset(openvino_export_components CACHE) diff --git a/cmake/arm.toolchain.cmake b/cmake/arm.toolchain.cmake index 9070bb91c05..53ced754faa 100644 --- a/cmake/arm.toolchain.cmake +++ b/cmake/arm.toolchain.cmake @@ -7,6 +7,7 @@ set(CMAKE_SYSTEM_PROCESSOR armv7l) set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) +set(PKG_CONFIG_EXECUTABLE arm-linux-gnueabihf-pkg-config CACHE PATH "Path to ARM pkg-config") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) diff --git a/cmake/arm64.toolchain.cmake b/cmake/arm64.toolchain.cmake index 11308090acd..6e5ada935af 100644 --- a/cmake/arm64.toolchain.cmake +++ b/cmake/arm64.toolchain.cmake @@ -7,6 +7,7 @@ set(CMAKE_SYSTEM_PROCESSOR aarch64) set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) +set(PKG_CONFIG_EXECUTABLE aarch64-linux-gnu-pkg-config CACHE PATH "Path to ARM64 pkg-config") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) diff --git a/cmake/developer_package/IEDevScriptsConfig.cmake b/cmake/developer_package/IEDevScriptsConfig.cmake index f0d4777233e..815fd194f36 100644 --- a/cmake/developer_package/IEDevScriptsConfig.cmake +++ b/cmake/developer_package/IEDevScriptsConfig.cmake @@ -186,6 +186,8 @@ endif() # Use solution folders set_property(GLOBAL PROPERTY USE_FOLDERS ON) +# cmake_dependent_option() supports full Condition Syntax +set(CMAKE_POLICY_DEFAULT_CMP0127 NEW) # Enable CMAKE__COMPILER_ID AppleClang set(CMAKE_POLICY_DEFAULT_CMP0025 NEW) diff --git a/cmake/developer_package/plugins/plugins.cmake b/cmake/developer_package/plugins/plugins.cmake index 044f558bc99..b748ebddefa 100644 --- a/cmake/developer_package/plugins/plugins.cmake +++ b/cmake/developer_package/plugins/plugins.cmake @@ -13,8 +13,8 @@ function(ie_plugin_get_file_name target_name library_name) set("${library_name}" "${LIB_PREFIX}${target_name}${LIB_SUFFIX}" PARENT_SCOPE) endfunction() -if(NOT TARGET ie_plugins) - add_custom_target(ie_plugins) +if(NOT TARGET ov_plugins) + add_custom_target(ov_plugins) endif() # @@ -102,7 +102,7 @@ function(ie_add_plugin) add_cpplint_target(${IE_PLUGIN_NAME}_cpplint FOR_TARGETS ${IE_PLUGIN_NAME} CUSTOM_FILTERS ${custom_filter}) endif() - add_dependencies(ie_plugins ${IE_PLUGIN_NAME}) + add_dependencies(ov_plugins ${IE_PLUGIN_NAME}) if(TARGET openvino_gapi_preproc) if(BUILD_SHARED_LIBS) add_dependencies(${IE_PLUGIN_NAME} openvino_gapi_preproc) diff --git a/cmake/extra_modules.cmake b/cmake/extra_modules.cmake index e33e4378f1f..72eed6ad3a2 100644 --- a/cmake/extra_modules.cmake +++ b/cmake/extra_modules.cmake @@ -6,15 +6,19 @@ function(ie_generate_dev_package_config) # dummy check that OpenCV is here find_package(OpenCV QUIET) - set(all_dev_targets gflags ov_runtime_libraries) foreach(component IN LISTS openvino_export_components) # export all targets with prefix and use them during extra modules build export(TARGETS ${${component}} NAMESPACE IE:: - APPEND FILE "${CMAKE_BINARY_DIR}/${component}_dev_targets.cmake") + APPEND FILE "${CMAKE_BINARY_DIR}/${component}_dev_targets.cmake") list(APPEND all_dev_targets ${${component}}) endforeach() add_custom_target(ie_dev_targets DEPENDS ${all_dev_targets}) + # if we've found system gflags + if(gflags_DIR) + set(gflags_BINARY_DIR "${gflags_DIR}") + endif() + configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in" "${CMAKE_BINARY_DIR}/InferenceEngineDeveloperPackageConfig.cmake" INSTALL_DESTINATION share # not used @@ -30,18 +34,22 @@ function(ov_generate_dev_package_config) # dummy check that OpenCV is here find_package(OpenCV QUIET) - set(all_dev_targets gflags ov_runtime_libraries) foreach(component IN LISTS openvino_export_components) string(FIND "${component}" "_legacy" index) - if (index EQUAL -1) + if(index EQUAL -1) # export all targets with prefix and use them during extra modules build export(TARGETS ${${component}} NAMESPACE openvino:: - APPEND FILE "${CMAKE_BINARY_DIR}/ov_${component}_dev_targets.cmake") + APPEND FILE "${CMAKE_BINARY_DIR}/ov_${component}_dev_targets.cmake") list(APPEND all_dev_targets ${${component}}) endif() endforeach() add_custom_target(ov_dev_targets DEPENDS ${all_dev_targets}) + # if we've found system gflags + if(gflags_DIR) + set(gflags_BINARY_DIR "${gflags_DIR}") + endif() + configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenVINODeveloperPackageConfig.cmake" INSTALL_DESTINATION share # not used @@ -59,14 +67,14 @@ endfunction() function(register_extra_modules) # post export - openvino_developer_export_targets(COMPONENT core TARGETS inference_engine) - openvino_developer_export_targets(COMPONENT core TARGETS ngraph) + 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") function(generate_fake_dev_package NS) - if (NS STREQUAL "openvino") + if(NS STREQUAL "openvino") set(devconfig_file "${OpenVINODeveloperPackage_DIR}/OpenVINODeveloperPackageConfig.cmake") else() set(devconfig_file "${InferenceEngineDeveloperPackage_DIR}/InferenceEngineDeveloperPackageConfig.cmake") @@ -81,10 +89,6 @@ function(register_extra_modules) file(APPEND "${devconfig_file}" "add_library(${NS}::${target} ALIAS ${target})\n") endif() endforeach() - if ("${NS}" STREQUAL "openvino") - file(APPEND "${devconfig_file}" "add_library(${NS}::runtime ALIAS openvino)\n") - file(APPEND "${devconfig_file}" "add_library(${NS}::runtime::dev ALIAS openvino_dev)\n") - endif() endfunction() generate_fake_dev_package("openvino") @@ -137,7 +141,7 @@ ie_generate_dev_package_config() ov_generate_dev_package_config() # extra modules must be registered after inference_engine library -# and all other IE common libraries (ov_runtime_libraries) are creared +# and all other OpenVINO Core libraries are creared # because 'register_extra_modules' creates fake InferenceEngineDeveloperPackageConfig.cmake # with all imported developer targets register_extra_modules() diff --git a/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in b/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in index de3109b4b14..0a90c23db7d 100644 --- a/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in +++ b/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in @@ -18,14 +18,14 @@ list(APPEND ie_options CMAKE_CXX_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}" cache_path) message(STATUS "The following CMake options are exported from Inference Engine Developer package") -message("") +message(" ") foreach(option IN LISTS ie_options) if(NOT DEFINED "${option}") load_cache("${cache_path}" READ_WITH_PREFIX "" ${option}) endif() message(" ${option}: ${${option}}") endforeach() -message("") +message(" ") # for samples in 3rd party projects set_and_check(gflags_DIR "@gflags_BINARY_DIR@") @@ -49,11 +49,6 @@ find_dependency(ngraph NO_CMAKE_FIND_ROOT_PATH NO_DEFAULT_PATH) -find_dependency(OpenVINODeveloperPackage - 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 @@ -71,6 +66,18 @@ foreach(component @openvino_export_components@) include("${CMAKE_CURRENT_LIST_DIR}/${component}_dev_targets.cmake") endforeach() +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(ENABLE_SYSTEM_PUGIXML) find_dependency(PugiXML) set_property(TARGET pugixml PROPERTY IMPORTED_GLOBAL TRUE) diff --git a/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in b/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in index 1f8a7b77633..19ab87b4e15 100644 --- a/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in +++ b/cmake/templates/OpenVINODeveloperPackageConfig.cmake.in @@ -16,14 +16,14 @@ list(APPEND ov_options CMAKE_CXX_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}" cache_path) message(STATUS "The following CMake options are exported from OpenVINO Developer package") -message("") +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("") +message(" ") # for samples in 3rd party projects set_and_check(gflags_DIR "@gflags_BINARY_DIR@") diff --git a/docs/snippets/CMakeLists.txt b/docs/snippets/CMakeLists.txt index 1daed4817b6..7423e9609be 100644 --- a/docs/snippets/CMakeLists.txt +++ b/docs/snippets/CMakeLists.txt @@ -53,14 +53,11 @@ if (NOT (OpenCL_FOUND AND OpenCL_HEADERS)) endif() # try to find VA libraries -find_package(PkgConfig QUIET) -if(PkgConfig_FOUND) - pkg_search_module(LIBVA QUIET libva) -endif() - -# TODO: pkg_search_module finds libva not in sysroot -if(ANDROID) - set(LIBVA_FOUND OFF CACHE BOOL "" FORCE) +if(NOT CMAKE_CROSSCOMPILING) + find_host_package(PkgConfig QUIET) + if(PkgConfig_FOUND) + pkg_search_module(libva QUIET IMPORTED_TARGET libva) + endif() endif() # remove OpenCV related sources @@ -89,10 +86,9 @@ if(OpenCL_FOUND AND OpenCL_HEADERS) target_link_libraries(${TARGET_NAME} PRIVATE ${OpenCL_LIB}) target_include_directories(${TARGET_NAME} PRIVATE ${OpenCL_HEADERS}) - if(LIBVA_FOUND) + if(libva_FOUND) target_compile_definitions(${TARGET_NAME} PRIVATE ENABLE_LIBVA) - target_include_directories(${TARGET_NAME} PRIVATE ${LIBVA_INCLUDE_DIRS}) - target_link_libraries(${TARGET_NAME} PRIVATE ${LIBVA_LINK_LIBRARIES}) + target_link_libraries(${TARGET_NAME} PRIVATE PkgConfig::libva) endif() if(WIN32) diff --git a/install_build_dependencies.sh b/install_build_dependencies.sh index 8a7f11c6700..4385a63fca4 100755 --- a/install_build_dependencies.sh +++ b/install_build_dependencies.sh @@ -44,6 +44,8 @@ if [ -f /etc/lsb-release ]; then $x86_64_specific_packages \ libgtk2.0-dev \ pkg-config \ + libgflags-dev \ + zlib1g-dev \ unzip \ automake \ libtool \ @@ -77,8 +79,13 @@ if [ -f /etc/lsb-release ]; then else sudo -E apt-get install -y libpng-dev fi + if apt-cache search --names-only '^nlohmann-json3-dev'| grep -q nlohmann-json3; then + sudo -E apt-get install -y nlohmann-json3-dev + else + sudo -E apt-get install -y nlohmann-json-dev + fi elif [ -f /etc/redhat-release ]; then - # CentOS 7.x + # RHEL 8 sudo -E yum install -y centos-release-scl epel-release sudo -E yum install -y \ wget \ @@ -97,6 +104,9 @@ elif [ -f /etc/redhat-release ]; then gcc \ gcc-c++ \ make \ + pkg-config \ + gflags-devel.i686 \ + zlib-devel.i686 \ glibc-static \ glibc-devel \ libstdc++-static \ @@ -152,6 +162,9 @@ elif [ -f /etc/os-release ] && grep -q "raspbian" /etc/os-release; then libboost-regex-dev \ libgtk2.0-dev \ pkg-config \ + libgflags-dev \ + zlib1g-dev \ + nlohmann-json-dev \ unzip \ automake \ libtool \ diff --git a/samples/cpp/CMakeLists.txt b/samples/cpp/CMakeLists.txt index 9a73582a73e..4091bed0e92 100644 --- a/samples/cpp/CMakeLists.txt +++ b/samples/cpp/CMakeLists.txt @@ -91,6 +91,12 @@ if(ARM AND NOT CMAKE_CROSSCOMPILING) add_compile_options(-march=armv7-a) endif() +if(NOT COMMAND find_host_package) + macro(find_host_package) + find_package(${ARGN}) + endmacro() +endif() + set(CMAKE_POLICY_DEFAULT_CMP0063 NEW) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_CXX_VISIBILITY_PRESET hidden) @@ -106,21 +112,48 @@ if(NOT DEFINED CMAKE_CXX_STANDARD) endif() #################################### -if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags" AND - NOT DEFINED OpenVINO_SOURCE_DIR) - add_subdirectory(thirdparty/gflags EXCLUDE_FROM_ALL) +if(NOT TARGET gflags) + find_package(gflags QUIET COMPONENTS nothreads_shared) + + if(gflags_FOUND) + message(STATUS "gflags (${gflags_VERSION}) is found at ${gflags_DIR}") + elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags") + add_subdirectory(thirdparty/gflags EXCLUDE_FROM_ALL) + endif() endif() -if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib") - add_subdirectory(thirdparty/zlib EXCLUDE_FROM_ALL) +if(NOT TARGET zlib::zlib) + if(NOT CMAKE_CROSSCOMPILING) + find_host_package(PkgConfig QUIET) + if(PkgConfig_FOUND) + pkg_search_module(zlib QUIET + IMPORTED_TARGET + zlib) + if(zlib_FOUND) + set_target_properties(PkgConfig::zlib PROPERTIES IMPORTED_GLOBAL ON) + add_library(zlib::zlib ALIAS PkgConfig::zlib) + endif() + endif() + endif() + + if(zlib_FOUND) + message(STATUS "zlib (${zlib_VERSION}) is found at ${zlib_PREFIX}") + elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib") + add_subdirectory(thirdparty/zlib EXCLUDE_FROM_ALL) + endif() endif() if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/cnpy") add_subdirectory(thirdparty/cnpy EXCLUDE_FROM_ALL) endif() -if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/json") - add_subdirectory(thirdparty/json EXCLUDE_FROM_ALL) +if(NOT TARGET nlohmann_json::nlohmann_json) + find_package(nlohmann_json QUIET) + if(nlohmann_json_FOUND) + message(STATUS "nlohmann_json (${nlohmann_json_VERSION}) is found at ${nlohmann_json_DIR}") + elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/json") + add_subdirectory(thirdparty/json EXCLUDE_FROM_ALL) + endif() endif() if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/common/utils") @@ -215,12 +248,10 @@ macro(ie_add_sample) target_link_libraries(${IE_SAMPLE_NAME} PRIVATE gflags) endif() - install( - TARGETS ${IE_SAMPLE_NAME} - RUNTIME DESTINATION samples_bin/ - COMPONENT samples_bin - EXCLUDE_FROM_ALL - ) + install(TARGETS ${IE_SAMPLE_NAME} + RUNTIME DESTINATION samples_bin/ + COMPONENT samples_bin + EXCLUDE_FROM_ALL) # create global target with all samples / demo apps if(NOT TARGET ie_samples) diff --git a/samples/cpp/benchmark_app/CMakeLists.txt b/samples/cpp/benchmark_app/CMakeLists.txt index 666b65929da..b522275bf5f 100644 --- a/samples/cpp/benchmark_app/CMakeLists.txt +++ b/samples/cpp/benchmark_app/CMakeLists.txt @@ -10,7 +10,7 @@ file (GLOB HDR ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp) ie_add_sample(NAME ${TARGET_NAME} SOURCES ${SRC} HEADERS ${HDR} - DEPENDENCIES nlohmann_json format_reader ie_samples_utils) + DEPENDENCIES nlohmann_json::nlohmann_json format_reader ie_samples_utils) # Optional OpenCL dependnency @@ -63,7 +63,6 @@ endif() find_package(OpenCV COMPONENTS core QUIET) if(NOT OpenCV_FOUND) message(WARNING "OpenCV is disabled or not found, ${TARGET_NAME} will be built without OpenCV support. Set OpenCV_DIR") - target_link_libraries(${TARGET_NAME} PRIVATE nlohmann_json_schema_validator) else() target_compile_definitions(${TARGET_NAME} PRIVATE USE_OPENCV) target_link_libraries(${TARGET_NAME} PRIVATE opencv_core) diff --git a/samples/cpp/common/utils/CMakeLists.txt b/samples/cpp/common/utils/CMakeLists.txt index 1422ef5f9f7..7a882825e11 100644 --- a/samples/cpp/common/utils/CMakeLists.txt +++ b/samples/cpp/common/utils/CMakeLists.txt @@ -14,7 +14,7 @@ target_include_directories(${TARGET_NAME} find_package(OpenVINO REQUIRED COMPONENTS Runtime) -target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime gflags) +target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime PRIVATE gflags) if(COMMAND add_clang_format_target) add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}) diff --git a/scripts/install_dependencies/install_openvino_dependencies.sh b/scripts/install_dependencies/install_openvino_dependencies.sh index fca460d438e..994083e91e3 100755 --- a/scripts/install_dependencies/install_openvino_dependencies.sh +++ b/scripts/install_dependencies/install_openvino_dependencies.sh @@ -101,7 +101,7 @@ if [ "$os" == "ubuntu18.04" ] ; then pkgs_opencv_req=(libgtk-3-0 libgl1) pkgs_python=(python3 python3-dev python3-venv python3-setuptools python3-pip) - pkgs_dev=(cmake g++ gcc libc6-dev make curl sudo) + pkgs_dev=(cmake pkg-config libgflags-dev zlib1g-dev nlohmann-json-dev g++ gcc libc6-dev make curl sudo) pkgs_myriad=(libusb-1.0-0) pkgs_cl_compiler=(libtinfo5) pkgs_opencv_opt=( @@ -122,7 +122,7 @@ elif [ "$os" == "ubuntu20.04" ] ; then pkgs_opencv_req=(libgtk-3-0 libgl1) pkgs_python=(python3 python3-dev python3-venv python3-setuptools python3-pip) - pkgs_dev=(cmake g++ gcc libc6-dev make curl sudo) + pkgs_dev=(cmake pkg-config g++ gcc libc6-dev libgflags-dev zlib1g-dev nlohmann-json3-dev make curl sudo) pkgs_myriad=(libusb-1.0-0) pkgs_cl_compiler=(libtinfo5) pkgs_opencv_opt=( @@ -143,7 +143,7 @@ elif [ "$os" == "rhel8" ] ; then pkgs_opencv_req=(gtk3) pkgs_python=(python3 python3-devel python3-setuptools python3-pip) - pkgs_dev=(gcc gcc-c++ make glibc libstdc++ libgcc cmake curl sudo) + pkgs_dev=(gcc gcc-c++ make glibc libstdc++ libgcc cmake pkg-config gflags-devel.i686 zlib-devel.i686 curl sudo) pkgs_myriad=() pkgs_opencv_opt=( gstreamer1 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 037a72b150e..51f1b6422a8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,8 +4,6 @@ add_definitions(-DPROJECT_ROOT_DIR="${CMAKE_CURRENT_SOURCE_DIR}") -add_custom_target(ov_runtime_libraries) - include(cmake/install_tbb.cmake) # CC library should be registered before other cc targets @@ -14,7 +12,9 @@ add_subdirectory(common) add_subdirectory(core) add_subdirectory(frontends) # TODO: remove ngraph/ngraph.hpp usage -add_subdirectory(core/tests) +if(ENABLE_TESTS) + add_subdirectory(core/tests) +endif() add_subdirectory(bindings) if(CMAKE_COMPILER_IS_GNUCXX) @@ -25,7 +25,7 @@ endif() add_subdirectory(plugins) add_subdirectory(inference) include(cmake/openvino.cmake) -# preprocessing has dependency on ov_runtime for static build +# preprocessing has dependency on `openvino` for static build add_subdirectory(common/preprocessing) if(ENABLE_TESTS) diff --git a/src/bindings/python/CMakeLists.txt b/src/bindings/python/CMakeLists.txt index 58431950883..cce3a059bea 100644 --- a/src/bindings/python/CMakeLists.txt +++ b/src/bindings/python/CMakeLists.txt @@ -28,7 +28,6 @@ else() add_subdirectory(src/compatibility/pyngraph) add_subdirectory(src/pyopenvino) - endif() if(ENABLE_WHEEL) diff --git a/src/bindings/python/src/pyopenvino/frontend/frontend_module.cmake b/src/bindings/python/src/pyopenvino/frontend/frontend_module.cmake index 77196d1fddd..fe2e2342faf 100644 --- a/src/bindings/python/src/pyopenvino/frontend/frontend_module.cmake +++ b/src/bindings/python/src/pyopenvino/frontend/frontend_module.cmake @@ -2,6 +2,10 @@ # SPDX-License-Identifier: Apache-2.0 # +if(NOT TARGET py_ov_frontends) + add_custom_target(py_ov_frontends) +endif() + function(frontend_module TARGET FRAMEWORK INSTALL_COMPONENT) set(TARGET_NAME ${TARGET}) @@ -18,6 +22,7 @@ function(frontend_module TARGET FRAMEWORK INSTALL_COMPONENT) pybind11_add_module(${TARGET_NAME} MODULE ${SOURCES}) add_dependencies(${TARGET_NAME} pyopenvino) + add_dependencies(py_ov_frontends ${TARGET_NAME}) target_include_directories(${TARGET_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" "${PYTHON_SOURCE_DIR}/pyopenvino/utils/") @@ -37,4 +42,4 @@ function(frontend_module TARGET FRAMEWORK INSTALL_COMPONENT) install(TARGETS ${TARGET_NAME} DESTINATION python/${PYTHON_VERSION}/openvino/frontend/${FRAMEWORK} COMPONENT ${INSTALL_COMPONENT}) -endfunction() \ No newline at end of file +endfunction() diff --git a/src/bindings/python/wheel/CMakeLists.txt b/src/bindings/python/wheel/CMakeLists.txt index 0402dc67af0..4821778d1b7 100644 --- a/src/bindings/python/wheel/CMakeLists.txt +++ b/src/bindings/python/wheel/CMakeLists.txt @@ -25,7 +25,7 @@ endif() # create target for openvino.wheel set(openvino_wheel_deps ie_api) -foreach(_target ov_runtime_libraries ie_plugins _pyngraph pyopenvino py_paddle_frontend py_tensorflow_frontend py_onnx_frontend) +foreach(_target ie_api constants _pyngraph pyopenvino ov_plugins py_ov_frontends) if(TARGET ${_target}) list(APPEND openvino_wheel_deps ${_target}) endif() diff --git a/src/cmake/openvino.cmake b/src/cmake/openvino.cmake index ea9d966629e..22f0d9154e5 100644 --- a/src/cmake/openvino.cmake +++ b/src/cmake/openvino.cmake @@ -87,7 +87,7 @@ target_link_libraries(${TARGET_NAME}_dev INTERFACE ${TARGET_NAME} pugixml::stati set_ie_threading_interface_for(${TARGET_NAME}_dev) set_target_properties(${TARGET_NAME}_dev PROPERTIES EXPORT_NAME runtime::dev) -openvino_developer_export_targets(COMPONENT core TARGETS ${TARGET_NAME}_dev) +openvino_developer_export_targets(COMPONENT core TARGETS openvino::runtime::dev) # Install static libraries for case BUILD_SHARED_LIBS=OFF ov_install_static_lib(${TARGET_NAME}_dev core) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index a9378dd88e8..2acbf6b21b3 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -11,5 +11,3 @@ add_subdirectory(legacy) add_subdirectory(transformations) add_subdirectory(offline_transformations) add_subdirectory(low_precision_transformations) - -add_dependencies(ov_runtime_libraries openvino_gapi_preproc) diff --git a/src/common/conditional_compilation/CMakeLists.txt b/src/common/conditional_compilation/CMakeLists.txt index 04aee579926..cd6e5c1abc7 100644 --- a/src/common/conditional_compilation/CMakeLists.txt +++ b/src/common/conditional_compilation/CMakeLists.txt @@ -50,4 +50,4 @@ ov_install_static_lib(${TARGET_NAME} core) file(GLOB_RECURSE hdrs ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp) add_clang_format_target(${TARGET_NAME}_clang FOR_SOURCES ${hdrs}) -openvino_developer_export_targets(COMPONENT core TARGETS openvino::conditional_compilation) +openvino_developer_export_targets(COMPONENT openvino_common TARGETS openvino::conditional_compilation) diff --git a/src/common/itt/CMakeLists.txt b/src/common/itt/CMakeLists.txt index e3d2dce029c..d82f6963369 100644 --- a/src/common/itt/CMakeLists.txt +++ b/src/common/itt/CMakeLists.txt @@ -36,4 +36,4 @@ target_include_directories(${TARGET_NAME} PUBLIC ov_install_static_lib(${TARGET_NAME} openvino_common) add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}) -openvino_developer_export_targets(COMPONENT core TARGETS openvino::itt) +openvino_developer_export_targets(COMPONENT openvino_common TARGETS openvino::itt) diff --git a/src/common/legacy/CMakeLists.txt b/src/common/legacy/CMakeLists.txt index f39cbdd844c..6472fa9c768 100644 --- a/src/common/legacy/CMakeLists.txt +++ b/src/common/legacy/CMakeLists.txt @@ -65,7 +65,7 @@ set_target_properties(${TARGET_NAME} ${TARGET_NAME}_obj # developer package -openvino_developer_export_targets(COMPONENT core TARGETS ${TARGET_NAME}) +openvino_developer_export_targets(COMPONENT core_legacy TARGETS ${TARGET_NAME}) # install diff --git a/src/common/offline_transformations/CMakeLists.txt b/src/common/offline_transformations/CMakeLists.txt index 79941f019f1..2629bb5852f 100644 --- a/src/common/offline_transformations/CMakeLists.txt +++ b/src/common/offline_transformations/CMakeLists.txt @@ -21,7 +21,7 @@ add_library(${TARGET_NAME} STATIC ${LIBRARY_SRC} ${PUBLIC_HEADERS}) target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime::dev PRIVATE openvino::itt pugixml::static openvino::runtime ngraph::reference - nlohmann_json_schema_validator nlohmann_json) + nlohmann_json_schema_validator) target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src") diff --git a/src/common/offline_transformations/include/compress_quantize_weights.hpp b/src/common/offline_transformations/include/compress_quantize_weights.hpp index 5abbf960363..ddb815b19b2 100644 --- a/src/common/offline_transformations/include/compress_quantize_weights.hpp +++ b/src/common/offline_transformations/include/compress_quantize_weights.hpp @@ -4,8 +4,6 @@ #pragma once -#include - #include namespace ngraph { diff --git a/src/common/offline_transformations/include/extension/json_config.hpp b/src/common/offline_transformations/include/extension/json_config.hpp index e3f602e7b3d..9dbf562dc9c 100644 --- a/src/common/offline_transformations/include/extension/json_config.hpp +++ b/src/common/offline_transformations/include/extension/json_config.hpp @@ -9,7 +9,6 @@ #include #include "openvino/frontend/extension/decoder_transformation.hpp" -#include "openvino/frontend/visibility.hpp" namespace ov { namespace frontend { diff --git a/src/common/snippets/CMakeLists.txt b/src/common/snippets/CMakeLists.txt index cdf4477e88a..664ba21d4f9 100644 --- a/src/common/snippets/CMakeLists.txt +++ b/src/common/snippets/CMakeLists.txt @@ -34,14 +34,14 @@ add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME}) ie_mark_target_as_cc(${TARGET_NAME}) -# LTO - -set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO}) - if(ENABLE_FUNCTIONAL_TESTS) add_subdirectory(tests) endif() +# LTO + +set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO}) + # install ov_install_static_lib(${TARGET_NAME} core) diff --git a/src/common/transformations/CMakeLists.txt b/src/common/transformations/CMakeLists.txt index c8c6d878775..88a7d1ce887 100644 --- a/src/common/transformations/CMakeLists.txt +++ b/src/common/transformations/CMakeLists.txt @@ -25,7 +25,7 @@ ie_faster_build(${TARGET_NAME}_obj PCH PRIVATE "src/precomp.hpp" ) -target_link_libraries(${TARGET_NAME}_obj PRIVATE ngraph_reference openvino::itt ngraph::builder ov_core_dev) +target_link_libraries(${TARGET_NAME}_obj PRIVATE ngraph_reference openvino::itt ngraph::builder openvino::core::dev) target_include_directories(${TARGET_NAME}_obj PRIVATE $ "${CMAKE_CURRENT_SOURCE_DIR}/src") diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 86dd6c1edb3..16380854e89 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -37,11 +37,25 @@ set_property(SOURCE ${MIXED_SRC} source_group("src" FILES ${LIBRARY_SRC}) source_group("include" FILES ${PUBLIC_HEADERS}) +# # Create ov_core_dev library +# + add_library(ov_core_dev INTERFACE) +add_library(openvino::core::dev ALIAS ov_core_dev) + target_include_directories(ov_core_dev INTERFACE $) +set_target_properties(ov_core_dev PROPERTIES EXPORT_NAME core::dev) +openvino_developer_export_targets(COMPONENT core TARGETS openvino::core::dev) + +# Install static libraries for case BUILD_SHARED_LIBS=OFF +ov_install_static_lib(ov_core_dev core) + +# # Create static or shared library depending on BUILD_SHARED_LIBS +# + add_library(ngraph_obj OBJECT ${LIBRARY_SRC} ${PUBLIC_HEADERS}) target_compile_definitions(ngraph_obj PRIVATE IMPLEMENT_OPENVINO_API) @@ -52,7 +66,7 @@ ie_faster_build(ngraph_obj addVersionDefines(src/version.cpp CI_BUILD_NUMBER) -target_link_libraries(ngraph_obj PRIVATE ngraph::builder ngraph::reference openvino::util pugixml::static ov_shape_inference ov_core_dev) +target_link_libraries(ngraph_obj PRIVATE ngraph::builder ngraph::reference openvino::util pugixml::static ov_shape_inference openvino::core::dev) ie_mark_target_as_cc(ngraph_obj) @@ -104,7 +118,6 @@ target_include_directories(ngraph_obj PUBLIC $) diff --git a/src/core/src/varaint.cpp b/src/core/src/variant.cpp similarity index 100% rename from src/core/src/varaint.cpp rename to src/core/src/variant.cpp diff --git a/src/core/tests/CMakeLists.txt b/src/core/tests/CMakeLists.txt index b41a1cd4244..ee41a8892ee 100644 --- a/src/core/tests/CMakeLists.txt +++ b/src/core/tests/CMakeLists.txt @@ -2,6 +2,8 @@ # SPDX-License-Identifier: Apache-2.0 # +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE OFF) + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT ENABLE_SANITIZER) # gold linker on ubuntu20.04 may fail to link binaries build with sanitizer set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=gold") diff --git a/src/core/tests/frontend/CMakeLists.txt b/src/core/tests/frontend/CMakeLists.txt index 78751984728..6b984b97bc2 100644 --- a/src/core/tests/frontend/CMakeLists.txt +++ b/src/core/tests/frontend/CMakeLists.txt @@ -1,6 +1,7 @@ # Copyright (C) 2018-2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 # + if (ENABLE_OV_PADDLE_FRONTEND) add_subdirectory(paddle) endif() diff --git a/src/core/tests/frontend/paddle/CMakeLists.txt b/src/core/tests/frontend/paddle/CMakeLists.txt index 3303f6e245d..7199c6c3ed3 100644 --- a/src/core/tests/frontend/paddle/CMakeLists.txt +++ b/src/core/tests/frontend/paddle/CMakeLists.txt @@ -9,7 +9,8 @@ list(FILTER SRC EXCLUDE REGEX standalone_build) add_executable(${TARGET_NAME} ${SRC}) -target_link_libraries(${TARGET_NAME} PRIVATE frontend_shared_test_classes openvino_paddle_frontend openvino::runtime) +target_link_libraries(${TARGET_NAME} PRIVATE cnpy frontend_shared_test_classes + openvino_paddle_frontend openvino::runtime) add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}) diff --git a/src/core/tests/frontend/paddle/standalone_build/CMakeLists.txt b/src/core/tests/frontend/paddle/standalone_build/CMakeLists.txt index 90694b95de9..4624c7fbd8f 100644 --- a/src/core/tests/frontend/paddle/standalone_build/CMakeLists.txt +++ b/src/core/tests/frontend/paddle/standalone_build/CMakeLists.txt @@ -1,6 +1,7 @@ # Copyright (C) 2018-2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 # + set(TARGET_NAME "paddle_fe_standalone_build_test") add_library(${TARGET_NAME} STATIC standalone_build_test.cpp) diff --git a/src/frontends/CMakeLists.txt b/src/frontends/CMakeLists.txt index d0509d1b658..491b2e9bf57 100644 --- a/src/frontends/CMakeLists.txt +++ b/src/frontends/CMakeLists.txt @@ -7,7 +7,10 @@ if(ENABLE_LTO) endif() add_subdirectory(common) -add_subdirectory(tests) + +if(ENABLE_TESTS) + add_subdirectory(tests) +endif() if(ENABLE_OV_ONNX_FRONTEND) add_subdirectory(onnx) diff --git a/src/frontends/common/CMakeLists.txt b/src/frontends/common/CMakeLists.txt index 31af221f6da..8fa7e06e394 100644 --- a/src/frontends/common/CMakeLists.txt +++ b/src/frontends/common/CMakeLists.txt @@ -37,7 +37,7 @@ if(NOT BUILD_SHARED_LIBS) target_compile_definitions(${TARGET_NAME}_obj PUBLIC OPENVINO_STATIC_LIBRARY) endif() -target_link_libraries(${TARGET_NAME}_obj PRIVATE openvino::util ov_core_dev) +target_link_libraries(${TARGET_NAME}_obj PRIVATE openvino::util openvino::core::dev) set_target_properties(${TARGET_NAME}_obj PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE OFF) diff --git a/src/frontends/tensorflow/tests/transpose_sinking.cpp b/src/frontends/tensorflow/tests/transpose_sinking.cpp index 350bd10c01d..8f6fc4e166c 100644 --- a/src/frontends/tensorflow/tests/transpose_sinking.cpp +++ b/src/frontends/tensorflow/tests/transpose_sinking.cpp @@ -82,7 +82,6 @@ TEST(TransposeSinkingTest, PoolAdd1) { ngraph::Shape input_shape{1, 3, 3, 1}; // NHWC (N=1, H=3, W=3, C=1) auto input_type = ngraph::element::f32; - auto output_type = ngraph::element::f32; auto X = make_shared(input_type, input_shape); // NHWC @@ -123,7 +122,6 @@ TEST(TransposeSinkingTest, PoolAdd2) { ngraph::Shape input_shape{1, 3, 3, 1}; // NHWC (N=1, H=3, W=3, C=1) auto input_type = ngraph::element::f32; - auto output_type = ngraph::element::f32; auto X = make_shared(input_type, input_shape); // NHWC @@ -178,7 +176,6 @@ TEST(TransposeSinkingTest, PoolAdd3) { ngraph::Shape input_shape{1, 3, 3, 1}; // NHWC (N=1, H=3, W=3, C=1) auto input_type = ngraph::element::f32; - auto output_type = ngraph::element::f32; auto X = make_shared(input_type, input_shape); // NHWC @@ -371,7 +368,6 @@ TEST(TransposeSinkingTest, MultiOutput) { ngraph::Shape shape_nchw{1, 1, 4, 6}; auto input_type = ngraph::element::f32; - auto output_type = ngraph::element::f32; auto X = make_shared(input_type, shape_nchw); // NCHW @@ -441,7 +437,6 @@ TEST(TransposeSinkingTest, AlexnetPattern) { ngraph::Shape shape_nchw{1, 96, 55, 55}; auto input_type = ngraph::element::f32; - auto output_type = ngraph::element::f32; // X auto X = make_shared(input_type, shape_nhwc); // NHWC diff --git a/src/frontends/tests/CMakeLists.txt b/src/frontends/tests/CMakeLists.txt index d32ab7a8937..42d7b63bb56 100644 --- a/src/frontends/tests/CMakeLists.txt +++ b/src/frontends/tests/CMakeLists.txt @@ -2,4 +2,6 @@ # SPDX-License-Identifier: Apache-2.0 # +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE OFF) + add_subdirectory(frontend/shared) diff --git a/src/frontends/tests/frontend/shared/CMakeLists.txt b/src/frontends/tests/frontend/shared/CMakeLists.txt index ac2da5eaaa8..d1b0ef61dc8 100644 --- a/src/frontends/tests/frontend/shared/CMakeLists.txt +++ b/src/frontends/tests/frontend/shared/CMakeLists.txt @@ -15,9 +15,17 @@ add_subdirectory(test_builtin_extensions_2) target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../..) -target_link_libraries(${TARGET_NAME} PUBLIC engines_test_util openvino::runtime - offline_transformations cnpy commonTestUtils ngraph_test_util openvino::util - nlohmann_json_schema_validator test_builtin_extensions_1 test_builtin_extensions_2) +target_link_libraries(${TARGET_NAME} + PUBLIC + engines_test_util offline_transformations + commonTestUtils ngraph_test_util openvino::util + openvino::runtime + PRIVATE + cnpy + # TODO: replace with nlohmann_json::nlohmann_json + # but LTO fails for some reason + nlohmann_json_schema_validator + test_builtin_extensions_1 test_builtin_extensions_2) target_compile_definitions(${TARGET_NAME} PRIVATE diff --git a/src/frontends/tests/frontend/shared/src/json_config.cpp b/src/frontends/tests/frontend/shared/src/json_config.cpp index 91fbac6e877..991bb7522b8 100644 --- a/src/frontends/tests/frontend/shared/src/json_config.cpp +++ b/src/frontends/tests/frontend/shared/src/json_config.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include "utils.hpp" diff --git a/src/frontends/tests/frontend/shared/test_builtin_extensions_1/CMakeLists.txt b/src/frontends/tests/frontend/shared/test_builtin_extensions_1/CMakeLists.txt index 94d5a958221..9b3f3236250 100644 --- a/src/frontends/tests/frontend/shared/test_builtin_extensions_1/CMakeLists.txt +++ b/src/frontends/tests/frontend/shared/test_builtin_extensions_1/CMakeLists.txt @@ -7,7 +7,7 @@ set(TARGET_NAME "test_builtin_extensions_1") file(GLOB LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) file(GLOB LIBRARY_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp) -set(DEPENDENCIES nlohmann_json openvino::runtime::dev offline_transformations) +set(DEPENDENCIES openvino::runtime::dev offline_transformations) set(DEFINITIONS) if (ENABLE_OV_ONNX_FRONTEND) diff --git a/src/frontends/tests/frontend/shared/test_builtin_extensions_1/test_extension.hpp b/src/frontends/tests/frontend/shared/test_builtin_extensions_1/test_extension.hpp index 7d8b79bbc4f..dda512f15c1 100644 --- a/src/frontends/tests/frontend/shared/test_builtin_extensions_1/test_extension.hpp +++ b/src/frontends/tests/frontend/shared/test_builtin_extensions_1/test_extension.hpp @@ -5,7 +5,6 @@ #pragma once #include -#include #include class TestExtension1 : public ov::frontend::JsonTransformationExtension { diff --git a/src/frontends/tests/frontend/shared/test_builtin_extensions_2/CMakeLists.txt b/src/frontends/tests/frontend/shared/test_builtin_extensions_2/CMakeLists.txt index 5610f48a6aa..8e47d6883f9 100644 --- a/src/frontends/tests/frontend/shared/test_builtin_extensions_2/CMakeLists.txt +++ b/src/frontends/tests/frontend/shared/test_builtin_extensions_2/CMakeLists.txt @@ -10,8 +10,7 @@ file(GLOB_RECURSE LIBRARY_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp) # Create library add_library(${TARGET_NAME} SHARED ${LIBRARY_SRC} ${LIBRARY_HEADERS}) -target_link_libraries(${TARGET_NAME} PRIVATE nlohmann_json openvino::runtime::dev - offline_transformations) +target_link_libraries(${TARGET_NAME} PRIVATE openvino::runtime::dev offline_transformations) add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}) diff --git a/src/frontends/tests/frontend/shared/test_builtin_extensions_2/test_extensions.hpp b/src/frontends/tests/frontend/shared/test_builtin_extensions_2/test_extensions.hpp index 25153872d3d..70a0ddb9ba1 100644 --- a/src/frontends/tests/frontend/shared/test_builtin_extensions_2/test_extensions.hpp +++ b/src/frontends/tests/frontend/shared/test_builtin_extensions_2/test_extensions.hpp @@ -5,7 +5,6 @@ #pragma once #include -#include class TestExtension1 : public ov::frontend::JsonTransformationExtension { public: diff --git a/src/inference/CMakeLists.txt b/src/inference/CMakeLists.txt index 767fbc1b81d..737e7e0027e 100644 --- a/src/inference/CMakeLists.txt +++ b/src/inference/CMakeLists.txt @@ -145,7 +145,7 @@ target_include_directories(${TARGET_NAME}_obj PRIVATE $ $) -target_link_libraries(${TARGET_NAME}_obj PRIVATE openvino::itt openvino::util ov_core_dev) +target_link_libraries(${TARGET_NAME}_obj PRIVATE openvino::itt openvino::util openvino::core::dev) set_ie_threading_interface_for(${TARGET_NAME}_obj) if (TBBBIND_2_5_FOUND) @@ -183,7 +183,7 @@ if (TBBBIND_2_5_FOUND) endif() target_include_directories(${TARGET_NAME}_s PUBLIC - $ + $ $ $/src>) diff --git a/src/plugins/intel_myriad/myriad_plugin/CMakeLists.txt b/src/plugins/intel_myriad/myriad_plugin/CMakeLists.txt index 3364e6f9480..d8ebea0bfc9 100644 --- a/src/plugins/intel_myriad/myriad_plugin/CMakeLists.txt +++ b/src/plugins/intel_myriad/myriad_plugin/CMakeLists.txt @@ -53,6 +53,7 @@ ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME}) set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO}) # install + if(LINUX) install(FILES ${mvnc_SOURCE_DIR}/src/97-myriad-usbboot.rules DESTINATION install_dependencies diff --git a/src/tests/functional/plugin/conformance/subgraphs_dumper/CMakeLists.txt b/src/tests/functional/plugin/conformance/subgraphs_dumper/CMakeLists.txt index 0580b5a953e..20fbfca61ad 100644 --- a/src/tests/functional/plugin/conformance/subgraphs_dumper/CMakeLists.txt +++ b/src/tests/functional/plugin/conformance/subgraphs_dumper/CMakeLists.txt @@ -4,7 +4,7 @@ set(TARGET_NAME subgraphsDumper) -list(APPEND DEPENDENCIES +list(APPEND LIBRARIES gflags inference_engine funcTestUtils @@ -40,7 +40,7 @@ addIeTargetTest( ${CMAKE_CURRENT_SOURCE_DIR}/include LINK_LIBRARIES PRIVATE - ${DEPENDENCIES} + ${LIBRARIES} DEPENDENCIES ${DEPENDENCIES} ADD_CPPLINT diff --git a/src/tests/functional/plugin/gpu/CMakeLists.txt b/src/tests/functional/plugin/gpu/CMakeLists.txt index 9ec09a8fd72..0356feb4e6e 100644 --- a/src/tests/functional/plugin/gpu/CMakeLists.txt +++ b/src/tests/functional/plugin/gpu/CMakeLists.txt @@ -22,20 +22,16 @@ addIeTargetTest( ) # try to find VA libraries -find_package(PkgConfig QUIET) -if(PkgConfig_FOUND) - pkg_search_module(LIBVA QUIET libva) +if(NOT CMAKE_CROSSCOMPILING) + find_host_package(PkgConfig QUIET) + if(PkgConfig_FOUND) + pkg_search_module(libva QUIET IMPORTED_TARGET libva) + endif() endif() -# TODO: pkg_search_module finds libva not in sysroot -if(ANDROID) - set(LIBVA_FOUND OFF CACHE BOOL "" FORCE) -endif() - -if(LIBVA_FOUND) +if(libva_FOUND) target_compile_definitions(${TARGET_NAME} PRIVATE ENABLE_LIBVA) - target_include_directories(${TARGET_NAME} PRIVATE ${LIBVA_INCLUDE_DIRS}) - target_link_libraries(${TARGET_NAME} PRIVATE ${LIBVA_LINK_LIBRARIES}) + target_link_libraries(${TARGET_NAME} PRIVATE PkgConfig::libva) endif() if(WIN32) diff --git a/src/tests/unit/auto/CMakeLists.txt b/src/tests/unit/auto/CMakeLists.txt index 04722856c87..9c184dbd409 100644 --- a/src/tests/unit/auto/CMakeLists.txt +++ b/src/tests/unit/auto/CMakeLists.txt @@ -30,5 +30,3 @@ addIeTargetTest( ) set_ie_threading_interface_for(${TARGET_NAME}) - -set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO}) diff --git a/src/tests/util/CMakeLists.txt b/src/tests/util/CMakeLists.txt index 4ed029fa48f..c80c96e057a 100644 --- a/src/tests/util/CMakeLists.txt +++ b/src/tests/util/CMakeLists.txt @@ -16,4 +16,5 @@ file(GLOB_RECURSE all_util_src "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" "${CMAKE_CURR add_clang_format_target(ngraph_test_util_clang FOR_SOURCES ${all_util_src}) # developer package -openvino_developer_export_targets(COMPONENT core TARGETS ngraph_test_util) + +openvino_developer_export_targets(COMPONENT tests TARGETS ngraph_test_util) diff --git a/src/tests_deprecated/readers/CMakeLists.txt b/src/tests_deprecated/readers/CMakeLists.txt index b2a9596e01e..0613d19da13 100644 --- a/src/tests_deprecated/readers/CMakeLists.txt +++ b/src/tests_deprecated/readers/CMakeLists.txt @@ -4,5 +4,4 @@ if(ENABLE_IR_V7_READER) add_subdirectory(ir_reader_v7) - add_dependencies(ov_runtime_libraries inference_engine_ir_v7_reader) endif() diff --git a/src/tests_deprecated/readers/ir_reader_v7/CMakeLists.txt b/src/tests_deprecated/readers/ir_reader_v7/CMakeLists.txt index 4e57735f37f..ff9a08888f3 100644 --- a/src/tests_deprecated/readers/ir_reader_v7/CMakeLists.txt +++ b/src/tests_deprecated/readers/ir_reader_v7/CMakeLists.txt @@ -39,8 +39,6 @@ target_link_libraries(${TARGET_NAME} PRIVATE openvino::runtime::dev ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME}) -set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO}) - if(WIN32) set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}) endif() diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index 2d61c5fd7a2..c458c30fd64 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -12,7 +12,6 @@ endif() add_subdirectory(ittapi) add_subdirectory(itt_collector EXCLUDE_FROM_ALL) -add_subdirectory(zlib EXCLUDE_FROM_ALL) add_subdirectory(cnpy EXCLUDE_FROM_ALL) if(ENABLE_INTEL_GPU) add_subdirectory(ocl) @@ -22,13 +21,34 @@ add_subdirectory(xbyak EXCLUDE_FROM_ALL) openvino_developer_export_targets(COMPONENT openvino_common TARGETS xbyak) ov_install_static_lib(xbyak openvino_common) +# +# zlib +# + +if(NOT CMAKE_CROSSCOMPILING) + find_host_package(PkgConfig QUIET) + if(PkgConfig_FOUND) + pkg_search_module(zlib QUIET + IMPORTED_TARGET GLOBAL + zlib) + if(zlib_FOUND) + add_library(zlib::zlib ALIAS PkgConfig::zlib) + message(STATUS "zlib (${zlib_VERSION}) is found at ${zlib_PREFIX}") + endif() + endif() +endif() + +if(NOT zlib_FOUND) + add_subdirectory(zlib EXCLUDE_FROM_ALL) +endif() + # # Pugixml # if(ENABLE_SYSTEM_PUGIXML) find_package(PugiXML REQUIRED) - set_property(TARGET pugixml PROPERTY IMPORTED_GLOBAL TRUE) + set_target_properties(pugixml PROPERTIES IMPORTED_GLOBAL ON) add_library(pugixml::static ALIAS pugixml) else() function(ie_build_pugixml) @@ -64,8 +84,14 @@ ov_install_static_lib(fluid openvino_common) # Gflags # -add_subdirectory(gflags EXCLUDE_FROM_ALL) -openvino_developer_export_targets(COMPONENT openvino_common TARGETS gflags) +find_package(gflags QUIET COMPONENTS nothreads_shared) +if(gflags_FOUND) + set_target_properties(gflags PROPERTIES IMPORTED_GLOBAL ON) + message(STATUS "gflags (${gflags_VERSION}) is found at ${gflags_DIR}") +else() + add_subdirectory(gflags EXCLUDE_FROM_ALL) + openvino_developer_export_targets(COMPONENT openvino_common TARGETS gflags) +endif() # # Google Tests framework @@ -145,22 +171,33 @@ ov_install_static_lib(nlohmann_json_schema_validator openvino_common) # Install # -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/gflags - DESTINATION "samples/cpp/thirdparty" - COMPONENT cpp_samples - USE_SOURCE_PERMISSIONS) +if(CPACK_GENERATOR STREQUAL "DEB") + # These libraries are dependencies for openvino-samples-2022.1 package -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/zlib - DESTINATION "samples/cpp/thirdparty" - COMPONENT cpp_samples - USE_SOURCE_PERMISSIONS) + if(NOT gflags_FOUND) + message(FATAL_ERROR "gflags must be used as a debian package. Install libflags-dev") + endif() + if(NOT zlib_FOUND) + message(FATAL_ERROR "zlib must be used as a debian package. Install zlib1g-dev") + endif() +else() + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/gflags + DESTINATION "samples/cpp/thirdparty" + COMPONENT cpp_samples + USE_SOURCE_PERMISSIONS) + + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/zlib + DESTINATION "samples/cpp/thirdparty" + COMPONENT cpp_samples + USE_SOURCE_PERMISSIONS) + + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/json + DESTINATION "samples/cpp/thirdparty" + COMPONENT cpp_samples + USE_SOURCE_PERMISSIONS) +endif() install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/cnpy DESTINATION "samples/cpp/thirdparty" COMPONENT cpp_samples USE_SOURCE_PERMISSIONS) - -install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/json - DESTINATION "samples/cpp/thirdparty" - COMPONENT cpp_samples - USE_SOURCE_PERMISSIONS) diff --git a/thirdparty/cnpy/CMakeLists.txt b/thirdparty/cnpy/CMakeLists.txt index 041031e9232..556adb03c41 100644 --- a/thirdparty/cnpy/CMakeLists.txt +++ b/thirdparty/cnpy/CMakeLists.txt @@ -13,7 +13,7 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "^(Apple)?Clang$") PRIVATE -Wno-all) endif() -target_link_libraries(${TARGET_NAME} PUBLIC zlib) +target_link_libraries(${TARGET_NAME} PUBLIC zlib::zlib) target_include_directories(${TARGET_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") set_target_properties(${TARGET_NAME} PROPERTIES FOLDER thirdparty) diff --git a/thirdparty/zlib/CMakeLists.txt b/thirdparty/zlib/CMakeLists.txt index 4ed86b770f8..5403a9efe4a 100644 --- a/thirdparty/zlib/CMakeLists.txt +++ b/thirdparty/zlib/CMakeLists.txt @@ -49,6 +49,7 @@ set(lib_hdrs set(lib_ext_hdrs "zlib/zlib.h" "zlib/zconf.h") add_library(${TARGET_NAME} STATIC ${lib_srcs} ${lib_hdrs} ${lib_ext_hdrs}) +add_library(${TARGET_NAME}::${TARGET_NAME} ALIAS ${TARGET_NAME}) target_include_directories(${TARGET_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/zlib") diff --git a/tools/legacy/benchmark_app/CMakeLists.txt b/tools/legacy/benchmark_app/CMakeLists.txt index 732058d89b1..c52363ffb2e 100644 --- a/tools/legacy/benchmark_app/CMakeLists.txt +++ b/tools/legacy/benchmark_app/CMakeLists.txt @@ -27,11 +27,12 @@ if (CMAKE_COMPILER_IS_GNUCXX) target_compile_options(${TARGET_NAME} PRIVATE -Wall) endif() +target_link_libraries(${TARGET_NAME} PRIVATE openvino::runtime format_reader gflags) + find_package(OpenCV COMPONENTS core QUIET) if(NOT OpenCV_FOUND) message(WARNING "OpenCV is disabled or not found, ${TARGET_NAME} will be built without OpenCV support. Set OpenCV_DIR") - target_link_libraries(${TARGET_NAME} PRIVATE nlohmann_json_schema_validator openvino::runtime format_reader gflags) else() target_compile_definitions(${TARGET_NAME} PRIVATE USE_OPENCV) - target_link_libraries(${TARGET_NAME} PRIVATE opencv_core openvino::runtime format_reader gflags) + target_link_libraries(${TARGET_NAME} PRIVATE opencv_core) endif()