mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 00:57:33 +08:00

* Add text init file * Fix some cmake * Add TextModel, TextResult, PredictionOption * Add text preprocessor, postprocessor, pipeline of text model prediction * remove Text prefix * Add faster_tokenizer deps * Add ernie IE examples * Add eigen computation * eigen.h->compute.h * Add python ernie examples * Fix some comments
125 lines
5.7 KiB
CMake
125 lines
5.7 KiB
CMake
CMAKE_MINIMUM_REQUIRED (VERSION 3.16)
|
|
|
|
set(WITH_GPU @WITH_GPU@)
|
|
set(ENABLE_ORT_BACKEND @ENABLE_ORT_BACKEND@)
|
|
set(ENABLE_PADDLE_BACKEND @ENABLE_PADDLE_BACKEND@)
|
|
set(PADDLEINFERENCE_VERSION @PADDLEINFERENCE_VERSION@)
|
|
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(LIBRARY_NAME @LIBRARY_NAME@)
|
|
|
|
set(FASTDEPLOY_LIBS "")
|
|
set(FASTDEPLOY_INCS "")
|
|
list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/include)
|
|
|
|
if(NOT CMAKE_CXX_STANDARD)
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
endif()
|
|
|
|
find_library(FDLIB ${LIBRARY_NAME} ${CMAKE_CURRENT_LIST_DIR}/lib)
|
|
list(APPEND FASTDEPLOY_LIBS ${FDLIB})
|
|
|
|
if(ENABLE_ORT_BACKEND)
|
|
find_library(ORT_LIB onnxruntime ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/onnxruntime/lib)
|
|
list(APPEND FASTDEPLOY_LIBS ${ORT_LIB})
|
|
endif()
|
|
|
|
if(ENABLE_PADDLE_BACKEND)
|
|
find_library(PADDLE_LIB paddle_inference ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/paddle/lib)
|
|
if(WIN32)
|
|
set(DNNL_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/third_party/install/mkldnn/lib/mkldnn.lib")
|
|
set(IOMP_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/third_party/install/mklml/lib/libiomp5.lib")
|
|
elseif(APPLE)
|
|
set(DNNL_LIB "")
|
|
set(IOMP_LIB "")
|
|
else()
|
|
set(DNNL_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/third_party/install/mkldnn/lib/libmkldnn.so.0")
|
|
set(IOMP_LIB "${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle_inference/third_party/install/mklml/lib/libiomp5.so")
|
|
endif()
|
|
list(APPEND FASTDEPLOY_LIBS ${PADDLE_LIB} ${DNNL_LIB} ${IOMP_LIB})
|
|
endif()
|
|
|
|
if(WITH_GPU)
|
|
if (NOT CUDA_DIRECTORY)
|
|
set(CUDA_DIRECTORY "/usr/local/cuda")
|
|
endif()
|
|
if(WIN32)
|
|
find_library(CUDA_LIB cudart ${CUDA_DIRECTORY}/lib/x64)
|
|
else()
|
|
find_library(CUDA_LIB cudart ${CUDA_DIRECTORY}/lib64)
|
|
endif()
|
|
if(NOT CUDA_LIB)
|
|
message(FATAL_ERROR "[FastDeploy] Cannot find library cudart in ${CUDA_DIRECTORY}, Please define CUDA_DIRECTORY, e.g -DCUDA_DIRECTORY=/path/to/cuda")
|
|
endif()
|
|
list(APPEND FASTDEPLOY_LIBS ${CUDA_LIB})
|
|
|
|
if (ENABLE_TRT_BACKEND)
|
|
find_library(TRT_INFER_LIB nvinfer ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/tensorrt/lib)
|
|
find_library(TRT_ONNX_LIB nvonnxparser ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/tensorrt/lib)
|
|
find_library(TRT_CAFFE_LIB nvcaffe_parser ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/tensorrt/lib)
|
|
find_library(TRT_PLUGIN_LIB nvinfer_plugin ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/tensorrt/lib)
|
|
list(APPEND FASTDEPLOY_LIBS ${TRT_INFER_LIB} ${TRT_ONNX_LIB} ${TRT_CAFFE_LIB} ${TRT_PLUGIN_LIB})
|
|
endif()
|
|
endif()
|
|
|
|
if(ENABLE_VISION)
|
|
if(WIN32)
|
|
set(OpenCV_DIR ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv-win-x64-3.4.16/build)
|
|
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)
|
|
find_library(OPENCV_HIGHGUI_LIB opencv_highgui ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib)
|
|
find_library(OPENCV_IMGPROC_LIB opencv_imgproc ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib)
|
|
find_library(OPENCV_IMGCODESC_LIB opencv_imgcodecs ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib)
|
|
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)
|
|
find_library(OPENCV_CUDAIMGPROC_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib)
|
|
find_library(OPENCV_CUDAWARPING_LIB opencv_core ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/opencv/lib)
|
|
list(APPEND FASTDEPLOY_LIBS ${OPENCV_CUDAARITHM_LIB} ${OPENCV_CUDAIMGPROC_LIB} ${OPENCV_CUDAWARPING_LIB})
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
if (ENABLE_TEXT)
|
|
# Add dependency libs later
|
|
endif()
|
|
|
|
if(ENABLE_PADDLE_FRONTEND)
|
|
find_library(PADDLE2ONNX_LIB paddle2onnx ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/paddle2onnx/lib)
|
|
list(APPEND FASTDEPLOY_LIBS ${PADDLE2ONNX_LIB})
|
|
endif()
|
|
|
|
# Print compiler information
|
|
message(STATUS "")
|
|
message(STATUS "*************FastDeploy Building Summary**********")
|
|
message(STATUS " CMake version : ${CMAKE_VERSION}")
|
|
message(STATUS " CMake command : ${CMAKE_COMMAND}")
|
|
message(STATUS " System : ${CMAKE_SYSTEM_NAME}")
|
|
message(STATUS " C++ compiler : ${CMAKE_CXX_COMPILER}")
|
|
message(STATUS " C++ compiler version : ${CMAKE_CXX_COMPILER_VERSION}")
|
|
message(STATUS " CXX flags : ${CMAKE_CXX_FLAGS}")
|
|
message(STATUS " WITH_GPU : ${WITH_GPU}")
|
|
message(STATUS " ENABLE_ORT_BACKEND : ${ENABLE_ORT_BACKEND}")
|
|
message(STATUS " ENABLE_PADDLE_BACKEND : ${ENABLE_PADDLE_BACKEND}")
|
|
if(ENABLE_PADDLE_BACKEND)
|
|
message(STATUS " Paddle Inference version : ${PADDLEINFERENCE_VERSION}")
|
|
endif()
|
|
message(STATUS " ENABLE_TRT_BACKEND : ${ENABLE_TRT_BACKEND}")
|
|
message(STATUS " ENABLE_VISION : ${ENABLE_VISION}")
|
|
message(STATUS " ENABLE_TEXT : ${ENABLE_TEXT}")
|
|
|
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.4.0")
|
|
string(STRIP "${CMAKE_CXX_COMPILER_VERSION}" CMAKE_CXX_COMPILER_VERSION)
|
|
message(FATAL_ERROR "[ERROR] FastDeploy require g++ version >= 5.4.0, but now your g++ version is ${CMAKE_CXX_COMPILER_VERSION}, this may cause failure! Use -DCMAKE_CXX_COMPILER to define path of your compiler.")
|
|
endif()
|
|
endif()
|