Add some lib directories compiler option (#255)

* Add OPENCV_DIRECTORY option to provide the ability to specify the installed opecv lib pat

* Use find_package for opencv in windows, mac and linux

* Fix opencv cmake

* Fix python lib rpath setting

* fix mac python package

* Add some promt when use different opencv lib

* add status message

* Fix the backslash

* Fix python package user defined libs

* Fix windows python process libs

* Add windows lib set path
This commit is contained in:
Jack Zhou
2022-09-21 13:25:56 +08:00
committed by GitHub
parent addce837bc
commit e7f741292e
6 changed files with 83 additions and 155 deletions

View File

@@ -50,9 +50,10 @@ option(ENABLE_VISION "Whether to enable vision models usage." OFF)
option(ENABLE_VISION_VISUALIZE "Whether to enable visualize vision model result toolbox." ON) option(ENABLE_VISION_VISUALIZE "Whether to enable visualize vision model result toolbox." ON)
option(ENABLE_TEXT "Whether to enable text models usage." OFF) option(ENABLE_TEXT "Whether to enable text models usage." OFF)
option(WITH_TESTING "Whether to compile with unittest." OFF) option(WITH_TESTING "Whether to compile with unittest." OFF)
option(OPENCV_DIRECTORY "User can specify the installed opencv directory.")
# Please don't open this flag now, some bugs exists. # Please don't open this flag now, some bugs exists.
option(ENABLE_OPENCV_CUDA "Whether to enable opencv with cuda, this will allow process image with GPU." OFF) # option(ENABLE_OPENCV_CUDA "Whether to enable opencv with cuda, this will allow process image with GPU." OFF)
option(ENABLE_DEBUG "Whether to enable print debug information, this may reduce performance." OFF) option(ENABLE_DEBUG "Whether to enable print debug information, this may reduce performance." OFF)
# Whether to build fastdeply with vision/text/... examples, only for testings. # Whether to build fastdeply with vision/text/... examples, only for testings.
@@ -242,9 +243,17 @@ if(ENABLE_VISION)
list(APPEND DEPEND_LIBS yaml-cpp) list(APPEND DEPEND_LIBS yaml-cpp)
list(APPEND ALL_DEPLOY_SRCS ${DEPLOY_VISION_SRCS}) list(APPEND ALL_DEPLOY_SRCS ${DEPLOY_VISION_SRCS})
include_directories(${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/include) include_directories(${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/include)
include(${PROJECT_SOURCE_DIR}/cmake/opencv.cmake) if (OPENCV_DIRECTORY)
list(APPEND DEPEND_LIBS ${OpenCV_LIBS}) message(STATUS "Use the opencv lib specified by user. The OpenCV path: ${OPENCV_DIRECTORY}")
STRING(REGEX REPLACE "\\\\" "/" OPENCV_DIRECTORY ${OPENCV_DIRECTORY})
find_package(OpenCV REQUIRED PATHS ${OPENCV_DIRECTORY})
list(APPEND DEPEND_LIBS ${OpenCV_LIBS})
include_directories(${OpenCV_INCLUDE_DIRS})
else()
message(STATUS "Use the default opencv lib.")
include(${PROJECT_SOURCE_DIR}/cmake/opencv.cmake)
list(APPEND DEPEND_LIBS ${OpenCV_LIBS})
endif()
if(ENABLE_VISION_VISUALIZE) if(ENABLE_VISION_VISUALIZE)
add_definitions(-DENABLE_VISION_VISUALIZE) add_definitions(-DENABLE_VISION_VISUALIZE)
endif() endif()
@@ -263,6 +272,7 @@ endif()
configure_file(${PROJECT_SOURCE_DIR}/FastDeploy.cmake.in ${PROJECT_SOURCE_DIR}/FastDeploy.cmake @ONLY) configure_file(${PROJECT_SOURCE_DIR}/FastDeploy.cmake.in ${PROJECT_SOURCE_DIR}/FastDeploy.cmake @ONLY)
configure_file(${PROJECT_SOURCE_DIR}/python/fastdeploy/c_lib_wrap.py.in ${PROJECT_SOURCE_DIR}/python/fastdeploy/c_lib_wrap.py) configure_file(${PROJECT_SOURCE_DIR}/python/fastdeploy/c_lib_wrap.py.in ${PROJECT_SOURCE_DIR}/python/fastdeploy/c_lib_wrap.py)
configure_file(${PROJECT_SOURCE_DIR}/python/scripts/process_libraries.py.in ${PROJECT_SOURCE_DIR}/python/scripts/process_libraries.py)
list(REMOVE_ITEM ALL_DEPLOY_SRCS ${DEPLOY_PYBIND_SRCS}) list(REMOVE_ITEM ALL_DEPLOY_SRCS ${DEPLOY_PYBIND_SRCS})

View File

@@ -10,8 +10,9 @@ set(ENABLE_TRT_BACKEND @ENABLE_TRT_BACKEND@)
set(ENABLE_PADDLE_FRONTEND @ENABLE_PADDLE_FRONTEND@) set(ENABLE_PADDLE_FRONTEND @ENABLE_PADDLE_FRONTEND@)
set(ENABLE_VISION @ENABLE_VISION@) set(ENABLE_VISION @ENABLE_VISION@)
set(ENABLE_TEXT @ENABLE_TEXT@) set(ENABLE_TEXT @ENABLE_TEXT@)
set(ENABLE_OPENCV_CUDA @ENABLE_OPENCV_CUDA@) # set(ENABLE_OPENCV_CUDA @ENABLE_OPENCV_CUDA@)
set(LIBRARY_NAME @LIBRARY_NAME@) set(LIBRARY_NAME @LIBRARY_NAME@)
set(OPENCV_DIRECTORY @OPENCV_DIRECTORY@)
set(FASTDEPLOY_LIBS "") set(FASTDEPLOY_LIBS "")
set(FASTDEPLOY_INCS "") set(FASTDEPLOY_INCS "")
@@ -76,26 +77,13 @@ if(WITH_GPU)
endif() endif()
if(ENABLE_VISION) if(ENABLE_VISION)
if(WIN32) set(OpenCV_DIR @OpenCV_DIR@)
set(OpenCV_DIR ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv-win-x64-3.4.16/build) if (OPENCV_DIRECTORY)
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR}) set(OpenCV_DIR ${OPENCV_DIRECTORY})
list(APPEND FASTDEPLOY_INCS ${OpenCV_INCLUDE_DIRS})
list(APPEND FASTDEPLOY_LIBS ${OpenCV_LIBS})
else()
find_library(OPENCV_CORE_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
find_library(OPENCV_HIGHGUI_LIB opencv_highgui ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
find_library(OPENCV_IMGPROC_LIB opencv_imgproc ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
find_library(OPENCV_IMGCODESC_LIB opencv_imgcodecs ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
list(APPEND FASTDEPLOY_LIBS ${OPENCV_CORE_LIB} ${OPENCV_HIGHGUI_LIB} ${OPENCV_IMGPROC_LIB} ${OPENCV_IMGCODESC_LIB})
list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/include)
if(ENABLE_OPENCV_CUDA)
find_library(OPENCV_CUDAARITHM_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
find_library(OPENCV_CUDAIMGPROC_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
find_library(OPENCV_CUDAWARPING_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib NO_DEFAULT_PATH)
list(APPEND FASTDEPLOY_LIBS ${OPENCV_CUDAARITHM_LIB} ${OPENCV_CUDAIMGPROC_LIB} ${OPENCV_CUDAWARPING_LIB})
endif()
endif() endif()
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})
list(APPEND FASTDEPLOY_INCS ${OpenCV_INCLUDE_DIRS})
list(APPEND FASTDEPLOY_LIBS ${OpenCV_LIBS})
endif() endif()
if (ENABLE_TEXT) if (ENABLE_TEXT)

View File

@@ -14,125 +14,39 @@
set(OPENCV_INSTALL_DIR ${THIRD_PARTY_PATH}/install/) set(OPENCV_INSTALL_DIR ${THIRD_PARTY_PATH}/install/)
set(OPENCV_URL_PREFIX "https://bj.bcebos.com/paddle2onnx/libs")
set(COMPRESSED_SUFFIX ".tgz")
if(WIN32) if(WIN32)
set(OPENCV_URL https://bj.bcebos.com/paddle2onnx/libs/opencv-win-x64-3.4.16.zip) set(OPENCV_LIB "opencv-win-x64-3.4.16")
download_and_decompress(${OPENCV_URL} ${CMAKE_CURRENT_BINARY_DIR}/opencv-win-x64-3.4.16.zip ${THIRD_PARTY_PATH}/install/) set(COMPRESSED_SUFFIX ".zip")
set(OpenCV_DIR ${THIRD_PARTY_PATH}/install/opencv-win-x64-3.4.16/build)
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})
include_directories(${OpenCV_INCLUDE_DIRS})
list(APPEND DEPEND_LIBS ${OpenCV_LIBS})
else()
include(ExternalProject)
set(OPENCV_PROJECT "extern_opencv")
set(OPENCV_PREFIX_DIR ${THIRD_PARTY_PATH}/opencv)
set(OPENCV_SOURCE_DIR
${THIRD_PARTY_PATH}/opencv/src/${OPENCV_PROJECT})
set(OPENCV_INSTALL_DIR ${THIRD_PARTY_PATH}/install/opencv)
set(OPENCV_INC_DIR
"${OPENCV_INSTALL_DIR}/include/"
CACHE PATH "opencv include directory." FORCE)
set(OPENCV_LIB_DIR
"${OPENCV_INSTALL_DIR}/lib"
CACHE PATH "opencv lib directory." FORCE)
set(CMAKE_BUILD_RPATH "${CMAKE_BUILD_RPATH}" "${OPENCV_LIB_DIR}")
if(WIN32)
message(FATAL_ERROR "NOT SUPPORT WINDOWS NOW, OPENCV")
elseif(APPLE) elseif(APPLE)
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64") if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64")
set(OPENCV_URL "https://bj.bcebos.com/paddle2onnx/libs/opencv-osx-arm64-3.4.16.tgz") set(OPENCV_LIB "opencv-osx-arm64-3.4.16")
else() else()
set(OPENCV_URL "https://bj.bcebos.com/paddle2onnx/libs/opencv-osx-x86_64-3.4.16.tgz") set(OPENCV_LIB "opencv-osx-x86_64-3.4.16")
endif() endif()
else() else()
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64") if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
set(OPENCV_URL "https://bj.bcebos.com/paddle2onnx/libs/opencv-linux-aarch64-3.4.14.tgz") set(OPENCV_LIB "opencv-linux-aarch64-3.4.14")
else() else()
set(OPENCV_URL "https://bj.bcebos.com/paddle2onnx/libs/opencv-linux-x64-3.4.16.tgz") set(OPENCV_LIB "opencv-linux-x64-3.4.16")
endif() endif()
if(ENABLE_OPENCV_CUDA) if(ENABLE_OPENCV_CUDA)
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64") if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
message(FATAL_ERROR "Cannot set ENABLE_OPENCV_CUDA=ON while in linux-aarch64 platform.") message(FATAL_ERROR "Cannot set ENABLE_OPENCV_CUDA=ON while in linux-aarch64 platform.")
endif() endif()
set(OPENCV_URL "https://bj.bcebos.com/paddle2onnx/libs/opencv-linux-x64-gpu-3.4.16.tgz") set(OPENCV_LIB "opencv-linux-x64-gpu-3.4.16")
endif() endif()
endif() endif()
include_directories(${OPENCV_INC_DIR} set(OPENCV_URL ${OPENCV_URL_PREFIX}/${OPENCV_LIB}${COMPRESSED_SUFFIX})
)# For OPENCV code to include internal headers. download_and_decompress(${OPENCV_URL} ${CMAKE_CURRENT_BINARY_DIR}/${OPENCV_LIB}${COMPRESSED_SUFFIX} ${THIRD_PARTY_PATH}/install/)
set(OPENCV_SOURCE_LIB ${OPENCV_SOURCE_DIR}/lib/) set(OpenCV_DIR ${THIRD_PARTY_PATH}/install/${OPENCV_LIB}/)
if(WIN32) if (WIN32)
message(FATAL_ERROR "NOT SUPPORT WEINDOWS, OPENCV") set(OpenCV_DIR ${OpenCV_DIR}/build/)
elseif(APPLE)
set(OPENCV_CORE_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_core.dylib)
set(OPENCV_HIGHGUI_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_highgui.dylib)
set(OPENCV_IMGPROC_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_imgproc.dylib)
set(OPENCV_IMGCODESC_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_imgcodecs.dylib)
else()
set(OPENCV_SOURCE_LIB ${OPENCV_SOURCE_DIR}/lib64)
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
set(OPENCV_SOURCE_LIB ${OPENCV_SOURCE_DIR}/lib)
endif()
set(OPENCV_CORE_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_core.so)
set(OPENCV_HIGHGUI_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_highgui.so)
set(OPENCV_IMGPROC_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_imgproc.so)
set(OPENCV_IMGCODESC_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_imgcodecs.so)
set(OPENCV_CUDAARITHM_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_cudaarithm.so)
set(OPENCV_CUDAIMGPROC_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_cudaimgproc.so)
set(OPENCV_CUDAWARPING_LIB ${OPENCV_INSTALL_DIR}/lib/libopencv_cudawarping.so)
endif() endif()
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})
if(WIN32) include_directories(${OpenCV_INCLUDE_DIRS})
message(FATAL_ERROR "NOT SUPPORT WINDOWS, OPENCV") list(APPEND DEPEND_LIBS ${OpenCV_LIBS})
else()
ExternalProject_Add(
${OPENCV_PROJECT}
${EXTERNAL_PROJECT_LOG_ARGS}
URL ${OPENCV_URL}
PREFIX ${OPENCV_PREFIX_DIR}
DOWNLOAD_NO_PROGRESS 1
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
UPDATE_COMMAND ""
INSTALL_COMMAND
${CMAKE_COMMAND} -E remove_directory ${OPENCV_INSTALL_DIR} &&
${CMAKE_COMMAND} -E make_directory ${OPENCV_INSTALL_DIR} &&
${CMAKE_COMMAND} -E rename ${OPENCV_SOURCE_LIB} ${OPENCV_INSTALL_DIR}/lib &&
${CMAKE_COMMAND} -E copy_directory ${OPENCV_SOURCE_DIR}/include/
${OPENCV_INC_DIR}
BUILD_BYPRODUCTS ${OPENCV_LIB})
endif()
add_library(external_opencv_core STATIC IMPORTED GLOBAL)
set_property(TARGET external_opencv_core PROPERTY IMPORTED_LOCATION ${OPENCV_CORE_LIB})
add_library(external_opencv_highgui STATIC IMPORTED GLOBAL)
set_property(TARGET external_opencv_highgui PROPERTY IMPORTED_LOCATION ${OPENCV_HIGHGUI_LIB})
add_library(external_opencv_imgproc STATIC IMPORTED GLOBAL)
set_property(TARGET external_opencv_imgproc PROPERTY IMPORTED_LOCATION ${OPENCV_IMGPROC_LIB})
add_library(external_opencv_imgcodesc STATIC IMPORTED GLOBAL)
set_property(TARGET external_opencv_imgcodesc PROPERTY IMPORTED_LOCATION ${OPENCV_IMGCODESC_LIB})
add_dependencies(external_opencv_core ${OPENCV_PROJECT})
add_dependencies(external_opencv_highgui ${OPENCV_PROJECT})
add_dependencies(external_opencv_imgproc ${OPENCV_PROJECT})
add_dependencies(external_opencv_imgcodesc ${OPENCV_PROJECT})
list(APPEND DEPEND_LIBS external_opencv_core external_opencv_highgui external_opencv_imgproc external_opencv_imgcodesc)
if(ENABLE_OPENCV_CUDA)
add_library(extern_opencv_cudawarping STATIC IMPORTED GLOBAL)
set_property(TARGET extern_opencv_cudawarping PROPERTY IMPORTED_LOCATION ${OPENCV_CUDAWARPING_LIB})
add_dependencies(extern_opencv_cudawarping ${OPENCV_PROJECT})
add_library(extern_opencv_cudaarithm STATIC IMPORTED GLOBAL)
set_property(TARGET extern_opencv_cudaarithm PROPERTY IMPORTED_LOCATION ${OPENCV_CUDAARITHM_LIB})
add_dependencies(extern_opencv_cudaarithm ${OPENCV_PROJECT})
add_library(extern_opencv_cudaimgproc STATIC IMPORTED GLOBAL)
set_property(TARGET extern_opencv_cudaimgproc PROPERTY IMPORTED_LOCATION ${OPENCV_CUDAIMGPROC_LIB})
add_dependencies(extern_opencv_cudaimgproc ${OPENCV_PROJECT})
list(APPEND DEPEND_LIBS extern_opencv_cudawarping extern_opencv_cudaarithm extern_opencv_cudaimgproc)
endif()
endif(WIN32)

