openvino: split off lib and dev into dedicated outputs

Co-authored-by: Martin Weinelt <hexa@darmstadt.ccc.de>
This commit is contained in:
winston
2026-06-29 20:00:47 +02:00
co-authored by Martin Weinelt
parent 2df19ad688
commit cea3bc2bff
2 changed files with 169 additions and 3 deletions
@@ -0,0 +1,156 @@
--- a/cmake/developer_package/packaging/archive.cmake
+++ b/cmake/developer_package/packaging/archive.cmake
@@ -25,14 +25,15 @@ endif()
macro(ov_archive_cpack_set_dirs)
# common "archive" package locations
# TODO: move current variables to OpenVINO specific locations
- set(OV_CPACK_INCLUDEDIR runtime/include)
- set(OV_CPACK_OPENVINO_CMAKEDIR runtime/cmake)
- set(OV_CPACK_DOCDIR docs)
- set(OV_CPACK_LICENSESDIR licenses)
- set(OV_CPACK_SAMPLESDIR samples)
+ set(OV_CPACK_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}")
+ set(OV_CPACK_OPENVINO_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/openvino")
+ set(OV_CPACK_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/openvino")
+ set(OV_CPACK_LICENSESDIR "${CMAKE_INSTALL_DATAROOTDIR}/licenses/openvino")
+ set(OV_CPACK_SAMPLESDIR "${CMAKE_INSTALL_DATAROOTDIR}/openvino/samples")
set(OV_CPACK_WHEELSDIR wheels)
set(OV_CPACK_DEVREQDIR tools)
- set(OV_CPACK_PYTHONDIR python)
+ find_package(Python QUIET REQUIRED COMPONENTS Interpreter Development)
+ set(OV_CPACK_PYTHONDIR "${CMAKE_INSTALL_LIBDIR}/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages")
if(USE_BUILD_TYPE_SUBFOLDER)
set(build_type ${CMAKE_BUILD_TYPE})
@@ -49,11 +50,11 @@ macro(ov_archive_cpack_set_dirs)
set(OV_CPACK_RUNTIMEDIR runtime/lib/${ARCH_FOLDER}/${build_type})
set(OV_CPACK_ARCHIVEDIR runtime/lib/${ARCH_FOLDER}/${build_type})
else()
- set(OV_CPACK_LIBRARYDIR runtime/lib/${ARCH_FOLDER})
- set(OV_CPACK_RUNTIMEDIR runtime/lib/${ARCH_FOLDER})
- set(OV_CPACK_ARCHIVEDIR runtime/lib/${ARCH_FOLDER})
+ set(OV_CPACK_LIBRARYDIR "${CMAKE_INSTALL_LIBDIR}")
+ set(OV_CPACK_RUNTIMEDIR "${CMAKE_INSTALL_LIBDIR}")
+ set(OV_CPACK_ARCHIVEDIR "${CMAKE_INSTALL_LIBDIR}")
endif()
- set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR})
+ set(OV_CPACK_PLUGINSDIR "${OV_CPACK_RUNTIMEDIR}/openvino")
endmacro()
ov_archive_cpack_set_dirs()
@@ -78,9 +79,9 @@ macro(ov_define_component_include_rules)
# licensing
unset(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL)
# samples
- unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
- unset(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL)
- unset(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL)
+ set(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
+ set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
+ set(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# python
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
unset(OV_CPACK_COMP_BENCHMARK_APP_EXCLUDE_ALL)
@@ -92,8 +93,8 @@ macro(ov_define_component_include_rules)
# nodejs
set(OV_CPACK_COMP_NPM_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# scripts
- unset(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL)
- unset(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL)
+ set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
+ set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# pkgconfig
set(OV_CPACK_COMP_PKG_CONFIG_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
# symbolic links
--- a/src/common/util/src/file_util.cpp
+++ b/src/common/util/src/file_util.cpp
@@ -215,7 +215,7 @@ std::filesystem::path ov::util::get_compiled_plugin_path(const std::filesystem::
const auto ov_library_path = get_ov_lib_path();
// plugin can be found either:
- const std::filesystem::path sub_folder_path{std::string("openvino-") + OpenVINO_VERSION};
+ const std::filesystem::path sub_folder_path{std::string("openvino")};
if (auto plugin_path = ov_library_path / sub_folder_path / plugin; ov::util::file_exists(plugin_path)) {
return plugin_path;
--- a/src/plugins/intel_npu/tools/compile_tool/CMakeLists.txt
+++ b/src/plugins/intel_npu/tools/compile_tool/CMakeLists.txt
@@ -31,7 +31,7 @@ ov_add_target(TYPE EXECUTABLE
npu_tools_utils)
set_target_properties(${TARGET_NAME} PROPERTIES
- FOLDER intel_npu_tools
+ FOLDER intel_npu_tools OUTPUT_NAME ov-${TARGET_NAME}
CXX_STANDARD 17)
# TODO: fix warnings and remove this exception
@@ -44,13 +44,13 @@ endif()
#
install(TARGETS ${TARGET_NAME}
- RUNTIME DESTINATION "tools/${TARGET_NAME}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT ${NPU_INTERNAL_COMPONENT}
${OV_CPACK_COMP_NPU_INTERNAL_EXCLUDE_ALL})
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/README.md"
- DESTINATION "tools/${TARGET_NAME}"
+ DESTINATION "${OV_CPACK_DOCDIR}" RENAME README-${TARGET_NAME}.md
COMPONENT ${NPU_INTERNAL_COMPONENT}
${OV_CPACK_COMP_NPU_INTERNAL_EXCLUDE_ALL})
endif()
--- a/src/plugins/intel_npu/tools/protopipe/CMakeLists.txt
+++ b/src/plugins/intel_npu/tools/protopipe/CMakeLists.txt
@@ -67,7 +67,7 @@ ov_add_target(TYPE EXECUTABLE
LINK_LIBRARIES PRIVATE ${DEPENDENCIES})
set_target_properties(${TARGET_NAME} PROPERTIES
- FOLDER intel_npu_tools
+ FOLDER intel_npu_tools OUTPUT_NAME ov-${TARGET_NAME}
CXX_STANDARD 17)
if (WIN32)
@@ -79,13 +79,13 @@ endif()
#
install(TARGETS ${TARGET_NAME}
- RUNTIME DESTINATION "tools/${TARGET_NAME}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT ${NPU_INTERNAL_COMPONENT}
${OV_CPACK_COMP_NPU_INTERNAL_EXCLUDE_ALL})
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/README.md"
- DESTINATION "tools/${TARGET_NAME}"
+ DESTINATION "${OV_CPACK_DOCDIR}" RENAME README-${TARGET_NAME}.md
COMPONENT ${NPU_INTERNAL_COMPONENT}
${OV_CPACK_COMP_NPU_INTERNAL_EXCLUDE_ALL})
endif()
--- a/src/plugins/intel_npu/tools/single-image-test/CMakeLists.txt
+++ b/src/plugins/intel_npu/tools/single-image-test/CMakeLists.txt
@@ -52,7 +52,7 @@ ov_add_target(TYPE EXECUTABLE
ov_set_threading_interface_for(${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES
- FOLDER intel_npu_tools
+ FOLDER intel_npu_tools OUTPUT_NAME ov-${TARGET_NAME}
CXX_STANDARD 17)
# TODO: fix warnings and remove this exception
@@ -65,13 +65,13 @@ endif()
#
install(TARGETS ${TARGET_NAME}
- RUNTIME DESTINATION "tools/${TARGET_NAME}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT ${NPU_INTERNAL_COMPONENT}
${OV_CPACK_COMP_NPU_INTERNAL_EXCLUDE_ALL})
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/README.md"
- DESTINATION "tools/${TARGET_NAME}"
+ DESTINATION "${OV_CPACK_DOCDIR}" RENAME README-${TARGET_NAME}.md
COMPONENT ${NPU_INTERNAL_COMPONENT}
${OV_CPACK_COMP_NPU_INTERNAL_EXCLUDE_ALL})
endif()
+13 -3
View File
@@ -68,6 +68,8 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [
"out"
"dev"
"lib"
"python"
];
@@ -87,6 +89,11 @@ stdenv.mkDerivation (finalAttrs: {
cudaPackages.cuda_nvcc
];
patches = [
# https://aur.archlinux.org/cgit/aur.git/tree/010-openvino-change-install-paths.patch?h=openvino
./cmake-install-paths.patch
];
dontUseSconsCheck = true;
dontUseSconsBuild = true;
dontUseSconsInstall = true;
@@ -161,9 +168,8 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
postInstall = ''
mkdir -p $python
mv $out/python/* $python/
rmdir $out/python
mkdir -p $python/lib
mv $lib/lib/python* $python/lib/
'';
postFixup = ''
@@ -171,6 +177,10 @@ stdenv.mkDerivation (finalAttrs: {
find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
addDriverRunpath "$lib"
done
substituteInPlace $dev/lib/pkgconfig/openvino.pc \
--replace-fail "include_prefix=\''${prefix}/" "include_prefix=" \
--replace-fail "exec_prefix=\''${prefix}/" "exec_prefix="
'';
meta = {