set(CI_BUILD_NUMBER "${CI_BUILD_NUMBER}" PARENT_SCOPE)
endfunction()
set_ci_build_number()
+
+include(vs_version/vs_version)
--- /dev/null
+# Copyright (C) 2020 Intel Corporation
+# SPDX-License-Identifier: Apache-2.0
+#
+
+macro(ie_parse_ci_build_number)
+ if(CI_BUILD_NUMBER MATCHES "^([0-9]+)\.([0-9]+)\.([0-9]+)\-.*")
+ set(IE_VERSION_MAJOR ${CMAKE_MATCH_1})
+ set(IE_VERSION_MINOR ${CMAKE_MATCH_2})
+ set(IE_VERSION_PATCH ${CMAKE_MATCH_3})
+ set(IE_VS_VER_HAS_WELL_DEFINED_VERSION 1)
+ else()
+ set(IE_VS_VER_HAS_WELL_DEFINED_VERSION 0)
+ endif()
+endmacro()
+
+ie_parse_ci_build_number()
+
+if(IE_VS_VER_HAS_WELL_DEFINED_VERSION)
+ set(IE_VS_VER_FILEVERSION_QUAD "${IE_VERSION_MAJOR},${IE_VERSION_MINOR},${IE_VERSION_PATCH},0")
+ set(IE_VS_VER_PRODUCTVERSION_QUAD "${IE_VERSION_MAJOR},${IE_VERSION_MINOR},${IE_VERSION_PATCH},0")
+ set(IE_VS_VER_FILEVERSION_STR "${IE_VERSION_MAJOR}.${IE_VERSION_MINOR}.${IE_VERSION_PATCH}.0")
+endif()
+
+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-2020, Intel Corporation")
+set(IE_VS_VER_COMMENTS_STR "https://docs.openvinotoolkit.org/")
+
+#
+# ie_add_vs_version_file(NAME <name>
+# FILEDESCRIPTION <file description>
+# [FILEVERSION <file version>]
+# [INTERNALNAME <internal name>]
+# [COPYRIGHT <name>]
+# [PRODUCTNAME <name>]
+# [PRODUCTVERSION <name>]
+# [COMMENTS <name>]
+# [FILEVERSION_QUAD <name>]
+# [PRODUCTVERSION_QUAD <name>])
+#
+function(ie_add_vs_version_file)
+ if(NOT WIN32)
+ return()
+ endif()
+
+ cmake_parse_arguments(VS_VER "" "NAME;FILEDESCRIPTION;FILEVERSION;INTERNALNAME;COPYRIGHT;PRODUCTNAME;PRODUCTVERSION;COMMENTS;FILEVERSION_QUAD;PRODUCTVERSION_QUAD" "" ${ARGN})
+
+ if(NOT TARGET ${VS_VER_NAME})
+ message(FATAL_ERROR "${VS_VER_NAME} must define a target")
+ endif()
+
+ macro(_vs_ver_update_variable name)
+ if(VS_VER_NAME AND DEFINED IE_${VS_VER_NAME}_VS_VER_${name})
+ set(IE_VS_VER_${name} "${IE_${VS_VER_NAME}_VS_VER_${name}}")
+ elseif(VS_VER_${name})
+ set(IE_VS_VER_${name} "${VS_VER_${name}}")
+ endif()
+ endmacro()
+
+ _vs_ver_update_variable(FILEVERSION_QUAD)
+ _vs_ver_update_variable(PRODUCTVERSION_QUAD)
+
+ macro(_vs_ver_update_str_variable name)
+ if(VS_VER_NAME AND DEFINED IE_${VS_VER_NAME}_VS_VER_${name})
+ set(IE_VS_VER_${name}_STR "${IE_${VS_VER_NAME}_VS_VER_${name}}")
+ elseif(VS_VER_${name})
+ set(IE_VS_VER_${name}_STR "${VS_VER_${name}}")
+ endif()
+ endmacro()
+
+ _vs_ver_update_str_variable(FILEDESCRIPTION)
+ _vs_ver_update_str_variable(FILEVERSION)
+ _vs_ver_update_str_variable(INTERNALNAME)
+ _vs_ver_update_str_variable(COPYRIGHT)
+ _vs_ver_update_str_variable(PRODUCTNAME)
+ _vs_ver_update_str_variable(PRODUCTVERSION)
+ _vs_ver_update_str_variable(COMMENTS)
+
+ set(IE_VS_VER_ORIGINALFILENAME_STR "${CMAKE_SHARED_LIBRARY_PREFIX}${VS_VER_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}")
+ set(IE_VS_VER_INTERNALNAME_STR ${VS_VER_NAME})
+
+ set(vs_version_output "${CMAKE_CURRENT_BINARY_DIR}/vs_version.rc")
+ configure_file("${OpenVINO_MAIN_SOURCE_DIR}/cmake/vs_version/vs_version.rc.in" "${vs_version_output}" @ONLY)
+
+ source_group("src" FILES ${vs_version_output})
+ target_sources(${VS_VER_NAME} PRIVATE ${vs_version_output})
+endfunction()
--- /dev/null
+#include <winver.h>
+
+VS_VERSION_INFO VERSIONINFO
+#if IE_VS_VER_HAS_WELL_DEFINED_VERSION
+ FILEVERSION @IE_VS_VER_FILEVERSION_QUAD@
+ PRODUCTVERSION @IE_VS_VER_PRODUCTVERSION_QUAD@
+#endif
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS 1
+#else
+ FILEFLAGS 0
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE 0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "FileDescription", "@IE_VS_VER_FILEDESCRIPTION_STR@\0"
+#if IE_VS_VER_HAS_WELL_DEFINED_VERSION
+ VALUE "FileVersion", "@IE_VS_VER_FILEVERSION_STR@\0"
+#endif
+ VALUE "InternalName", "@IE_VS_VER_INTERNALNAME_STR@\0"
+ VALUE "LegalCopyright", "@IE_VS_VER_COPYRIGHT_STR@\0"
+ VALUE "OriginalFilename", "@IE_VS_VER_ORIGINALFILENAME_STR@\0"
+ VALUE "ProductName", "@IE_VS_VER_PRODUCTNAME_STR@\0"
+ VALUE "ProductVersion", "@IE_VS_VER_PRODUCTVERSION_STR@\0"
+ VALUE "Comments", "@IE_VS_VER_COMMENTS_STR@\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 1252
+ END
+END
\ No newline at end of file
add_library(${IE_PLUGIN_NAME} SHARED ${input_files})
target_compile_definitions(${IE_PLUGIN_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_PLUGIN)
+ ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine ${IE_PLUGIN_DEVICE_NAME} device plugin library")
+
if(TARGET IE::inference_engine_plugin_api)
target_link_libraries(${IE_PLUGIN_NAME} PRIVATE IE::inference_engine_plugin_api)
else()
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${ENABLE_LTO})
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine C API Core Runtime library")
+
# export
export(TARGETS ${TARGET_NAME} NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets.cmake")
list(APPEND INSTALLED_TARGETS ${PYX_NAME})
endforeach()
+if(COMMAND ie_add_vs_version_file)
+ foreach(target IN LISTS INSTALLED_TARGETS)
+ ie_add_vs_version_file(NAME ${target}
+ FILEDESCRIPTION "Inference Engine Python library")
+ endforeach()
+endif()
+
function(python_disable_deprecated_warnings)
disable_deprecated_warnings()
set(pyx_file "${CMAKE_CURRENT_BINARY_DIR}/ie_api.cxx" "${CMAKE_CURRENT_BINARY_DIR}/constants.cxx")
add_library(${TARGET_NAME} SHARED
${IE_STATIC_DEPENDENT_FILES}
+ ${vs_version_file}
$<TARGET_OBJECTS:${TARGET_NAME}_obj>)
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine Core Runtime library")
+
set_ie_threading_interface_for(${TARGET_NAME})
target_link_libraries(${TARGET_NAME} PRIVATE pugixml openvino::itt ${CMAKE_DL_LIBS} Threads::Threads
add_library(${TARGET_NAME} SHARED $<TARGET_OBJECTS:${TARGET_NAME}_obj>)
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine Legacy library")
+
set_ie_threading_interface_for(${TARGET_NAME})
target_link_libraries(${TARGET_NAME} PUBLIC inference_engine
UNITY
)
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine LP transformations library")
+
target_compile_definitions(${TARGET_NAME} PRIVATE inference_engine_transformations_EXPORTS)
target_link_libraries(${TARGET_NAME} PUBLIC inference_engine_transformations
PCH PRIVATE "src/precomp.hpp"
)
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine LP legacy transformations library")
+
target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_API
PUBLIC USE_CNNNETWORK_LPT)
add_library(${TARGET_NAME} SHARED
$<TARGET_OBJECTS:${TARGET_NAME}_obj>)
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine Preprocessing plugin")
+
set_ie_threading_interface_for(${TARGET_NAME})
target_link_libraries(${TARGET_NAME} PRIVATE fluid openvino::itt
UNITY
)
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine IR reader plugin")
+
target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_PLUGIN
IR_READER_V10)
UNITY
)
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine IR v7 reader plugin")
+
target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_PLUGIN)
target_include_directories(${TARGET_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/"
add_library(${TARGET_NAME} SHARED ${LIBRARY_SRC})
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine ONNX reader plugin")
+
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_PLUGIN)
PCH PRIVATE "src/precomp.hpp"
)
+ie_add_vs_version_file(NAME ${TARGET_NAME}
+ FILEDESCRIPTION "Inference Engine Transformations library")
+
target_link_libraries(${TARGET_NAME} PUBLIC ${NGRAPH_LIBRARIES}
PRIVATE openvino::itt ngraph::builder pugixml)
ie_add_api_validator_post_build_step(TARGET ngraph)
endif()
+if(COMMAND ie_add_vs_version_file)
+ ie_add_vs_version_file(NAME ngraph
+ FILEDESCRIPTION "nGraph library")
+endif()
+
set_target_properties(ngraph PROPERTIES
CXX_VISIBILITY_PRESET hidden
C_VISIBILITY_PRESET hidden
add_library(onnx_importer SHARED ${LIBRARY_SRC} ${PUBLIC_HEADERS})
add_library(ngraph::onnx_importer ALIAS onnx_importer)
+if(COMMAND ie_add_vs_version_file)
+ ie_add_vs_version_file(NAME onnx_importer
+ FILEDESCRIPTION "nGraph ONNX importer library")
+endif()
+
if(COMMAND ie_faster_build)
ie_faster_build(onnx_importer
UNITY
)
endif()
+if(COMMAND ie_add_vs_version_file)
+ ie_add_vs_version_file(NAME ngraph_backend
+ FILEDESCRIPTION "nGraph backend library")
+endif()
+
target_compile_definitions(ngraph_backend
PRIVATE
SHARED_LIB_PREFIX="${CMAKE_SHARED_LIBRARY_PREFIX}"
# limitations under the License.
# ******************************************************************************
-set(LIBRARY_TYPE SHARED)
-
set(SRC
ie_backend.cpp
ie_backend.hpp
ie_executable.hpp
)
-add_library(ie_backend ${LIBRARY_TYPE} ${SRC})
+add_library(ie_backend SHARED ${SRC})
if(COMMAND ie_faster_build)
ie_faster_build(ie_backend
)
endif()
+if(COMMAND ie_add_vs_version_file)
+ ie_add_vs_version_file(NAME ie_backend
+ FILEDESCRIPTION "nGraph IE backend library")
+endif()
+
add_dependencies(ie_backend inference_engine)
target_compile_definitions(ie_backend PRIVATE IE_BACKEND_DLL_EXPORTS)
target_include_directories(ie_backend PUBLIC ${IE_MAIN_SOURCE_DIR}/include)
# limitations under the License.
# ******************************************************************************
-set(LIBRARY_TYPE SHARED)
-
if (NGRAPH_INTERPRETER_ENABLE)
- add_library(interpreter_backend ${LIBRARY_TYPE} int_backend.cpp int_executable.cpp)
+ add_library(interpreter_backend SHARED int_backend.cpp int_executable.cpp)
if(COMMAND ie_faster_build)
ie_faster_build(interpreter_backend
)
endif()
+ if(COMMAND ie_add_vs_version_file)
+ ie_add_vs_version_file(NAME interpreter_backend
+ FILEDESCRIPTION "nGraph interpreter backend library")
+ endif()
+
target_compile_definitions(interpreter_backend PRIVATE INTERPRETER_BACKEND_EXPORTS)
if(NGRAPH_LIB_VERSIONING_ENABLE)
set_target_properties(interpreter_backend PROPERTIES