View File

@@ -16,6 +16,8 @@ import logging
import os import os
import sys import sys
user_specified_dirs = ['@OPENCV_DIRECTORY@', ]
def is_built_with_gpu() -> bool: def is_built_with_gpu() -> bool:
return True if "@WITH_GPU@" == "ON" else False return True if "@WITH_GPU@" == "ON" else False
@@ -143,11 +145,13 @@ if os.name == "nt":
current_path = os.path.abspath(__file__) current_path = os.path.abspath(__file__)
dirname = os.path.dirname(current_path) dirname = os.path.dirname(current_path)
third_libs_dir = os.path.join(dirname, "libs") third_libs_dir = os.path.join(dirname, "libs")
add_dll_search_dir(third_libs_dir) all_dirs = user_specified_dirs + [third_libs_dir]
for root, dirs, filenames in os.walk(third_libs_dir): for dir in all_dirs:
for d in dirs: add_dll_search_dir(dir)
if d == "lib" or d == "bin": for root, dirs, filenames in os.walk(dir):
add_dll_search_dir(os.path.join(dirname, root, d)) for d in dirs:
if d == "lib" or d == "bin":
add_dll_search_dir(os.path.join(dirname, root, d))
try: try:

View File

@@ -18,6 +18,7 @@ import shutil
import subprocess import subprocess
import platform import platform
user_specified_dirs = ['@OPENCV_DIRECTORY@', ]
def process_on_linux(current_dir): def process_on_linux(current_dir):
rpaths = ["$ORIGIN:$ORIGIN/libs"] rpaths = ["$ORIGIN:$ORIGIN/libs"]
@@ -31,13 +32,15 @@ def process_on_linux(current_dir):
fd_libs.append(filename) fd_libs.append(filename)
third_libs_path = os.path.join(libs_path, "third_libs") third_libs_path = os.path.join(libs_path, "third_libs")
for root, dirs, files in os.walk(third_libs_path): all_libs_paths = [third_libs_path] + user_specified_dirs
for d in dirs: for path in all_libs_paths:
if d != "lib": for root, dirs, files in os.walk(path):
continue for d in dirs:
rel_path = os.path.relpath(os.path.join(root, d), libs_path) if d not in ["lib", "lib64"]:
rpath = "$ORIGIN/" + rel_path continue
rpaths.append(rpath) rel_path = os.path.relpath(os.path.join(root, d), libs_path)
rpath = "$ORIGIN/" + rel_path
rpaths.append(rpath)
for lib in fd_libs: for lib in fd_libs:
command = "patchelf --set-rpath '{}' {}".format(":".join(rpaths), lib) command = "patchelf --set-rpath '{}' {}".format(":".join(rpaths), lib)
@@ -66,18 +69,20 @@ def process_on_mac(current_dir):
commands = list() commands = list()
third_libs_path = os.path.join(libs_path, "third_libs") third_libs_path = os.path.join(libs_path, "third_libs")
for root, dirs, files in os.walk(third_libs_path): all_libs_paths = [third_libs_path] + user_specified_dirs
for d in dirs: for path in all_libs_paths:
if d != "lib": for root, dirs, files in os.walk(path):
continue for d in dirs:
rel_path = rel_path = os.path.relpath(os.path.join(root, d), libs_path) if d not in ["lib", "lib64"]:
rpath = "$loader_path/" + rel_path continue
for lib in fd_libs: rel_path = rel_path = os.path.relpath(os.path.join(root, d), libs_path)
pre_commands.append( rpath = "$loader_path/" + rel_path
"install_name_tool -delete_rpath '@loader_path/{}' {}".format( for lib in fd_libs:
rpath, lib)) pre_commands.append(
commands.append("install_name_tool -add_rpath 'loader_path/{}' {}". "install_name_tool -delete_rpath '@loader_path/{}' {}".format(
format(rpath, lib)) rpath, lib))
commands.append("install_name_tool -add_rpath 'loader_path/{}' {}".
format(rpath, lib))
for cmd in pre_commands: for cmd in pre_commands:
try: try:
@@ -136,6 +141,7 @@ def process_libraries(current_dir):
package_data.append( package_data.append(
os.path.relpath(f, os.path.join(current_dir, os.path.relpath(f, os.path.join(current_dir,
"fastdeploy"))) "fastdeploy")))
return package_data return package_data
filters = [".vcxproj", ".png", ".java", ".h", ".cc", ".cpp", ".hpp"] filters = [".vcxproj", ".png", ".java", ".h", ".cc", ".cpp", ".hpp"]
@@ -145,7 +151,12 @@ def process_libraries(current_dir):
if f.count(flt) > 0: if f.count(flt) > 0:
remain = False remain = False
filename = os.path.split(f)[-1] filename = os.path.split(f)[-1]
if filename in ["libnvinfer_plugin.so", "libnvinfer_plugin.so.8.4.1", "libnvinfer.so", "libnvinfer.so.8.4.1", "libnvonnxparser.so", "libnvonnxparser.so.8.4.1", "libnvparsers.so", "libnvparsers.so.8.4.1"]: if filename in [
"libnvinfer_plugin.so", "libnvinfer_plugin.so.8.4.1",
"libnvinfer.so", "libnvinfer.so.8.4.1", "libnvonnxparser.so",
"libnvonnxparser.so.8.4.1", "libnvparsers.so",
"libnvparsers.so.8.4.1"
]:
continue continue
if remain: if remain:
package_data.append( package_data.append(

View File

@@ -62,6 +62,7 @@ setup_configs["CUDA_DIRECTORY"] = os.getenv("CUDA_DIRECTORY",
"/usr/local/cuda") "/usr/local/cuda")
setup_configs["LIBRARY_NAME"] = PACKAGE_NAME setup_configs["LIBRARY_NAME"] = PACKAGE_NAME
setup_configs["PY_LIBRARY_NAME"] = PACKAGE_NAME + "_main" setup_configs["PY_LIBRARY_NAME"] = PACKAGE_NAME + "_main"
setup_configs["OPENCV_DIRECTORY"] = os.getenv("OPENCV_DIRECTORY", "")
if setup_configs["WITH_GPU"] == "ON": if setup_configs["WITH_GPU"] == "ON":
wheel_name = "fastdeploy-gpu-python" wheel_name = "fastdeploy-gpu-python"
@@ -327,8 +328,7 @@ ext_modules = [
# no need to do fancy stuff so far # no need to do fancy stuff so far
if PACKAGE_NAME != "fastdeploy": if PACKAGE_NAME != "fastdeploy":
packages = setuptools.find_packages( packages = setuptools.find_packages(exclude=['fastdeploy*', 'scripts'])
exclude=['fastdeploy*', 'scripts'])
else: else:
packages = setuptools.find_packages(exclude=['scripts']) packages = setuptools.find_packages(exclude=['scripts'])
@@ -353,7 +353,8 @@ if sys.argv[1] == "install" or sys.argv[1] == "bdist_wheel":
shutil.copy( shutil.copy(
os.path.join(TOP_DIR, "LICENSE"), os.path.join(TOP_DIR, PACKAGE_NAME)) os.path.join(TOP_DIR, "LICENSE"), os.path.join(TOP_DIR, PACKAGE_NAME))
if not os.path.exists( if not os.path.exists(
os.path.join(TOP_DIR, "python", "fastdeploy", "libs", "third_libs")): os.path.join(TOP_DIR, "python", "fastdeploy", "libs",
"third_libs")):
print( print(
"Didn't detect path: fastdeploy/libs/third_libs exist, please execute `python setup.py build` first" "Didn't detect path: fastdeploy/libs/third_libs exist, please execute `python setup.py build` first"
) )