@@ -44,25 +44,68 @@ ov_genai_build_jinja2cpp()
44
44
45
45
file (GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR} /src/*.cpp" )
46
46
47
- set (TARGET_NAME generate_pipeline_lib )
47
+ set (TARGET_NAME genai )
48
48
add_library (${TARGET_NAME} SHARED ${SOURCE_FILES} )
49
49
50
50
target_include_directories (${TARGET_NAME}
51
51
# TODO: remove it, because beam_search algo should not be exposed to end users
52
- PRIVATE $ {CMAKE_CURRENT_SOURCE_DIR} /../../text_generation/causal_lm/cpp/
53
- PUBLIC $ {CMAKE_CURRENT_SOURCE_DIR} /include )
52
+ PRIVATE "$<BUILD_INTERFACE: $ {CMAKE_CURRENT_SOURCE_DIR} /../../text_generation/causal_lm/cpp/>"
53
+ PUBLIC "$<BUILD_INTERFACE: $ {CMAKE_CURRENT_SOURCE_DIR} /include>" )
54
54
55
55
target_link_libraries (${TARGET_NAME} PUBLIC openvino::runtime PRIVATE nlohmann_json::nlohmann_json jinja2cpp)
56
56
57
57
target_compile_definitions (${TARGET_NAME} PRIVATE OPENVINO_TOKENIZERS_PATH=\"$<TARGET_FILE:openvino_tokenizers>\")
58
58
59
59
target_compile_features (${TARGET_NAME} PUBLIC cxx_std_17)
60
60
61
- install (TARGETS ${TARGET_NAME} LIBRARY DESTINATION . COMPONENT genai RUNTIME DESTINATION . COMPONENT genai )
61
+ install (TARGETS ${TARGET_NAME} LIBRARY DESTINATION . COMPONENT core_genai RUNTIME DESTINATION . COMPONENT core_genai )
62
62
63
63
# Populate python with the libraries to allow skipping wheel installation
64
- add_custom_command (TARGET generate_pipeline_lib POST_BUILD
64
+ add_custom_command (TARGET genai POST_BUILD
65
65
COMMAND "${CMAKE_COMMAND} " -E copy
66
- "$<TARGET_FILE:generate_pipeline_lib>"
67
- "${CMAKE_CURRENT_SOURCE_DIR} /../python/openvino_genai/$<TARGET_FILE_NAME:generate_pipeline_lib>"
68
- COMMENT "Copy generate_pipeline_lib to src/python/openvino_genai" )
66
+ "$<TARGET_FILE:genai>"
67
+ "${CMAKE_CURRENT_SOURCE_DIR} /../python/openvino_genai/$<TARGET_FILE_NAME:genai>"
68
+ COMMENT "Copy genai to src/python/openvino_genai" )
69
+
70
+ export (TARGETS genai NAMESPACE openvino:: FILE "${CMAKE_BINARY_DIR} /openvino_genaiConfig.cmake" ) # TODO: try to merge
71
+ install (TARGETS ${TARGET_NAME} LIBRARY DESTINATION . COMPONENT core_genai RUNTIME DESTINATION . COMPONENT core_genai)
72
+
73
+ include (GenerateExportHeader)
74
+
75
+ generate_export_header(genai)
76
+ set_property (TARGET genai PROPERTY VERSION ${openvino_genai_VERSION} )
77
+ set_property (TARGET genai PROPERTY SOVERSION 3)
78
+ set_property (TARGET genai PROPERTY INTERFACE_genai_MAJOR_VERSION 3)
79
+ set_property (TARGET genai APPEND PROPERTY COMPATIBLE_INTERFACE_STRING genai_MAJOR_VERSION)
80
+
81
+ string (TOLOWER "${CMAKE_SYSTEM_PROCESSOR} " ARCH_FOLDER)
82
+ if (X86_64)
83
+ set (ARCH_FOLDER intel64)
84
+ elseif (X86)
85
+ set (ARCH_FOLDER ia32)
86
+ elseif (MSVC AND ARM)
87
+ set (ARCH_FOLDER arm)
88
+ elseif ((MSVC OR APPLE ) AND AARCH64)
89
+ set (ARCH_FOLDER arm64)
90
+ elseif (UNIVERSAL2)
91
+ set (ARCH_FOLDER universal2)
92
+ elseif (ARCH_FOLDER STREQUAL "x86_64" OR ARCH_FOLDER STREQUAL "amd64" # Windows detects Intel's 64-bit CPU as AMD64
93
+ OR CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64" )
94
+ set (ARCH_FOLDER intel64)
95
+ endif ()
96
+ install (TARGETS genai EXPORT openvino_genaiTargets
97
+ LIBRARY DESTINATION runtime/lib/${ARCH_FOLDER} /${CMAKE_BUILD_TYPE} COMPONENT core_genai_dev
98
+ ARCHIVE DESTINATION runtime/lib/${ARCH_FOLDER} /${CMAKE_BUILD_TYPE} COMPONENT core_genai_dev
99
+ RUNTIME DESTINATION runtime/bin/${ARCH_FOLDER} /${CMAKE_BUILD_TYPE} COMPONENT core_genai_dev
100
+ INCLUDES DESTINATION runtime/include )
101
+ install (DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR} /include/" DESTINATION runtime/include COMPONENT core_genai_dev)
102
+
103
+ include (CMakePackageConfigHelpers)
104
+ write_basic_package_version_file("${CMAKE_BINARY_DIR} /openvino_genaiConfigVersion.cmake" VERSION ${openvino_genai_VERSION} COMPATIBILITY AnyNewerVersion)
105
+
106
+ export (EXPORT openvino_genaiTargets FILE "${CMAKE_BINARY_DIR} /openvino_genaiTargets.cmake" NAMESPACE openvino::)
107
+ configure_file (cmake/openvino_genaiConfig.cmake "${CMAKE_BINARY_DIR} /openvino_genaiConfig.cmake" COPYONLY )
108
+
109
+ install (EXPORT openvino_genaiTargets FILE openvino_genaiTargets.cmake NAMESPACE openvino:: DESTINATION runtime/cmake)
110
+ install (FILES cmake/openvino_genaiConfig.cmake "${CMAKE_BINARY_DIR} /openvino_genaiConfigVersion.cmake"
111
+ DESTINATION runtime/cmake COMPONENT core_genai_dev)
0 commit comments