openvino: split off lib and dev into dedicated outputs
Co-authored-by: Martin Weinelt <hexa@darmstadt.ccc.de>
This commit is contained in:
co-authored by
Martin Weinelt
parent
2df19ad688
commit
cea3bc2bff
@@ -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()
|
||||
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user