Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ endif()

include(cmake/features.cmake)
include(cmake/version.cmake)
include(cmake/vs_version.cmake)

if(ENABLE_PYTHON)
# the following two calls are required for cross-compilation
Expand Down
33 changes: 33 additions & 0 deletions cmake/templates/vs_version.rc.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include <winver.h>

VS_VERSION_INFO VERSIONINFO
FILEVERSION @PROJECT_VERSION_MAJOR@,@PROJECT_VERSION_MINOR@,@PROJECT_VERSION_PATCH@,@PROJECT_VERSION_TWEAK@
PRODUCTVERSION @PROJECT_VERSION_MAJOR@,@PROJECT_VERSION_MINOR@,@PROJECT_VERSION_PATCH@,@PROJECT_VERSION_TWEAK@
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 "CompanyName", "@PROJECT_COMPANY_NAME@\0"
VALUE "FileDescription", "@PROJECT_DESCRIPTION@\0"
VALUE "FileVersion", "@PROJECT_VERSION@\0"
VALUE "LegalCopyright", "@PROJECT_COPYRIGHT@\0"
VALUE "ProductName", "@PROJECT_PRODUCT_NAME@\0"
VALUE "ProductVersion", "@OpenVINOTokenizers_FULL_VERSION@\0"
VALUE "Comments", "@PROJECT_COMMENTS@\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 1252
END
END
18 changes: 18 additions & 0 deletions cmake/vs_version.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright (C) 2025 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#

set(PROJECT_COMPANY_NAME "Intel Corporation")
set(PROJECT_PRODUCT_NAME "OpenVINO GenAI")
set(PROJECT_COPYRIGHT "Copyright (C) 2018-2025, Intel Corporation")
set(PROJECT_COMMENTS "https://docs.openvino.ai/")

# This function generates a version resource (.rc) file from a template and adds it to the given target.
function(add_vs_version_resource TARGET_NAME)
set(VS_VERSION_TEMPLATE "${PROJECT_SOURCE_DIR}/cmake/templates/vs_version.rc.in")
set(VS_VERSION_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/vs_version.rc")

configure_file("${VS_VERSION_TEMPLATE}" "${VS_VERSION_OUTPUT}" @ONLY)

target_sources(${TARGET_NAME} PRIVATE "${VS_VERSION_OUTPUT}")
endfunction()
3 changes: 3 additions & 0 deletions src/c/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp" "${CMAKE_CURRENT_

add_library(${TARGET_NAME} SHARED ${SOURCE_FILES})
add_library(openvino::genai::c ALIAS ${TARGET_NAME})
if(WIN32)
add_vs_version_resource(${TARGET_NAME})
endif()

target_include_directories(${TARGET_NAME} PUBLIC "$<INSTALL_INTERFACE:runtime/include>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
Expand Down
4 changes: 4 additions & 0 deletions src/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,10 @@ set_target_properties(${TARGET_NAME_OBJ} PROPERTIES POSITION_INDEPENDENT_CODE ON
add_library(${TARGET_NAME} SHARED $<TARGET_OBJECTS:${TARGET_NAME_OBJ}>)
add_library(openvino::genai ALIAS ${TARGET_NAME})

if(WIN32)
add_vs_version_resource(${TARGET_NAME})
endif()

target_include_directories(${TARGET_NAME} INTERFACE "$<INSTALL_INTERFACE:runtime/include>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>")
Expand Down
Loading