You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
3.0 KiB
95 lines
3.0 KiB
cmake_minimum_required (VERSION 3.5)
|
|
|
|
set(ModuleName "TY_CheckModule")
|
|
|
|
|
|
#==============TensorRT 版本控制====================
|
|
# 查找 TensorRT 的头文件路径
|
|
find_path(TENSORRT_INCLUDE_DIR
|
|
NAMES NvInfer.h
|
|
PATHS /usr/include/x86_64-linux-gnu /usr/local/include
|
|
)
|
|
|
|
if(NOT TENSORRT_INCLUDE_DIR)
|
|
message(FATAL_ERROR "TensorRT headers not found")
|
|
endif()
|
|
|
|
message(STATUS "TENSORRT_INCLUDE_DIR: " ${TENSORRT_INCLUDE_DIR})
|
|
|
|
# 提取版本号
|
|
file(READ "${TENSORRT_INCLUDE_DIR}/NvInferVersion.h" TENSORRT_VERSION_CONTENTS)
|
|
string(REGEX MATCH "#define NV_TENSORRT_MAJOR ([0-9]+)" _ ${TENSORRT_VERSION_CONTENTS})
|
|
set(TRT_MAJOR_VERSION ${CMAKE_MATCH_1})
|
|
message(STATUS "Found TensorRT v${TRT_MAJOR_VERSION}")
|
|
# 检查版本
|
|
if(TRT_MAJOR_VERSION VERSION_LESS 10)
|
|
message(STATUS " close //#define USE_TERNSORRT10_BIGMODEL")
|
|
else()
|
|
add_definitions(-DUSE_TERNSORRT10_BIGMODEL=${TEST_VALUE})
|
|
message(STATUS "#define USE_TERNSORRT10_BIGMODEL")
|
|
|
|
endif()
|
|
|
|
#==============TensorRT 版本控制====================
|
|
|
|
set(CMAKE_CXX_FLAGS "-Wno-error=deprecated-declarations -Wno-deprecated-declarations")
|
|
find_package(CUDA REQUIRED)
|
|
message(STATUS "cuda version: " ${CUDA_VERSION_STRING})
|
|
message(STATUS "cuda CUDA_INCLUDE_DIRS: " ${CUDA_INCLUDE_DIRS})
|
|
include_directories(${CUDA_INCLUDE_DIRS})
|
|
include_directories(
|
|
/usr/include
|
|
#/usr/local/cuda-11.3/targets/x86_64-linux/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Utils
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Algorithms
|
|
${PROJECT_SOURCE_DIR}/include/TensorRT
|
|
${PROJECT_SOURCE_DIR}/ConfigModule/include
|
|
${PROJECT_SOURCE_DIR}/Common/include
|
|
${PROJECT_SOURCE_DIR}/AIEngineModule/include
|
|
|
|
${PROJECT_SOURCE_DIR}/AIEngineModule/include_base
|
|
)
|
|
link_directories(
|
|
/usr/local/lib/
|
|
)
|
|
set(CMAKE_CUDA_ARCHITECTURES 86)
|
|
set(CMAKE_CUDA_COMPILER "/usr/local/cuda/bin/nvcc")
|
|
enable_language(CUDA)
|
|
# 用set设置变量不能使用*.cpp
|
|
file(GLOB_RECURSE SRC_LISTS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/*.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Utils/*.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Utils/*.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Algorithms/*.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Algorithms/*.c
|
|
${PROJECT_SOURCE_DIR}/AIEngineModule/src/*.cpp
|
|
${PROJECT_SOURCE_DIR}/AIEngineModule/src/*.c
|
|
${PROJECT_SOURCE_DIR}/AIEngineModule/src/*.cu
|
|
)
|
|
|
|
add_library(FOG_Check SHARED ${SRC_LISTS})
|
|
|
|
target_link_libraries(FOG_Check
|
|
nvinfer
|
|
Config
|
|
${OpenCV_LIBS}
|
|
${CUDA_LIBRARIES}
|
|
)
|
|
set(ModuleName "")
|
|
|
|
|
|
|
|
# make install 安装到/usr/local下
|
|
# 自定义安装前缀
|
|
set(CMAKE_INSTALL_PREFIX /usr/local/fog CACHE PATH "Install path prefix" FORCE)
|
|
set(HEADER_FILES include/ImgCheckBase.h include/ImgCheckConfig.h)
|
|
# 安装动态库
|
|
install(TARGETS FOG_Check
|
|
LIBRARY DESTINATION lib # 安装到 CMAKE_INSTALL_PREFIX/lib
|
|
ARCHIVE DESTINATION lib/static
|
|
RUNTIME DESTINATION bin
|
|
PUBLIC_HEADER DESTINATION include) # 安装到 CMAKE_INSTALL_PREFIX/include
|
|
# 安装头文件
|
|
install(FILES ${HEADER_FILES} DESTINATION include) |