Skip to content

Commit bd0117d

Browse files
Vcpkg conan fixes (openvinotoolkit#17765)
* Small fixes for openvino::pugixml creation for Dev packages * Flexiable components installation * Fixed compilation for x86 * Added extra checks for ENABLE_NCC_STYLE * Fixed typo in RPM
1 parent 8c6c464 commit bd0117d

File tree

37 files changed

+391
-177
lines changed

37 files changed

+391
-177
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ cmake-build*
1313
*.idea
1414
.vscode
1515
.vs/
16+
.vsconan/
1617
.DS_Store
1718
**/tags
1819
compile_commands.json

cmake/developer_package/IEDevScriptsConfig.cmake

+1-16
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ ov_set_if_not_defined(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
164164
ov_set_if_not_defined(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
165165

166166
if(CPACK_GENERATOR MATCHES "^(DEB|RPM)$")
167-
# to make sure that lib/<multiarch-tuple> is created on Debian
167+
# to make sure that lib/<multiarch-triplet> is created on Debian
168168
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Cmake install prefix" FORCE)
169169
endif()
170170

@@ -181,10 +181,6 @@ if(APPLE)
181181
message(FATAL_ERROR "Internal error: OV_CPACK_LIBRARYDIR is not defined, while it's required to initialize RPATH")
182182
endif()
183183

184-
if(CPACK_GENERATOR STREQUAL "BREW")
185-
set(CMAKE_SKIP_INSTALL_RPATH OFF)
186-
endif()
187-
188184
# WA for Xcode generator + object libraries issue:
189185
# https://gitlab.kitware.com/cmake/cmake/issues/20260
190186
# http://cmake.3232098.n2.nabble.com/XCODE-DEPEND-HELPER-make-Deletes-Targets-Before-and-While-They-re-Built-td7598277.html
@@ -232,17 +228,6 @@ endif()
232228

233229
# General flags
234230

235-
macro(ov_install_static_lib target comp)
236-
if(NOT BUILD_SHARED_LIBS)
237-
get_target_property(target_type ${target} TYPE)
238-
if(target_type STREQUAL "STATIC_LIBRARY")
239-
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL OFF)
240-
endif()
241-
install(TARGETS ${target} EXPORT OpenVINOTargets
242-
ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${comp} ${ARGN})
243-
endif()
244-
endmacro()
245-
246231
set(THREADS_PREFER_PTHREAD_FLAG ON)
247232
find_package(Threads REQUIRED)
248233

cmake/developer_package/ncc_naming_style/ncc_naming_style.cmake

+22-19
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,32 @@ set(ncc_style_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/ncc_naming_style")
1111

1212
# find python3
1313

14-
find_host_package(PythonInterp 3 QUIET)
15-
if(NOT PYTHONINTERP_FOUND)
16-
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
17-
set(ENABLE_NCC_STYLE OFF)
14+
if(ENABLE_NCC_STYLE)
15+
find_host_package(PythonInterp 3 QUIET)
16+
if(NOT PYTHONINTERP_FOUND)
17+
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
18+
set(ENABLE_NCC_STYLE OFF)
19+
endif()
1820
endif()
1921

20-
if(PYTHON_VERSION_MINOR EQUAL 6)
21-
set(clang_version 10)
22-
elseif(PYTHON_VERSION_MINOR EQUAL 7)
23-
set(clang_version 11)
24-
elseif(PYTHON_VERSION_MINOR EQUAL 8)
25-
set(clang_version 12)
26-
elseif(PYTHON_VERSION_MINOR EQUAL 9)
27-
set(clang_version 12)
28-
elseif(PYTHON_VERSION_MINOR EQUAL 10)
29-
set(clang_version 14)
30-
elseif(PYTHON_VERSION_MINOR EQUAL 11)
31-
set(clang_version 14)
32-
else()
33-
message(WARNING "Cannot suggest clang package for python ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
22+
if(ENABLE_NCC_STYLE)
23+
if(PYTHON_VERSION_MINOR EQUAL 6)
24+
set(clang_version 10)
25+
elseif(PYTHON_VERSION_MINOR EQUAL 7)
26+
set(clang_version 11)
27+
elseif(PYTHON_VERSION_MINOR EQUAL 8)
28+
set(clang_version 12)
29+
elseif(PYTHON_VERSION_MINOR EQUAL 9)
30+
set(clang_version 12)
31+
elseif(PYTHON_VERSION_MINOR EQUAL 10)
32+
set(clang_version 14)
33+
elseif(PYTHON_VERSION_MINOR EQUAL 11)
34+
set(clang_version 14)
35+
else()
36+
message(WARNING "Cannot suggest clang package for python ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
37+
endif()
3438
endif()
3539

36-
3740
if(ENABLE_NCC_STYLE)
3841
# try to find_package(Clang QUIET)
3942
# ClangConfig.cmake contains bug that if libclang-XX-dev is not

cmake/developer_package/packaging/common-libraries.cmake

+50-5
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,17 @@ macro(ov_common_libraries_cpack_set_dirs)
2121
endif()
2222
set(OV_WHEEL_RUNTIMEDIR ${OV_CPACK_RUNTIMEDIR})
2323
set(OV_CPACK_ARCHIVEDIR ${CMAKE_INSTALL_LIBDIR})
24-
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR}/openvino-${OpenVINO_VERSION})
25-
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
26-
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
27-
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
24+
if(CPACK_GENERATOR MATCHES "^(CONAN|VCPKG)$")
25+
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
26+
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
27+
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
28+
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR})
29+
else()
30+
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
31+
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
32+
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
33+
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR}/openvino-${OpenVINO_VERSION})
34+
endif()
2835
set(OV_CPACK_LICENSESDIR licenses)
2936

