Last fixes

This commit is contained in:
Ilya Lavrenov 2021-12-07 19:19:58 +03:00
parent 311529ce50
commit b4b5149e84
13 changed files with 92 additions and 26 deletions

View File

@ -176,6 +176,8 @@ macro(ov_add_frontend)
ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES SOVERSION 2022.1.1)
target_link_libraries(${TARGET_NAME} PRIVATE frontend_common::static ${OV_FRONTEND_LINK_LIBRARIES})
# WA for TF frontends which always requires protobuf (not protobuf-lite)
@ -218,7 +220,8 @@ macro(ov_add_frontend)
install(TARGETS ${TARGET_NAME} ${export_set}
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core
ARCHIVE DESTINATION ${IE_CPACK_ARCHIVE_PATH} COMPONENT core
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core)
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core
NAMELINK_COMPONENT core_dev)
else()
ov_install_static_lib(${TARGET_NAME} core)
endif()

View File

@ -57,10 +57,11 @@ set(OV_COMP_CORE "core")
set(OV_COMP_CORE_C "core_c")
set(OV_COMP_CORE_DEV "core_dev")
set(OV_COMP_CORE_C_DEV "core_c_dev")
set(OV_COMP_CORE_TOOLS "core_tools")
set(OV_COMP_CPP_SAMPLES "cpp_samples")
set(OV_COMP_C_SAMPLES "c_samples")
set(OV_COMP_PYTHON_SAMPLES "python_samples")
set(OV_COMP_PYTHON_IE_API "peie")
set(OV_COMP_PYTHON_IE_API "pyie")
set(OV_COMP_PYTHON_NGRAPH "pyngraph")
set(OV_COMP_PYTHON_OPENVINO "pyopenvino")
set(OV_COMP_DEV_REQ_FILES "openvino_dev_req_files")
@ -79,6 +80,8 @@ if(CPACK_GENERATOR STREQUAL "DEB")
set(OV_COMP_C_SAMPLES "samples")
# move requirements.txt to core-dev
set(OV_COMP_DEV_REQ_FILES "${OV_COMP_CORE_DEV}")
# move core_tools to core-dev
set(OV_COMP_CORE_TOOLS "${OV_COMP_CORE_DEV}")
endif()
macro(ie_cpack)
@ -162,7 +165,7 @@ macro(ie_cpack)
# enable dependencies between components
set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON)
# control file permissions
set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION ON)
set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION OFF)
# homepage
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://docs.openvino.ai/")
# enable for debug cpack run
@ -170,6 +173,15 @@ macro(ie_cpack)
set(CPACK_DEBIAN_PACKAGE_DEBUG OFF)
endif()
# WA: dpkg-shlibdeps requires folder with libraries
# proper way is to use -l (path to libs) and -L (path to shlibs) for other already installed components
# but it require CMake source code changes
# with current WA automatic deps detection via dpkg-shlibdeps for "our libraries"
# is ignored; but dependnencies between our components are here because of
# CPACK_COMPONENT_<UCOMP>_DEPENDS variables
# More proper WA is try to enable INSTALL_RPATH
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
# automatic dependencies discovering
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
# OpenVINO does not have backward and forward compatibility
@ -184,14 +196,9 @@ macro(ie_cpack)
list(APPEND lines "copyright-without-copyright-notice")
# TODO: fix
list(APPEND lines "changelog-file-missing-in-native-package")
# add SOVERSION
list(APPEND lines "package-must-activate-ldconfig-trigger")
# add SOVERSION
list(APPEND lines "shlib-without-versioned-soname")
# add SOVERSION
list(APPEND lines "sharedobject-in-library-directory-missing-soname")
list(APPEND lines "maintscript-calls-ldconfig postinst")
list(APPEND lines "maintscript-calls-ldconfig postrm")
# TODO: remove them
list(APPEND lines "maintainer-script-empty postinst")
list(APPEND lines "maintainer-script-empty postrm")
string(TOUPPER "${comp}" ucomp)
if(NOT DEFINED CPACK_DEBIAN_${ucomp}_PACKAGE_NAME)
@ -217,6 +224,15 @@ macro(ie_cpack)
COMPONENT ${comp})
endfunction()
# needed to override cmake auto generated files
set(def_postinst "${OpenVINO_BINARY_DIR}/_CPack_Packages/postinst")
set(def_postrm "${OpenVINO_BINARY_DIR}/_CPack_Packages/postrm")
set(triggers_content "activate-noawait ldconfig")
set(def_triggers "${OpenVINO_BINARY_DIR}/_CPack_Packages/triggers/${package_name}/triggers")
file(WRITE "${def_postinst}" "#!/bin/sh\n\nset -e\n\n")
file(WRITE "${def_postrm}" "#!/bin/sh\n\nset -e\n\n")
file(WRITE "${def_triggers}" "${triggers_content}")
#
# OpenVINO Core components including frontends
#
@ -227,6 +243,8 @@ macro(ie_cpack)
set(CPACK_COMPONENT_CORE_DEPENDS "install_dependencies;licensing")
# TODO: build with system pugixml and depend on libpugixml1v5
# set(CPACK_DEBIAN_CORE_PACKAGE_DEPENDS "libpugixml1v5")
set(CPACK_DEBIAN_CORE_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm};${def_triggers}")
ov_add_lintian_suppression(core
# OpenVINO runtime library is named differently
"package-name-doesnt-match-sonames")
@ -250,6 +268,7 @@ macro(ie_cpack)
set(CPACK_COMPONENT_HETERO_DESCRIPTION "OpenVINO Hetero plugin")
set(CPACK_COMPONENT_HETERO_DEPENDS "core")
set(CPACK_DEBIAN_HETERO_PACKAGE_NAME "libopenvino-hetero")
set(CPACK_DEBIAN_HETERO_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm};${def_triggers}")
endif()
# multi / auto plugins
@ -257,6 +276,7 @@ macro(ie_cpack)
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Multi / Auto plugin")
set(CPACK_COMPONENT_MULTI_DEPENDS "core")
set(CPACK_DEBIAN_MULTI_PACKAGE_NAME "libopenvino-auto")
set(CPACK_DEBIAN_MULTI_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm};${def_triggers}")
endif()
# cpu
@ -265,6 +285,7 @@ macro(ie_cpack)
set(CPACK_COMPONENT_CPU_DEPENDS "core")
set(CPACK_DEBIAN_CPU_PACKAGE_NAME "libopenvino-intel-cpu")
set(CPACK_DEBIAN_CPU_PACKAGE_SUGGESTS "libopenvino-multi (= ${CPACK_PACKAGE_VERSION}), libopenvino-hetero (= ${CPACK_PACKAGE_VERSION})")
set(CPACK_DEBIAN_CPU_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm};${def_triggers}")
endif()
# gpu
@ -273,6 +294,7 @@ macro(ie_cpack)
set(CPACK_COMPONENT_GPU_DEPENDS "core")
set(CPACK_DEBIAN_GPU_PACKAGE_NAME "libopenvino-intel-gpu")
set(CPACK_DEBIAN_GPU_PACKAGE_SUGGESTS "libopenvino-multi (= ${CPACK_PACKAGE_VERSION}), libopenvino-hetero (= ${CPACK_PACKAGE_VERSION})")
set(CPACK_DEBIAN_GPU_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm};${def_triggers}")
endif()
# myriad
@ -281,14 +303,17 @@ macro(ie_cpack)
set(CPACK_COMPONENT_MYRIAD_DEPENDS "core")
set(CPACK_DEBIAN_MYRIAD_PACKAGE_NAME "libopenvino-intel-myriad")
set(CPACK_DEBIAN_MYRIAD_PACKAGE_SUGGESTS "libopenvino-multi (= ${CPACK_PACKAGE_VERSION}), libopenvino-hetero (= ${CPACK_PACKAGE_VERSION})")
set(CPACK_DEBIAN_MYRIAD_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm};${def_triggers}")
endif()
# gna
if(ENABLE_INTEL_GNA)
set(CPACK_COMPONENT_GNA_DESCRIPTION "OpenVINO Intel GNA plugin")
set(CPACK_COMPONENT_GNA_DEPENDS "core")
set(CPACK_DEFIAN_GNA_PACKAGE_SHLIBDEPS OFF)
set(CPACK_DEBIAN_GNA_PACKAGE_NAME "libopenvino-intel-gna")
set(CPACK_DEBIAN_GNA_PACKAGE_SUGGESTS "libopenvino-multi (= ${CPACK_PACKAGE_VERSION}), libopenvino-hetero (= ${CPACK_PACKAGE_VERSION})")
set(CPACK_DEBIAN_GNA_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm};${def_triggers}")
endif()
#
@ -329,6 +354,11 @@ macro(ie_cpack)
set(CPACK_DEBIAN_INSTALL_DEPENDENCIES_PACKAGE_DEPENDS "python3, TODO")
set(CPACK_DEBIAN_INSTALL_DEPENDENCIES_PACKAGE_ARCHITECTURE "all")
# install dependencies
set(CPACK_COMPONENT_CORE_TOOLS_DESCRIPTION "OpenVINO Tools")
set(CPACK_COMPONENT_CORE_TOOLS_DEPENDS "core")
set(CPACK_DEBIAN_CORE_TOOLS_PACKAGE_NAME "libopenvino-tools")
# licensing
set(CPACK_COMPONENT_LICENSING_DESCRIPTION "OpenVINO lincences")
set(CPACK_DEBIAN_LICENSING_PACKAGE_NAME "libopenvino-licensing")
@ -346,6 +376,15 @@ macro(ie_cpack)
RENAME copyright)
# TODO: changelog
# triggers
set(triggers_content "activate-noawait ldconfig")
set(triggers_file "${OpenVINO_BINARY_DIR}/_CPack_Packages/triggers/${package_name}/triggers")
file(REMOVE ${triggers_file})
file(WRITE ${triggers_file} ${triggers_content})
install(FILES ${triggers_file}
DESTINATION ../DEBIAN/
COMPONENT ${comp})
endforeach()
endif()

