Library versions & made tests relocatable (#12416)
* Fixes for cases when TBB_DIR env var is set * Don't use make in build_samples.sh script * First version of Windows installer * WIndows NSIS installer * Improved version of debian packages * Improvements * Improvements * Debian packages now look good * Library versioning * Fixed tests to run against debian packages * Fixed frontend tests * Fixed code style * FIxed Windows * Fixed python tests * Fixed paths in tests * fdvfdv * Fixes * USe versioning only for debian packages * Relocatable tests * Fixed * Fixed all tests * Fixed clang-format * Fixed more tests * Fixed some tests * Absolute paths in .ci * Fixes * Added support of OpenCV 3.4 * Trying to fix gnaUnitTests
This commit is contained in:
1 parent
b9126fe6ea
commit
6ca47b074d
87 files changed
+803
-712
No files matched your search
@@ -14,7 +14,7 @@ set(CMAKE_MODULE_PATH "${IEDevScripts_DIR}")
|
||||
function(set_ci_build_number)
|
||||
set(repo_root "${CMAKE_SOURCE_DIR}")
|
||||
include(version)
|
||||
foreach(var CI_BUILD_NUMBER OpenVINO_VERSION OpenVINO_VERSION_BUILD
|
||||
foreach(var CI_BUILD_NUMBER OpenVINO_VERSION OpenVINO_SOVERSION OpenVINO_VERSION_SUFFIX OpenVINO_VERSION_BUILD
|
||||
OpenVINO_VERSION_MAJOR OpenVINO_VERSION_MINOR OpenVINO_VERSION_PATCH)
|
||||
if(NOT DEFINED ${var})
|
||||
message(FATAL_ERROR "${var} version component is not defined")
|
||||
@@ -87,7 +87,6 @@ endif()
|
||||
# Common scripts
|
||||
#
|
||||
|
||||
include(packaging/packaging)
|
||||
include(coverage/coverage)
|
||||
include(shellcheck/shellcheck)
|
||||
|
||||
@@ -164,13 +163,8 @@ macro(ov_set_if_not_defined var value)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
if(NOT UNIX)
|
||||
ov_set_if_not_defined(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
else()
|
||||
ov_set_if_not_defined(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/lib)
|
||||
ov_set_if_not_defined(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/lib)
|
||||
endif()
|
||||
ov_set_if_not_defined(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
@@ -195,6 +189,8 @@ set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "Don't warn about obsolete cmake versio
|
||||
set(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION ON CACHE BOOL "Warn about absolute paths in destination")
|
||||
set(CMAKE_SKIP_INSTALL_RPATH ON)
|
||||
|
||||
include(packaging/packaging)
|
||||
|
||||
# LTO
|
||||
|
||||
if(ENABLE_LTO)
|
||||
|
||||
@@ -196,13 +196,7 @@ macro(ov_add_frontend)
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime)
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ${OV_FRONTEND_LINK_LIBRARIES})
|
||||
|
||||
# TODO: define proper library version, currently SOVERSION 2022
|
||||
if(CPACK_GENERATOR STREQUAL "DEB")
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||
SOVERSION ${OpenVINO_VERSION_MAJOR}
|
||||
VERSION ${OpenVINO_VERSION})
|
||||
endif()
|
||||
ov_add_library_version(${TARGET_NAME})
|
||||
|
||||
# WA for TF frontends which always require protobuf (not protobuf-lite)
|
||||
# if TF FE is built in static mode, use protobuf for all other FEs
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
openvino (2022.2.0) unstable; urgency=low
|
||||
|
||||
[Ilya Lavrenov]
|
||||
* Implemented Debian packages support
|
||||
* Support of Ubuntu 22.04
|
||||
* Support of python 3.10
|
||||
@@ -10,7 +9,6 @@ openvino (2022.2.0) unstable; urgency=low
|
||||
|
||||
openvino (2022.1.0) unstable; urgency=low
|
||||
|
||||
[Ilya Lavrenov]
|
||||
* Implemented OpenVINO 2.0 Runtime API for both C++ and Python
|
||||
* Introduced IR v11 which is aligned with frameworks model format
|
||||
|
||||
|
||||
@@ -16,17 +16,18 @@ macro(ov_debian_cpack_set_dirs)
|
||||
set(OV_CPACK_LIBRARYDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
set(OV_CPACK_RUNTIMEDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
set(OV_CPACK_ARCHIVEDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
set(OV_CPACK_PLUGINSDIR ${CMAKE_INSTALL_LIBDIR}/openvino${OpenVINO_VERSION})
|
||||
set(OV_CPACK_PLUGINSDIR ${CMAKE_INSTALL_LIBDIR}/openvino-${OpenVINO_VERSION})
|
||||
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
|
||||
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
|
||||
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
|
||||
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino${OpenVINO_VERSION})
|
||||
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
|
||||
|
||||
# non-native stuff
|
||||
set(OV_CPACK_PYTHONDIR ${OV_CPACK_PLUGINSDIR})
|
||||
set(OV_CPACK_SHAREDIR ${CMAKE_INSTALL_DATADIR}/openvino${OpenVINO_VERSION}) # internal
|
||||
set(OV_CPACK_SHAREDIR ${CMAKE_INSTALL_DATADIR}/openvino-${OpenVINO_VERSION}) # internal
|
||||
set(OV_CPACK_SAMPLESDIR ${OV_CPACK_SHAREDIR}/samples)
|
||||
set(OV_CPACK_DEVREQDIR ${OV_CPACK_SHAREDIR})
|
||||
unset(OV_CPACK_SHAREDIR)
|
||||
|
||||
set(OV_CPACK_WHEELSDIR .) # TODO
|
||||
|
||||
@@ -88,12 +89,17 @@ macro(ov_debian_specific_settings)
|
||||
|
||||
# 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
|
||||
# but it requires CMake source code changes
|
||||
# with current WA automatic deps detection via dpkg-shlibdeps for "our libraries"
|
||||
# is ignored; but dependencies 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}")
|
||||
|
||||
if(DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
|
||||
else()
|
||||
message(FATAL_ERROR "CMAKE_LIBRARY_OUTPUT_DIRECTORY is empty")
|
||||
endif()
|
||||
|
||||
# automatic dependencies discovering between openvino and user packages
|
||||
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
|
||||
@@ -103,6 +109,8 @@ macro(ov_debian_specific_settings)
|
||||
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
|
||||
# need to update this version once we rebuild the same package with additional fixes
|
||||
# set(CPACK_DEBIAN_PACKAGE_RELEASE "1")
|
||||
# enable this if someday we change the version scheme
|
||||
# set(CPACK_DEBIAN_PACKAGE_EPOCH "2")
|
||||
endmacro()
|
||||
|
||||
ov_debian_specific_settings()
|
||||
@@ -208,25 +216,25 @@ endfunction()
|
||||
# ov_debian_generate_conflicts(<comp name>)
|
||||
#
|
||||
function(ov_debian_generate_conflicts comp)
|
||||
set(versions ${ARGN})
|
||||
set(cpack_name_versions ${ARGN})
|
||||
string(TOUPPER "${comp}" ucomp)
|
||||
|
||||
# sanity check
|
||||
if(NOT DEFINED CPACK_DEBIAN_${ucomp}_PACKAGE_NAME)
|
||||
message(FATAL_ERROR "CPACK_DEBIAN_${ucomp}_PACKAGE_NAME is not defined")
|
||||
else()
|
||||
if(NOT DEFINED CPACK_PACKAGE_VERSION)
|
||||
message(FATAL_ERROR "CPACK_PACKAGE_VERSION is not defined")
|
||||
if(NOT DEFINED cpack_name_ver)
|
||||
message(FATAL_ERROR "Internal variable 'cpack_name_ver' is not defined")
|
||||
endif()
|
||||
|
||||
string(REPLACE "${CPACK_PACKAGE_VERSION}" "" package_name_base "${CPACK_DEBIAN_${ucomp}_PACKAGE_NAME}")
|
||||
string(REPLACE "${cpack_name_ver}" "" package_name_base "${CPACK_DEBIAN_${ucomp}_PACKAGE_NAME}")
|
||||
endif()
|
||||
|
||||
foreach(version IN LISTS versions)
|
||||
foreach(cpack_name_version IN LISTS cpack_name_versions)
|
||||
if(package_names)
|
||||
set(package_names "${package_names}, ${package_name_base}${version}")
|
||||
set(package_names "${package_names}, ${package_name_base}${cpack_name_version}")
|
||||
else()
|
||||
set(package_names "${package_name_base}${version}")
|
||||
set(package_names "${package_name_base}${cpack_name_version}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
@@ -250,7 +258,7 @@ macro(ov_debian_add_latest_component comp)
|
||||
|
||||
# take package name
|
||||
if(DEFINED CPACK_DEBIAN_${ucomp}_PACKAGE_NAME)
|
||||
string(REPLACE "-${cpack_ver_mm}" ""
|
||||
string(REPLACE "-${cpack_name_ver}" ""
|
||||
CPACK_DEBIAN_${upper_case}_PACKAGE_NAME
|
||||
"${CPACK_DEBIAN_${ucomp}_PACKAGE_NAME}")
|
||||
else()
|
||||
|
||||
@@ -158,6 +158,10 @@ macro(ie_cpack)
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_VERSION "${OpenVINO_VERSION}")
|
||||
if(NOT OpenVINO_VERSION_BUILD STREQUAL "000")
|
||||
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.${OpenVINO_VERSION_BUILD}")
|
||||
endif()
|
||||
|
||||
foreach(ver MAJOR MINOR PATCH)
|
||||
if(DEFINED OpenVINO_VERSION_${ver})
|
||||
set(CPACK_PACKAGE_VERSION_${ver} ${OpenVINO_VERSION_${ver}})
|
||||
|
||||
@@ -93,7 +93,14 @@ macro(ov_parse_ci_build_number)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
set(OpenVINO_SOVERSION "${OpenVINO_VERSION_MAJOR}${OpenVINO_VERSION_MINOR}${OpenVINO_VERSION_PATCH}")
|
||||
set(OpenVINO_VERSION "${OpenVINO_VERSION_MAJOR}.${OpenVINO_VERSION_MINOR}.${OpenVINO_VERSION_PATCH}")
|
||||
# TODO: remove DEB later
|
||||
if(WIN32 OR NOT CPACK_GENERATOR STREQUAL "DEB")
|
||||
set(OpenVINO_VERSION_SUFFIX "")
|
||||
else()
|
||||
set(OpenVINO_VERSION_SUFFIX ".${OpenVINO_VERSION}")
|
||||
endif()
|
||||
message(STATUS "OpenVINO version is ${OpenVINO_VERSION} (Build ${OpenVINO_VERSION_BUILD})")
|
||||
endmacro()
|
||||
|
||||
@@ -131,3 +138,15 @@ macro (addVersionDefines FILE)
|
||||
endforeach()
|
||||
unset(__version_file)
|
||||
endmacro()
|
||||
|
||||
function(ov_add_library_version library)
|
||||
if(CPACK_GENERATOR STREQUAL "DEB")
|
||||
if(NOT DEFINED OpenVINO_SOVERSION)
|
||||
message(FATAL_ERROR "Internal error: OpenVINO_SOVERSION is not defined")
|
||||
endif()
|
||||
|
||||
set_target_properties(${library} PROPERTIES
|
||||
SOVERSION ${OpenVINO_SOVERSION}
|
||||
VERSION ${OpenVINO_VERSION})
|
||||
endif()
|
||||
endfunction()
|
||||
Reference in new issue
Block a user