3037
ov_get_pyversion(pyversion)
@@ -45,6 +52,10 @@ macro(ov_common_libraries_cpack_set_dirs)
4552
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_LIBRARYDIR})
4653
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
4754
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
55+
56+
if(CPACK_GENERATOR STREQUAL "BREW")
57+
set(CMAKE_SKIP_INSTALL_RPATH OFF)
58+
endif()
4859
endmacro()
4960

5061
ov_common_libraries_cpack_set_dirs()
@@ -67,9 +78,43 @@ macro(ov_override_component_names)
6778
set(OV_CPACK_COMP_CPP_SAMPLES "samples")
6879
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
6980
# move requirements.txt to core-dev
70-
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
81+
# set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
7182
# move core_tools to core-dev
7283
# set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
7384
endmacro()
7485

7586
ov_override_component_names()
87+
88+
#
89+
# Override include / exclude rules for components
90+
# This is required to exclude some files from installation
91+
# (e.g. debian packages don't require setupvars scripts)
92+
#
93+
94+
macro(ov_define_component_include_rules)
95+
# core components
96+
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
97+
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_EXCLUDE_ALL})
98+
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
99+
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
100+
# licensing
101+
set(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL EXCLUDE_FROM_ALL)
102+
# samples
103+
set(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
104+
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL ${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
105+
set(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
106+
# python
107+
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
108+
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
109+
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
110+
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
111+
# tools
112+
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
113+
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
114+
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
115+
# scripts
116+
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
117+
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
118+
endmacro()
119+
120+
ov_define_component_include_rules()

cmake/developer_package/packaging/debian/debian.cmake

+35-1
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,47 @@ macro(ov_override_component_names)
6969
set(OV_CPACK_COMP_CPP_SAMPLES "samples")
7070
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
7171
# move requirements.txt to core-dev
72-
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
72+
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
7373
# move core_tools to core-dev
7474
# set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
7575
endmacro()
7676

7777
ov_override_component_names()
7878

79+
#
80+
# Override include / exclude rules for components
81+
# This is required to exclude some files from installation
82+
# (e.g. debian packages don't require setupvars scripts)
83+
#
84+
85+
macro(ov_define_component_include_rules)
86+
# core components
87+
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
88+
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_EXCLUDE_ALL})
89+
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
90+
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
91+
# licensing
92+
set(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL EXCLUDE_FROM_ALL)
93+
# samples
94+
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
95+
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL ${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
96+
set(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
97+
# python
98+
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
99+
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
100+
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
101+
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
102+
# tools
103+
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
104+
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
105+
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
106+
# scripts
107+
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
108+
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
109+
endmacro()
110+
111+
ov_define_component_include_rules()
112+
79113
#
80114
# Common Debian specific settings
81115
#

cmake/developer_package/packaging/nsis.cmake

+65-28
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,77 @@
22
# SPDX-License-Identifier: Apache-2.0
33
#
44

5-
# installation directory
6-
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Intel")
5+
macro(ov_nsis_specific_settings)
6+
# installation directory
7+
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Intel")
78

8-
# TODO: provide icons
9-
# set(CPACK_NSIS_MUI_ICON "")
10-
# set(CPACK_NSIS_MUI_UNIICON "${CPACK_NSIS_MUI_ICON}")
11-
# set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "")
12-
# set(CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP "")
13-
# set(CPACK_NSIS_MUI_HEADERIMAGE "")
9+
# TODO: provide icons
10+
# set(CPACK_NSIS_MUI_ICON "")
11+
# set(CPACK_NSIS_MUI_UNIICON "${CPACK_NSIS_MUI_ICON}")
12+
# set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "")
13+
# set(CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP "")
14+
# set(CPACK_NSIS_MUI_HEADERIMAGE "")
1415

15-
# we allow to install several packages at once
16-
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL OFF)
17-
set(CPACK_NSIS_MODIFY_PATH OFF)
16+
# we allow to install several packages at once
17+
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL OFF)
18+
set(CPACK_NSIS_MODIFY_PATH OFF)
1819

19-
set(CPACK_NSIS_DISPLAY_NAME "Intel(R) OpenVINO(TM) ${OpenVINO_VERSION}")
20-
set(CPACK_NSIS_PACKAGE_NAME "Intel(R) OpenVINO(TM) ToolKit, v. ${OpenVINO_VERSION}.${OpenVINO_PATCH_VERSION}")
20+
set(CPACK_NSIS_DISPLAY_NAME "Intel(R) OpenVINO(TM) ${OpenVINO_VERSION}")
21+
set(CPACK_NSIS_PACKAGE_NAME "Intel(R) OpenVINO(TM) ToolKit, v. ${OpenVINO_VERSION}.${OpenVINO_PATCH_VERSION}")
2122

22-
# contact
23-
set(CPACK_NSIS_CONTACT "CPACK_NSIS_CONTACT")
23+
# contact
24+
set(CPACK_NSIS_CONTACT "CPACK_NSIS_CONTACT")
2425

25-
# links in menu
26-
set(CPACK_NSIS_MENU_LINKS
27-
"https://docs.openvinoo.ai" "OpenVINO Documentation")
26+
# links in menu
27+
set(CPACK_NSIS_MENU_LINKS "https://docs.openvinoo.ai" "OpenVINO Documentation")
2828

29-
# welcome and finish titles
30-
set(CPACK_NSIS_WELCOME_TITLE "Welcome to Intel(R) Distribution of OpenVINO(TM) Toolkit installation")
31-
set(CPACK_NSIS_FINISH_TITLE "")
29+
# welcome and finish titles
30+
set(CPACK_NSIS_WELCOME_TITLE "Welcome to Intel(R) Distribution of OpenVINO(TM) Toolkit installation")
31+
set(CPACK_NSIS_FINISH_TITLE "")
3232

33-
# autoresize?
34-
set(CPACK_NSIS_MANIFEST_DPI_AWARE ON)
33+
# autoresize?
34+
set(CPACK_NSIS_MANIFEST_DPI_AWARE ON)
3535

36-
# branding text
37-
set(CPACK_NSIS_BRANDING_TEXT "Intel(R) Corp.")
38-
set(CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION RIGHT)
36+
# branding text
37+
set(CPACK_NSIS_BRANDING_TEXT "Intel(R) Corp.")
38+
set(CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION RIGHT)
3939

40-
# don't set this variable since we need a user to agree with a lincense
41-
# set(CPACK_NSIS_IGNORE_LICENSE_PAGE OFF)
40+
# don't set this variable since we need a user to agree with a lincense
41+
# set(CPACK_NSIS_IGNORE_LICENSE_PAGE OFF)
42+
endmacro()
43+
44+
ov_nsis_specific_settings()
45+
46+
#
47+
# Override include / exclude rules for components
48+
# This is required to exclude some files from installation
49+
# (e.g. NSIS packages don't require wheels to be packacged)
50+
#
51+
52+
macro(ov_define_component_include_rules)
53+
# core components
54+
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
55+
unset(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL)
56+
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
57+
unset(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL)
58+
# licensing
59+
unset(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL)
60+
# samples
61+
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
62+
unset(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL)
63+
unset(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL)
64+
# python
65+
unset(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL)
66+
unset(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL)
67+
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
68+
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
69+
# tools
70+
unset(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL)
71+
unset(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL)
72+
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
73+
# scripts
74+
unset(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL)
75+
unset(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL)
76+
endmacro()
77+
78+
ov_define_component_include_rules()

0 commit comments

Comments
 (0)