diff --git a/cmake/developer_package/IEDevScriptsConfig.cmake b/cmake/developer_package/IEDevScriptsConfig.cmake index fcd8726f923..387d2b5d553 100644 --- a/cmake/developer_package/IEDevScriptsConfig.cmake +++ b/cmake/developer_package/IEDevScriptsConfig.cmake @@ -185,6 +185,7 @@ set(CMAKE_POLICY_DEFAULT_CMP0025 NEW) set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "Don't warn about obsolete cmake versions in 3rdparty") set(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION ON CACHE BOOL "Warn about absolute paths in destination") +set(CMAKE_SKIP_INSTALL_RPATH ON) # LTO diff --git a/cmake/developer_package/frontends/frontends.cmake b/cmake/developer_package/frontends/frontends.cmake index 4fa8084d35d..ddbdfd24215 100644 --- a/cmake/developer_package/frontends/frontends.cmake +++ b/cmake/developer_package/frontends/frontends.cmake @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 # -set(FRONTEND_INSTALL_INCLUDE "runtime/include/ngraph/frontend") +set(FRONTEND_INSTALL_INCLUDE "include/ngraph/frontend") set(FRONTEND_NAME_SUFFIX "_ov_frontend") set(FRONTEND_NAMES "" CACHE INTERNAL "") diff --git a/cmake/developer_package/packaging.cmake b/cmake/developer_package/packaging.cmake index 0cf84ab40b9..f1d0660c175 100644 --- a/cmake/developer_package/packaging.cmake +++ b/cmake/developer_package/packaging.cmake @@ -103,9 +103,75 @@ macro(ie_cpack) set(CPACK_DEB_COMPONENT_INSTALL ON) # automatically find dependencies for binaries set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) + # enable dependencies between components + set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON) + # homepage + set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://docs.openvino.ai/") + # enable for debug cpack run + if(NOT DEFINED CPACK_DEBIAN_PACKAGE_DEBUG) + set(CPACK_DEBIAN_PACKAGE_DEBUG OFF) + endif() + + # automatic dependencies discovering + set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON) + # OpenVINO does not have backward and forward compatibility + set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY "=") + + # TODO + # add preinst script for core to ask about aptin # ngraph - set(CPACK_DEBIAN_ngraph_PACKAGE_NAME "openvino-ngraph") + set(CPACK_COMPONENT_NGRAPH_DESCRIPTION "OpenVINO ngraph") + # admin, devel, doc, see https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections + # set(CPACK_DEBIAN_ngraph_PACKAGE_SECTION devel) + # see required, important, standard, optional, extra + # https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities + # set(CPACK_DEBIAN_ngraph_PACKAGE_PRIORITY standard) + + # ngraph-dev + set(CPACK_COMPONENT_NGRAPH_DEV_DESCRIPTION "OpenVINO ngraph development files") + set(CPACK_COMPONENT_NGRAPH_DEV_DEPENDS "ngraph") + + # core + set(CPACK_COMPONENT_CORE_DESCRIPTION "OpenVINO core runtime") + set(CPACK_COMPONENT_CORE_DEPENDS "ngraph") + # TODO: should be discovered automatically + # TODO: install build dependencies libpugixml-dev, libtbb-dev + set(CPACK_DEBIAN_CORE_PACKAGE_DEPENDS "libpugixml1v5") + + # hetero + set(CPACK_COMPONENT_hetero_DESCRIPTION "OpenVINO Hetero plugin") + set(CPACK_COMPONENT_HETERO_DEPENDS "core") + + # core_dev + set(CPACK_COMPONENT_CODE_DEV_DESCRIPTION "OpenVINO core dev runtime") + set(CPACK_COMPONENT_COR_DEV_DEPENDS "ngraph_dev;core") + # set(CPACK_DEBIAN_CORE_PACKAGE_DEPENDS "libtbb-dev") + # set(CPACK_DEBIAN_core_dev_PACKAGE_CONFLICTS "!!!") + + # core_c + set(CPACK_COMPONENT_core_c_DESCRIPTION "OpenVINO C core runtime") + set(CPACK_COMPONENT_CORE_C_DEPENDS "core") + + # core_c_dev + set(CPACK_COMPONENT_core_c_dev_DESCRIPTION "OpenVINO C dev runtime") + set(CPACK_COMPONENT_CORE_C_DEV_DEPENDS "core_c;core_dev") + # set(CPACK_DEBIAN_core_dev_PACKAGE_CONFLICTS "!!!") + + # core tools + set(CPACK_COMPONENT_CORE_TOOLS_DESCRIPTION "OpenVINO Core Tools") + set(CPACK_COMPONENT_CORE_TOOLS_DEPENDS "core") + set(CPACK_DEBIAN_CORE_TOOLS_PACKAGE_RECOMMENDS "openvino-hetero (= ${CPACK_PACKAGE_VERSION})") + + # cpp_samples + set(CPACK_COMPONENT_CPP_SAMPLES_DESCRIPTION "OpenVINO C++ samples") + set(CPACK_COMPONENT_CPP_SAMPLES_DEPENDS "core_dev") + set(CPACK_DEBIAN_CPP_SAMPLES_PACKAGE_RECOMMENDS "openvino-hetero (= ${CPACK_PACKAGE_VERSION})") + set(CPACK_DEBIAN_CPP_SAMPLES_PACKAGE_DEPENDS "libgflags-dev, nlohmann-json3-dev, zlib1g-dev") + + # c_samples + set(CPACK_COMPONENT_C_SAMPLES_DESCRIPTION "OpenVINO C samples") + set(CPACK_COMPONENT_C_SAMPLES_DEPENDS "core_c_dev") endif() include(CPack) diff --git a/cmake/developer_package/vs_version/vs_version.cmake b/cmake/developer_package/vs_version/vs_version.cmake index df959467776..95184547e5f 100644 --- a/cmake/developer_package/vs_version/vs_version.cmake +++ b/cmake/developer_package/vs_version/vs_version.cmake @@ -10,7 +10,7 @@ set(IE_VS_VER_COMPANY_NAME_STR "Intel Corporation") set(IE_VS_VER_PRODUCTVERSION_STR "${CI_BUILD_NUMBER}") set(IE_VS_VER_PRODUCTNAME_STR "OpenVINO toolkit") set(IE_VS_VER_COPYRIGHT_STR "Copyright (C) 2018-2021, Intel Corporation") -set(IE_VS_VER_COMMENTS_STR "https://docs.openvinotoolkit.org/") +set(IE_VS_VER_COMMENTS_STR "https://docs.openvino.ai/") # # ie_add_vs_version_file(NAME diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index 0212511f7b8..a23da3a3ae3 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -73,18 +73,16 @@ install(DIRECTORY python/ # install scripts to run samples fast -ie_cpack_add_component(demo_scripts DEPENDS core) - if(UNIX) install(DIRECTORY scripts/ DESTINATION samples/scripts - COMPONENT demo_scripts + COMPONENT cpp_samples USE_SOURCE_PERMISSIONS PATTERN *.bat EXCLUDE) elseif(WIN32) install(DIRECTORY scripts/ DESTINATION samples/scripts - COMPONENT demo_scripts + COMPONENT cpp_samples USE_SOURCE_PERMISSIONS PATTERN *.sh EXCLUDE) endif() diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index e4e1e9ea919..48b70380677 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -132,7 +132,7 @@ install(TARGETS ngraph EXPORT OpenVINOTargets INCLUDES DESTINATION include) install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ - DESTINATION "runtime/include" + DESTINATION include COMPONENT ngraph_dev FILES_MATCHING PATTERN "*.hpp" @@ -148,5 +148,5 @@ write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/ngraphConfigVersion install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ngraphConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/ngraphConfigVersion.cmake - DESTINATION "runtime/cmake" + DESTINATION cmake COMPONENT ngraph_dev) diff --git a/src/inference/CMakeLists.txt b/src/inference/CMakeLists.txt index 1af003f5c6a..8ff0bcfe0f5 100644 --- a/src/inference/CMakeLists.txt +++ b/src/inference/CMakeLists.txt @@ -270,41 +270,41 @@ if(THREADING MATCHES "^(TBB|TBB_AUTO)$" AND TBBROOT MATCHES ${TEMP}) ie_cpack_add_component(tbb REQUIRED) list(APPEND core_components tbb) - install(DIRECTORY "${TBB}/include" - DESTINATION runtime/3rdparty/tbb - COMPONENT tbb) - install(DIRECTORY "${TBB}/lib" - DESTINATION runtime/3rdparty/tbb - COMPONENT tbb) - # Windows only - if(EXISTS "${TBB}/bin") - install(DIRECTORY "${TBB}/bin" - DESTINATION runtime/3rdparty/tbb - COMPONENT tbb) - endif() - install(FILES "${TBB}/LICENSE" - DESTINATION runtime/3rdparty/tbb - COMPONENT tbb) + # install(DIRECTORY "${TBB}/include" + # DESTINATION runtime/3rdparty/tbb + # COMPONENT tbb) + # install(DIRECTORY "${TBB}/lib" + # DESTINATION runtime/3rdparty/tbb + # COMPONENT tbb) + # # Windows only + # if(EXISTS "${TBB}/bin") + # install(DIRECTORY "${TBB}/bin" + # DESTINATION runtime/3rdparty/tbb + # COMPONENT tbb) + # endif() + # install(FILES "${TBB}/LICENSE" + # DESTINATION runtime/3rdparty/tbb + # COMPONENT tbb) - set(IE_TBB_DIR_INSTALL "3rdparty/tbb/cmake") - install(FILES "${TBB}/cmake/TBBConfig.cmake" - "${TBB}/cmake/TBBConfigVersion.cmake" - DESTINATION runtime/${IE_TBB_DIR_INSTALL} - COMPONENT tbb) + # set(IE_TBB_DIR_INSTALL "3rdparty/tbb/cmake") + # install(FILES "${TBB}/cmake/TBBConfig.cmake" + # "${TBB}/cmake/TBBConfigVersion.cmake" + # DESTINATION runtime/${IE_TBB_DIR_INSTALL} + # COMPONENT tbb) endif() if(install_tbbbind) - install(DIRECTORY "${TBBBIND_2_5}/lib" - DESTINATION runtime/3rdparty/tbb_bind_2_5 - COMPONENT tbb) - install(FILES "${TBBBIND_2_5}/LICENSE" - DESTINATION runtime/3rdparty/tbb_bind_2_5 - COMPONENT tbb) + # install(DIRECTORY "${TBBBIND_2_5}/lib" + # DESTINATION runtime/3rdparty/tbb_bind_2_5 + # COMPONENT tbb) + # install(FILES "${TBBBIND_2_5}/LICENSE" + # DESTINATION runtime/3rdparty/tbb_bind_2_5 + # COMPONENT tbb) - set(IE_TBBBIND_DIR_INSTALL "3rdparty/tbb_bind_2_5/cmake") - install(FILES "${TBBBIND_2_5}/cmake/TBBBIND_2_5Config.cmake" - DESTINATION runtime/${IE_TBBBIND_DIR_INSTALL} - COMPONENT tbb) + # set(IE_TBBBIND_DIR_INSTALL "3rdparty/tbb_bind_2_5/cmake") + # install(FILES "${TBBBIND_2_5}/cmake/TBBBIND_2_5Config.cmake" + # DESTINATION runtime/${IE_TBBBIND_DIR_INSTALL} + # COMPONENT tbb) endif() # Install Inference Engine diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index 859b6f29c58..cea7fa453cf 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -200,19 +200,17 @@ endif() # Install # -ie_cpack_add_component(cpp_samples_deps) - install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/gflags DESTINATION "samples/cpp/thirdparty" - COMPONENT cpp_samples_deps + COMPONENT cpp_samples USE_SOURCE_PERMISSIONS) install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/zlib DESTINATION "samples/cpp/thirdparty" - COMPONENT cpp_samples_deps + COMPONENT cpp_samples USE_SOURCE_PERMISSIONS) install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/cnpy DESTINATION "samples/cpp/thirdparty" - COMPONENT cpp_samples_deps + COMPONENT cpp_samples USE_SOURCE_PERMISSIONS)