View File

@ -77,6 +77,8 @@ function(ie_add_plugin)
endif()
endif()
set_target_properties(${IE_PLUGIN_NAME} PROPERTIES SOVERSION 2022.1.1)
ie_add_vs_version_file(NAME ${IE_PLUGIN_NAME}
FILEDESCRIPTION "Inference Engine ${IE_PLUGIN_DEVICE_NAME} device plugin library")
@ -142,7 +144,8 @@ function(ie_add_plugin)
if(BUILD_SHARED_LIBS)
install(TARGETS ${IE_PLUGIN_NAME}
LIBRARY DESTINATION ${IE_CPACK_RUNTIME_PATH}
COMPONENT ${install_component})
COMPONENT ${install_component}
NAMELINK_SKIP)
else()
ov_install_static_lib(${IE_PLUGIN_NAME} ${install_component})
endif()

View File

@ -30,7 +30,8 @@ ie_add_vs_version_file(NAME ${TARGET_NAME}
# export
set_target_properties(${TARGET_NAME} PROPERTIES EXPORT_NAME runtime::c)
set_target_properties(${TARGET_NAME} PROPERTIES EXPORT_NAME runtime::c
SOVERSION 2022.1.1)
export(TARGETS ${TARGET_NAME} NAMESPACE openvino::
APPEND FILE "${CMAKE_BINARY_DIR}/OpenVINOTargets.cmake")
@ -45,6 +46,7 @@ install(TARGETS ${TARGET_NAME} EXPORT OpenVINOTargets
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT ${OV_COMP_CORE_C}
ARCHIVE DESTINATION ${IE_CPACK_ARCHIVE_PATH} COMPONENT ${OV_COMP_CORE_C}
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT ${OV_COMP_CORE_C}
NAMELINK_COMPONENT ${OV_COMP_CORE_C_DEV}
INCLUDES DESTINATION include/ie)
install(DIRECTORY ${InferenceEngine_C_API_SOURCE_DIR}/include/

View File

@ -57,6 +57,8 @@ add_library(${TARGET_NAME} EXCLUDE_FROM_ALL
${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp
$<TARGET_OBJECTS:${TARGET_NAME}_obj>)
set_target_properties(${TARGET_NAME} PROPERTIES SOVERSION 2022.1.1)
ie_add_vs_version_file(NAME ${TARGET_NAME}
FILEDESCRIPTION "Inference Engine Legacy library")
@ -83,7 +85,8 @@ openvino_developer_export_targets(COMPONENT inference_engine TARGETS ${TARGET_NA
if(BUILD_SHARED_LIBS)
install(TARGETS ${TARGET_NAME}
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core)
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core
NAMELINK_COMPONENT core_dev)
else()
ov_install_static_lib(${TARGET_NAME} core)
endif()

View File

@ -36,6 +36,8 @@ add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES SOVERSION 2022.1.1)
# LTO
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
@ -50,6 +52,7 @@ if(BUILD_SHARED_LIBS)
install(TARGETS ${TARGET_NAME}
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core
NAMELINK_COMPONENT core_dev
OPTIONAL)
else()
ov_install_static_lib(${TARGET_NAME} core)

View File

@ -120,7 +120,7 @@ add_cpplint_target(${TARGET_NAME}_obj_cpplint FOR_TARGETS ${TARGET_NAME}_obj)
set(library_sources $<TARGET_OBJECTS:${TARGET_NAME}_obj>)
if(BUILD_SHARED_LIBS)
set(library_type MODULE)
set(library_type SHARED)
else()
if(ENABLE_GAPI_PREPROCESSING)
set(library_type STATIC)
@ -149,6 +149,8 @@ else()
target_link_libraries(inference_engine PRIVATE ${TARGET_NAME})
endif()
set_target_properties(${TARGET_NAME} PROPERTIES SOVERSION 2022.1.1)
target_include_directories(${TARGET_NAME} INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<TARGET_PROPERTY:inference_engine,INTERFACE_INCLUDE_DIRECTORIES>)
@ -203,7 +205,8 @@ openvino_developer_export_targets(COMPONENT inference_engine TARGETS ${TARGET_NA
if(BUILD_SHARED_LIBS)
install(TARGETS ${TARGET_NAME}
LIBRARY DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core)
LIBRARY DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core
NAMELINK_COMPONENT core_dev)
else()
ov_install_static_lib(${TARGET_NAME} core)
endif()

View File

@ -42,6 +42,8 @@ ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
ie_mark_target_as_cc(${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES SOVERSION 2022.1.1)
# LTO
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
@ -64,4 +66,6 @@ openvino_developer_export_targets(COMPONENT inference_engine TARGETS ${TARGET_NA
# TODO: remove once install commands above are commented out
install(TARGETS ${TARGET_NAME}
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT tests EXCLUDE_FROM_ALL
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT tests EXCLUDE_FROM_ALL)
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT tests EXCLUDE_FROM_ALL
NAMELINK_COMPONENT core_dev
OPTIONAL)

View File

@ -39,6 +39,8 @@ ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
ie_mark_target_as_cc(${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES SOVERSION 2022.1.1)
# LTO
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
@ -52,4 +54,5 @@ openvino_developer_export_targets(COMPONENT inference_engine TARGETS ${TARGET_NA
install(TARGETS ${TARGET_NAME} EXPORT OpenVINOTargets
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core
ARCHIVE DESTINATION ${IE_CPACK_ARCHIVE_PATH} COMPONENT core
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core)
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core
NAMELINK_COMPONENT core_dev)

View File

@ -114,7 +114,8 @@ target_link_libraries(ngraph PRIVATE ${CMAKE_DL_LIBS})
# Export for build tree
#-----------------------------------------------------------------------------------------------
set_target_properties(ngraph PROPERTIES EXPORT_NAME core)
set_target_properties(ngraph PROPERTIES EXPORT_NAME core
SOVERSION 2022.1.1)
export(TARGETS ngraph NAMESPACE openvino::
APPEND FILE "${CMAKE_BINARY_DIR}/OpenVINOTargets.cmake")
@ -126,6 +127,7 @@ install(TARGETS ngraph EXPORT OpenVINOTargets
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core
ARCHIVE DESTINATION ${IE_CPACK_ARCHIVE_PATH} COMPONENT core
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core
NAMELINK_COMPONENT core_dev
INCLUDES DESTINATION include)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/

View File

@ -45,6 +45,8 @@ set_property(SOURCE
FRONTEND_LIB_PREFIX="${CMAKE_SHARED_LIBRARY_PREFIX}"
FRONTEND_LIB_SUFFIX="${FRONTEND_NAME_SUFFIX}${IE_BUILD_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}")
set_target_properties(${TARGET_NAME} PROPERTIES SOVERSION 2022.1.1)
add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME})
ov_ncc_naming_style(FOR_TARGET ${TARGET_NAME}
@ -80,7 +82,8 @@ set_target_properties(${TARGET_NAME} PROPERTIES EXPORT_NAME frontend::common)
install(TARGETS ${TARGET_NAME} EXPORT OpenVINOTargets
RUNTIME DESTINATION ${IE_CPACK_RUNTIME_PATH} COMPONENT core
ARCHIVE DESTINATION ${IE_CPACK_ARCHIVE_PATH} COMPONENT core
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core)
LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT core
NAMELINK_COMPONENT core_dev)
install(DIRECTORY ${FRONTEND_INCLUDE_DIR}/common
DESTINATION ${FRONTEND_INSTALL_INCLUDE}

View File

@ -312,10 +312,8 @@ endif()
ie_cpack_add_component(core REQUIRED DEPENDS ${core_components})
ie_cpack_add_component(core_dev REQUIRED core)
set_target_properties(inference_engine PROPERTIES
OUTPUT_NAME openvino
# SOVERSION 2022.1
)
set_target_properties(inference_engine PROPERTIES OUTPUT_NAME openvino
SOVERSION 2022.1.1)
install(DIRECTORY "${PUBLIC_HEADERS_DIR}/"
DESTINATION include

View File

@ -38,9 +38,9 @@ add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
# TODO: check the proper location
install(TARGETS compile_tool
RUNTIME DESTINATION bin
COMPONENT core_dev)
COMPONENT ${OV_COMP_CORE_TOOLS})
# TODO
# install(FILES README.md
# DESTINATION share/openvino/tools/compile_tool
# COMPONENT core_dev)
# COMPONENT ${OV_COMP_CORE_TOOLS})