Add get_openvino_libs

This commit is contained in:
zhoushunjie
2022-09-25 18:26:04 +08:00
parent 870c22c8e9
commit f142fcdf60
4 changed files with 27 additions and 41 deletions

View File

@@ -353,6 +353,7 @@ install(
${PROJECT_SOURCE_DIR}/ThirdPartyNotices.txt
${PROJECT_SOURCE_DIR}/VERSION_NUMBER
${PROJECT_SOURCE_DIR}/FastDeploy.cmake
${PROJECT_SOURCE_DIR}/FastDeployUtils.cmake
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
install(

View File

@@ -19,6 +19,9 @@ set(FASTDEPLOY_LIBS "")
set(FASTDEPLOY_INCS "")
list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/include)
# Note(zhoushunjie): include some useful utils function
include(${CMAKE_CURRENT_LIST_DIR}/FastDeployUtils.cmake)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11)
endif()
@@ -57,19 +60,7 @@ endif()
if(ENABLE_OPENVINO_BACKEND)
set(OPENVINO_FILENAME @OPENVINO_FILENAME@)
find_library(OPENVINO_LIB openvino ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/${OPENVINO_FILENAME}/runtime/lib/ NO_DEFAULT_PATH)
set(OPENVINO_LIBS ${OPENVINO_LIB})
# Find tbb libs
find_package(TBB PATHS "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/${OPENVINO_FILENAME}/runtime/3rdparty/tbb/")
if (TBB_FOUND)
list(APPEND OPENVINO_LIBS ${TBB_IMPORTED_TARGETS})
else()
# TODO(zhoushunjie): Use openvino with tbb on linux in future.
set(OMP_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/${OPENVINO_FILENAME}/runtime/3rdparty/omp/lib/libiomp5.so")
add_library(omp STATIC IMPORTED GLOBAL)
set_property(TARGET omp PROPERTY IMPORTED_LOCATION ${OMP_LIB})
list(APPEND OPENVINO_LIBS omp)
endif()
get_openvino_libs(${CMAKE_CURRENT_LIST_DIR}/third_libs/install/${OPENVINO_FILENAME}/runtime)
message(STATUS "OPENVINO_LIBS = ${OPENVINO_LIBS}")
list(APPEND FASTDEPLOY_LIBS ${OPENVINO_LIBS})
endif()
@@ -143,6 +134,7 @@ endif()
message(STATUS " ENABLE_TRT_BACKEND : ${ENABLE_TRT_BACKEND}")
message(STATUS " ENABLE_VISION : ${ENABLE_VISION}")
message(STATUS " ENABLE_TEXT : ${ENABLE_TEXT}")
message(STATUS " DEPENDENCY_LIBS : ${FASTDEPLOY_LIBS}")
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.4.0")

17
FastDeployUtils.cmake Normal file
View File

@@ -0,0 +1,17 @@
CMAKE_MINIMUM_REQUIRED (VERSION 3.12)
function(get_openvino_libs OPENVINO_RUNTIME_DIR)
set(LIB_LIST "")
find_library(OPENVINO_LIB openvino ${OPENVINO_RUNTIME_DIR}/lib/ NO_DEFAULT_PATH)
list(APPEND LIB_LIST ${OPENVINO_LIB})
find_package(TBB PATHS "${OPENVINO_RUNTIME_DIR}/3rdparty/tbb")
if (TBB_FOUND)
list(APPEND LIB_LIST ${TBB_IMPORTED_TARGETS})
else()
# TODO(zhoushunjie): Use openvino with tbb on linux in future.
set(OMP_LIB "${OPENVINO_RUNTIME_DIR}/3rdparty/omp/lib/libiomp5.so")
list(APPEND LIB_LIST ${OMP_LIB})
endif()
set(OPENVINO_LIBS ${LIB_LIST} PARENT_SCOPE)
endfunction()

View File

@@ -41,7 +41,6 @@ else()
endif()
set(OPENVINO_URL "${OPENVINO_URL_PREFIX}${OPENVINO_FILENAME}${COMPRESSED_SUFFIX}")
set(OPENVINO_INSTALL_DIR ${THIRD_PARTY_PATH}/install/${OPENVINO_FILENAME}/runtime)
set(OPENVINO_INSTALL_INC_DIR
"${OPENVINO_INSTALL_DIR}/include"
@@ -62,9 +61,6 @@ download_and_decompress(${OPENVINO_URL}
${THIRD_PARTY_PATH}/install)
if(WIN32)
set(OPENVINO_LIB
"${OPENVINO_INSTALL_DIR}/lib/openvino.lib"
CACHE FILEPATH "OPENVINO shared library." FORCE)
file(GLOB_RECURSE OPENVINO_LIB_FILES ${OPENVINO_INSTALL_DIR}/lib/intel64/Release/*)
file(COPY ${OPENVINO_LIB_FILES} DESTINATION ${OPENVINO_INSTALL_DIR}/lib/)
file(REMOVE_RECURSE ${OPENVINO_INSTALL_DIR}/lib/intel64)
@@ -73,16 +69,10 @@ if(WIN32)
file(COPY ${OPENVINO_BIN_FILES} DESTINATION ${OPENVINO_INSTALL_DIR}/bin/)
file(REMOVE_RECURSE ${OPENVINO_INSTALL_DIR}/bin/intel64)
elseif(APPLE)
set(OPENVINO_LIB
"${OPENVINO_INSTALL_DIR}/lib/libopenvino.dylib"
CACHE FILEPATH "OPENVINO shared library." FORCE)
file(GLOB_RECURSE OPENVINO_LIB_FILES ${OPENVINO_INSTALL_DIR}/lib/intel64/Release/*)
file(COPY ${OPENVINO_LIB_FILES} DESTINATION ${OPENVINO_INSTALL_DIR}/lib/)
file(REMOVE_RECURSE ${OPENVINO_INSTALL_DIR}/lib/intel64)
else()
set(OPENVINO_LIB
"${OPENVINO_INSTALL_DIR}/lib/libopenvino.so"
CACHE FILEPATH "OPENVINO shared library." FORCE)
file(GLOB_RECURSE OPENVINO_LIB_FILES ${OPENVINO_INSTALL_DIR}/lib/intel64/*)
file(COPY ${OPENVINO_LIB_FILES} DESTINATION ${OPENVINO_INSTALL_DIR}/lib/)
file(REMOVE_RECURSE ${OPENVINO_INSTALL_DIR}/lib/intel64)
@@ -94,21 +84,7 @@ file(REMOVE_RECURSE ${THIRD_PARTY_PATH}/install/${OPENVINO_FILENAME}/samples)
file(REMOVE_RECURSE ${THIRD_PARTY_PATH}/install/${OPENVINO_FILENAME}/setupvars.sh)
file(REMOVE_RECURSE ${THIRD_PARTY_PATH}/install/${OPENVINO_FILENAME}/tools)
add_library(external_openvino STATIC IMPORTED GLOBAL)
set_property(TARGET external_openvino PROPERTY IMPORTED_LOCATION ${OPENVINO_LIB})
set(OPENVINO_LIBS external_openvino)
find_package(TBB PATHS "${OPENVINO_INSTALL_DIR}/3rdparty/tbb")
if (TBB_FOUND)
list(APPEND OPENVINO_LIBS ${TBB_IMPORTED_TARGETS})
else()
# TODO(zhoushunjie): Use openvino with tbb on linux in future.
set(OMP_LIB "${OPENVINO_INSTALL_DIR}/3rdparty/omp/lib/libiomp5.so")
add_library(omp STATIC IMPORTED GLOBAL)
set_property(TARGET omp PROPERTY IMPORTED_LOCATION
${OMP_LIB})
list(APPEND OPENVINO_LIBS omp)
endif()
message(STATUS "OPENVINO_LIBS = ${OPENVINO_LIBS}")
list(APPEND DEPEND_LIBS ${OPENVINO_LIBS})
include(${PROJECT_SOURCE_DIR}/FastDeployUtils.cmake)
get_openvino_libs(${OPENVINO_INSTALL_DIR})
message("OPENVINO_LIBS = ${OPENVINO_LIBS}")
list(APPEND DEPEND_LIBS ${OPENVINO_LIBS})