meta-intel/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-R2-Install-DLDT-headers-libs-sample-Apps.patch
Anuj Mittal 9796a61261 dldt-inference-engine: use libdir when installing python modules
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-02-25 15:03:03 +08:00

268 lines
14 KiB
Diff

From 518cd8afb38810924371209416fd5b5d2c23a92e Mon Sep 17 00:00:00 2001
From: Erin Park <erin.park@intel.com>
Date: Wed, 11 Sep 2019 10:33:58 -0700
Subject: [PATCH] R2 Install DLDT headers, libs, sample Apps
-Update to R3
-Libraries to /usr/lib64
-Headers to /usr/include
-Sample Apps executable to /usr/bin
-Sample Apps source code to /usr/share/doc/inference_engine
-Python library to ${libdir}/python<version>/site-packages
-plugins.xml to /usr/share/openvino/inference-engine
-Create targets_cpu_extension.cmake
Upstream-Status: Pending [Taken from Clear Linux with changes to install
libs at CMAKE_INSTALL_LIBDIR instead of hardcoded lib64 and update to R3]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
---
inference-engine/CMakeLists.txt | 2 ++
inference-engine/cmake/config.cmake.in | 1 +
inference-engine/ie_bridges/python/CMakeLists.txt | 2 +-
.../src/openvino/inference_engine/CMakeLists.txt | 4 +++-
inference-engine/samples/CMakeLists.txt | 9 +-------
.../samples/common/format_reader/CMakeLists.txt | 2 ++
inference-engine/src/CMakeLists.txt | 4 +++-
inference-engine/src/extension/CMakeLists.txt | 5 ++++-
inference-engine/src/hetero_plugin/CMakeLists.txt | 2 ++
.../src/inference_engine/CMakeLists.txt | 25 ++++++++++++++++++----
.../src/inference_engine/ie_util_internal.cpp | 7 +++---
inference-engine/src/mkldnn_plugin/CMakeLists.txt | 1 +
.../src/vpu/myriad_plugin/CMakeLists.txt | 2 ++
inference-engine/tests/unit/CMakeLists.txt | 2 ++
14 files changed, 49 insertions(+), 19 deletions(-)
diff --git a/inference-engine/CMakeLists.txt b/inference-engine/CMakeLists.txt
index a282cb4..abb4de4 100644
--- a/inference-engine/CMakeLists.txt
+++ b/inference-engine/CMakeLists.txt
@@ -70,3 +70,5 @@ if (ENABLE_PYTHON)
endif()
add_cpplint_report_target()
+
+install(DIRECTORY samples DESTINATION share/doc/inference_engine)
diff --git a/inference-engine/cmake/config.cmake.in b/inference-engine/cmake/config.cmake.in
index ebe82ee..0d7e6a4 100644
--- a/inference-engine/cmake/config.cmake.in
+++ b/inference-engine/cmake/config.cmake.in
@@ -7,6 +7,7 @@ if(DEFINED IE_MAIN_SOURCE_DIR AND TARGET inference_engine)
set(InferenceEngine_LIBRARIES inference_engine)
else()
include("${CMAKE_CURRENT_LIST_DIR}/targets.cmake")
+ include("${CMAKE_CURRENT_LIST_DIR}/targets_cpu_extension.cmake")
if(NOT WIN32)
set_target_properties(IE::inference_engine PROPERTIES INTERFACE_COMPILE_OPTIONS "-Wno-error=deprecated-declarations")
endif()
diff --git a/inference-engine/ie_bridges/python/CMakeLists.txt b/inference-engine/ie_bridges/python/CMakeLists.txt
index bba853f..444cce9 100644
--- a/inference-engine/ie_bridges/python/CMakeLists.txt
+++ b/inference-engine/ie_bridges/python/CMakeLists.txt
@@ -53,4 +53,4 @@ endif()
set (PYTHON_BRIDGE_SRC_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory (src/openvino/inference_engine)
-add_subdirectory (src/openvino/tools/statistics_collector)
+#add_subdirectory (src/openvino/tools/statistics_collector)
diff --git a/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt b/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt
index 1f46013..952c173 100644
--- a/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt
+++ b/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt
@@ -29,4 +29,6 @@ ADD_CUSTOM_COMMAND (TARGET ${TARGET_NAME}
COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/src/openvino/inference_engine/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/__init__.py
COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/requirements.txt ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../../requirements.txt
COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/src/openvino/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../__init__.py
-)
\ No newline at end of file
+)
+
+install(DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY} DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PYTHON_VERSION}/site-packages/)
diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt
index 884b0a6..25f9f23 100644
--- a/inference-engine/samples/CMakeLists.txt
+++ b/inference-engine/samples/CMakeLists.txt
@@ -39,14 +39,6 @@ if(NOT(UNIX))
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER})
set (LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER})
set (LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}) # compatibility issue: linux uses LIBRARY_OUTPUT_PATH, windows uses LIBRARY_OUTPUT_DIRECTORY
-else ()
- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
- set (CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
- set (CMAKE_PDB_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
- set (LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
- set (LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}/lib)
endif()
if (WIN32)
@@ -188,6 +180,7 @@ macro(ie_add_sample)
if(COMMAND add_cpplint_target AND NOT IE_SAMPLE_EXCLUDE_CPPLINT)
add_cpplint_target(${IE_SAMPLE_NAME}_cpplint FOR_TARGETS ${IE_SAMPLE_NAME})
endif()
+ install(TARGETS ${IE_SAMPLE_NAME} DESTINATION bin)
endmacro()
diff --git a/inference-engine/samples/common/format_reader/CMakeLists.txt b/inference-engine/samples/common/format_reader/CMakeLists.txt
index a8c9caf..dffa8cb 100644
--- a/inference-engine/samples/common/format_reader/CMakeLists.txt
+++ b/inference-engine/samples/common/format_reader/CMakeLists.txt
@@ -40,3 +40,5 @@ set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
export(TARGETS ${TARGET_NAME} NAMESPACE IE::
APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
+
+install(TARGETS ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/inference-engine/src/CMakeLists.txt b/inference-engine/src/CMakeLists.txt
index 63fda2a..350e3f5 100644
--- a/inference-engine/src/CMakeLists.txt
+++ b/inference-engine/src/CMakeLists.txt
@@ -37,8 +37,10 @@ set(InferenceEngine_SRC_DIRS ${CMAKE_SOURCE_DIR}/src)
function(set_target_cpu_flags TARGET_NAME)
endfunction()
-add_subdirectory(extension EXCLUDE_FROM_ALL)
+add_subdirectory(extension)
add_library(IE::ie_cpu_extension ALIAS ie_cpu_extension)
file(GLOB_RECURSE EXTENSION_SOURCES extension/*.cpp extension/*.hpp extension/*.h)
add_cpplint_target(ie_cpu_extension_cpplint FOR_SOURCES ${EXTENSION_SOURCES})
+
+install(DIRECTORY extension DESTINATION include/inference_engine)
diff --git a/inference-engine/src/extension/CMakeLists.txt b/inference-engine/src/extension/CMakeLists.txt
index 799a62d..fb14ebe 100644
--- a/inference-engine/src/extension/CMakeLists.txt
+++ b/inference-engine/src/extension/CMakeLists.txt
@@ -49,7 +49,7 @@ set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "cpu_extension")
target_link_libraries(${TARGET_NAME} PRIVATE ${InferenceEngine_LIBRARIES})
-target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(${TARGET_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
set_target_cpu_flags(${TARGET_NAME})
@@ -61,3 +61,6 @@ if (IE_MAIN_SOURCE_DIR)
export(TARGETS ${TARGET_NAME} NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
endif()
+set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/InferenceEngine)
+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(EXPORT ${TARGET_NAME} DESTINATION ${ConfigPackageLocation} NAMESPACE IE:: FILE targets_cpu_extension.cmake)
diff --git a/inference-engine/src/hetero_plugin/CMakeLists.txt b/inference-engine/src/hetero_plugin/CMakeLists.txt
index fdb1b0f..4955dc9 100644
--- a/inference-engine/src/hetero_plugin/CMakeLists.txt
+++ b/inference-engine/src/hetero_plugin/CMakeLists.txt
@@ -21,3 +21,5 @@ target_include_directories(${TARGET_NAME} PRIVATE
)
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine ade)
+
+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt
index 2604c32..54d3828 100644
--- a/inference-engine/src/inference_engine/CMakeLists.txt
+++ b/inference-engine/src/inference_engine/CMakeLists.txt
@@ -110,8 +110,11 @@ if(WIN32)
endif()
# Properties->C/C++->General->Additional Include Directories
-target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR}
- PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
+target_include_directories(${TARGET_NAME} PUBLIC
+ $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:include/${TARGET_NAME}>
+ PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}"
+ "${IE_MAIN_SOURCE_DIR}/src/dumper")
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src")
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src")
@@ -137,7 +140,9 @@ add_library(${TARGET_NAME}_s STATIC
set_ie_threading_interface_for(${TARGET_NAME}_s)
# Properties->C/C++->General->Additional Include Directories
-target_include_directories(${TARGET_NAME}_s PUBLIC "${PUBLIC_HEADERS_DIR}"
+target_include_directories(${TARGET_NAME}_s PUBLIC
+ $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:include/${TARGET_NAME}>
PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}"
PRIVATE "${IE_MAIN_SOURCE_DIR}/src/dumper")
@@ -173,7 +178,8 @@ target_link_libraries(${TARGET_NAME}_s PRIVATE fluid
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
ie_register_plugins(MAIN_TARGET ${TARGET_NAME}
- POSSIBLE_PLUGINS MultiDevicePlugin HeteroPlugin clDNNPlugin dliaPlugin GNAPlugin MKLDNNPlugin myriadPlugin HDDLPlugin)
+ P $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include>
++ $<INSTALL_INTERFACE:include/${TARGET_NAME}>OSSIBLE_PLUGINS clDNNPlugin dliaPlugin GNAPlugin MKLDNNPlugin myriadPlugin)
# export targets
export(TARGETS ${TARGET_NAME} NAMESPACE IE:: FILE "${CMAKE_BINARY_DIR}/targets.cmake")
@@ -204,3 +210,14 @@ configure_file(
"${CMAKE_SOURCE_DIR}/cmake/share/InferenceEngineConfig-version.cmake.in"
"${CMAKE_BINARY_DIR}/InferenceEngineDeveloperPackageConfig-version.cmake"
COPYONLY)
+
+set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/InferenceEngine)
+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(EXPORT ${TARGET_NAME} DESTINATION ${ConfigPackageLocation} NAMESPACE IE:: FILE targets.cmake)
+install(DIRECTORY ${PUBLIC_HEADERS_DIR}/ DESTINATION include/${TARGET_NAME} FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp")
+install(FILES
+ "${CMAKE_BINARY_DIR}/InferenceEngineConfig.cmake"
+ "${CMAKE_BINARY_DIR}/InferenceEngineConfig-version.cmake"
+ DESTINATION ${ConfigPackageLocation})
+
+install(FILES "$<TARGET_FILE_DIR:${TARGET_NAME}>/plugins.xml" DESTINATION /usr/share/openvino/inference-engine)
diff --git a/inference-engine/src/inference_engine/ie_util_internal.cpp b/inference-engine/src/inference_engine/ie_util_internal.cpp
index 1a2f078..b2668a9 100644
--- a/inference-engine/src/inference_engine/ie_util_internal.cpp
+++ b/inference-engine/src/inference_engine/ie_util_internal.cpp
@@ -760,9 +760,10 @@ std::string getIELibraryPath() {
GetModuleFileNameA(hm, (LPSTR)ie_library_path, sizeof(ie_library_path));
return getPathName(ie_library_path);
#else
- Dl_info info;
- dladdr(reinterpret_cast<void *>(getIELibraryPath), &info);
- return getPathName(info.dli_fname);
+ //Dl_info info;
+ //dladdr(reinterpret_cast<void *>(getIELibraryPath), &info);
+ //return getPathName(info.dli_fname);
+ return "/usr/share/openvino/inference-engine";
#endif
}
diff --git a/inference-engine/src/mkldnn_plugin/CMakeLists.txt b/inference-engine/src/mkldnn_plugin/CMakeLists.txt
index d767724..80d33e6 100644
--- a/inference-engine/src/mkldnn_plugin/CMakeLists.txt
+++ b/inference-engine/src/mkldnn_plugin/CMakeLists.txt
@@ -69,3 +69,4 @@ target_compile_definitions(test_${TARGET_NAME} PUBLIC -DMKLDNN_THR=${MKLDNN_THR}
target_link_libraries(test_${TARGET_NAME} PRIVATE inference_engine_s mkldnn)
set_target_properties(test_${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME test_${TARGET_NAME})
+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt
index 7023513..b533f07 100644
--- a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt
+++ b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt
@@ -36,3 +36,5 @@ endif()
target_link_libraries(${TARGET_NAME}
PRIVATE
${INTEL_ITT_LIBS} inference_engine vpu_graph_transformer mvnc)
+
+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/inference-engine/tests/unit/CMakeLists.txt b/inference-engine/tests/unit/CMakeLists.txt
index 8180802..2d37b1e 100644
--- a/inference-engine/tests/unit/CMakeLists.txt
+++ b/inference-engine/tests/unit/CMakeLists.txt
@@ -122,3 +122,5 @@ add_test(NAME ${TARGET_NAME}
COMMAND ${TARGET_NAME})
add_dependencies(${TARGET_NAME} mock_engine)
+
+install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
--
2.7.4