mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 00:57:33 +08:00
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:
@@ -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_TEXT "Whether to enable text models usage." 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.
|
||||
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)
|
||||
|
||||
# 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 ALL_DEPLOY_SRCS ${DEPLOY_VISION_SRCS})
|
||||
include_directories(${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/include)
|
||||
if (OPENCV_DIRECTORY)
|
||||
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)
|
||||
add_definitions(-DENABLE_VISION_VISUALIZE)
|
||||
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}/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})
|
||||
|
||||
|
@@ -10,8 +10,9 @@ set(ENABLE_TRT_BACKEND @ENABLE_TRT_BACKEND@)
|
||||
set(ENABLE_PADDLE_FRONTEND @ENABLE_PADDLE_FRONTEND@)
|
||||
set(ENABLE_VISION @ENABLE_VISION@)
|
||||
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(OPENCV_DIRECTORY @OPENCV_DIRECTORY@)
|
||||
|
||||
set(FASTDEPLOY_LIBS "")
|
||||
set(FASTDEPLOY_INCS "")
|
||||
@@ -76,26 +77,13 @@ if(WITH_GPU)
|
||||
endif()
|
||||
|
||||
if(ENABLE_VISION)
|
||||
if(WIN32)
|
||||
set(OpenCV_DIR ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv-win-x64-3.4.16/build)
|
||||
set(OpenCV_DIR @OpenCV_DIR@)
|
||||
if (OPENCV_DIRECTORY)
|
||||
set(OpenCV_DIR ${OPENCV_DIRECTORY})
|
||||
endif()
|
||||
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})
|
||||
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()
|
||||
|
||||
if (ENABLE_TEXT)
|
||||
|
@@ -14,125 +14,39 @@
|
||||
|
||||
|
||||
set(OPENCV_INSTALL_DIR ${THIRD_PARTY_PATH}/install/)
|
||||
set(OPENCV_URL_PREFIX "https://bj.bcebos.com/paddle2onnx/libs")
|
||||
|
||||
set(COMPRESSED_SUFFIX ".tgz")
|
||||
if(WIN32)
|
||||
set(OPENCV_URL https://bj.bcebos.com/paddle2onnx/libs/opencv-win-x64-3.4.16.zip)
|
||||
download_and_decompress(${OPENCV_URL} ${CMAKE_CURRENT_BINARY_DIR}/opencv-win-x64-3.4.16.zip ${THIRD_PARTY_PATH}/install/)
|
||||
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")
|
||||
set(OPENCV_LIB "opencv-win-x64-3.4.16")
|
||||
set(COMPRESSED_SUFFIX ".zip")
|
||||
elseif(APPLE)
|
||||
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()
|
||||
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()
|
||||
else()
|
||||
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()
|
||||
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()
|
||||
if(ENABLE_OPENCV_CUDA)
|
||||
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
message(FATAL_ERROR "Cannot set ENABLE_OPENCV_CUDA=ON while in linux-aarch64 platform.")
|
||||
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()
|
||||
|
||||
include_directories(${OPENCV_INC_DIR}
|
||||
)# For OPENCV code to include internal headers.
|
||||
set(OPENCV_URL ${OPENCV_URL_PREFIX}/${OPENCV_LIB}${COMPRESSED_SUFFIX})
|
||||
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)
|
||||
message(FATAL_ERROR "NOT SUPPORT WEINDOWS, OPENCV")
|
||||
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)
|
||||
set(OpenCV_DIR ${OpenCV_DIR}/build/)
|
||||
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()
|
||||
|
||||
if(WIN32)
|
||||
message(FATAL_ERROR "NOT SUPPORT WINDOWS, OPENCV")
|
||||
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)
|
||||
find_package(OpenCV REQUIRED PATHS ${OpenCV_DIR})
|
||||
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||
list(APPEND DEPEND_LIBS ${OpenCV_LIBS})
|
||||
|
@@ -16,6 +16,8 @@ import logging
|
||||
import os
|
||||
import sys
|
||||
|
||||
user_specified_dirs = ['@OPENCV_DIRECTORY@', ]
|
||||
|
||||
|
||||
def is_built_with_gpu() -> bool:
|
||||
return True if "@WITH_GPU@" == "ON" else False
|
||||
@@ -143,8 +145,10 @@ if os.name == "nt":
|
||||
current_path = os.path.abspath(__file__)
|
||||
dirname = os.path.dirname(current_path)
|
||||
third_libs_dir = os.path.join(dirname, "libs")
|
||||
add_dll_search_dir(third_libs_dir)
|
||||
for root, dirs, filenames in os.walk(third_libs_dir):
|
||||
all_dirs = user_specified_dirs + [third_libs_dir]
|
||||
for dir in all_dirs:
|
||||
add_dll_search_dir(dir)
|
||||
for root, dirs, filenames in os.walk(dir):
|
||||
for d in dirs:
|
||||
if d == "lib" or d == "bin":
|
||||
add_dll_search_dir(os.path.join(dirname, root, d))
|
||||
|
@@ -18,6 +18,7 @@ import shutil
|
||||
import subprocess
|
||||
import platform
|
||||
|
||||
user_specified_dirs = ['@OPENCV_DIRECTORY@', ]
|
||||
|
||||
def process_on_linux(current_dir):
|
||||
rpaths = ["$ORIGIN:$ORIGIN/libs"]
|
||||
@@ -31,9 +32,11 @@ def process_on_linux(current_dir):
|
||||
fd_libs.append(filename)
|
||||
|
||||
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 path in all_libs_paths:
|
||||
for root, dirs, files in os.walk(path):
|
||||
for d in dirs:
|
||||
if d != "lib":
|
||||
if d not in ["lib", "lib64"]:
|
||||
continue
|
||||
rel_path = os.path.relpath(os.path.join(root, d), libs_path)
|
||||
rpath = "$ORIGIN/" + rel_path
|
||||
@@ -66,9 +69,11 @@ def process_on_mac(current_dir):
|
||||
|
||||
commands = list()
|
||||
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 path in all_libs_paths:
|
||||
for root, dirs, files in os.walk(path):
|
||||
for d in dirs:
|
||||
if d != "lib":
|
||||
if d not in ["lib", "lib64"]:
|
||||
continue
|
||||
rel_path = rel_path = os.path.relpath(os.path.join(root, d), libs_path)
|
||||
rpath = "$loader_path/" + rel_path
|
||||
@@ -136,6 +141,7 @@ def process_libraries(current_dir):
|
||||
package_data.append(
|
||||
os.path.relpath(f, os.path.join(current_dir,
|
||||
"fastdeploy")))
|
||||
|
||||
return package_data
|
||||
|
||||
filters = [".vcxproj", ".png", ".java", ".h", ".cc", ".cpp", ".hpp"]
|
||||
@@ -145,7 +151,12 @@ def process_libraries(current_dir):
|
||||
if f.count(flt) > 0:
|
||||
remain = False
|
||||
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
|
||||
if remain:
|
||||
package_data.append(
|
@@ -62,6 +62,7 @@ setup_configs["CUDA_DIRECTORY"] = os.getenv("CUDA_DIRECTORY",
|
||||
"/usr/local/cuda")
|
||||
setup_configs["LIBRARY_NAME"] = PACKAGE_NAME
|
||||
setup_configs["PY_LIBRARY_NAME"] = PACKAGE_NAME + "_main"
|
||||
setup_configs["OPENCV_DIRECTORY"] = os.getenv("OPENCV_DIRECTORY", "")
|
||||
|
||||
if setup_configs["WITH_GPU"] == "ON":
|
||||
wheel_name = "fastdeploy-gpu-python"
|
||||
@@ -327,8 +328,7 @@ ext_modules = [
|
||||
|
||||
# no need to do fancy stuff so far
|
||||
if PACKAGE_NAME != "fastdeploy":
|
||||
packages = setuptools.find_packages(
|
||||
exclude=['fastdeploy*', 'scripts'])
|
||||
packages = setuptools.find_packages(exclude=['fastdeploy*', 'scripts'])
|
||||
else:
|
||||
packages = setuptools.find_packages(exclude=['scripts'])
|
||||
|
||||
@@ -353,7 +353,8 @@ if sys.argv[1] == "install" or sys.argv[1] == "bdist_wheel":
|
||||
shutil.copy(
|
||||
os.path.join(TOP_DIR, "LICENSE"), os.path.join(TOP_DIR, PACKAGE_NAME))
|
||||
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(
|
||||
"Didn't detect path: fastdeploy/libs/third_libs exist, please execute `python setup.py build` first"
|
||||
)
|
||||
|
Reference in New Issue
Block a user