From 778e96468d81f7bee9643431640b449b1bd80a79 Mon Sep 17 00:00:00 2001
From: Scheaven <xuepengqiang>
Date: 星期四, 22 七月 2021 18:57:57 +0800
Subject: [PATCH] update all code

---
 CMakeLists.txt |  161 ++++++++++++++---------------------------------------
 1 files changed, 43 insertions(+), 118 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f26a992..40c61b6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,132 +1,57 @@
 cmake_minimum_required(VERSION 3.5)
+project(yoloDetector VERSION 1.0)
+enable_language(CUDA)
 
-# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}   -fvisibility=hidden -DEIGEN_MAX_ALIGN_BYTES=32 -DEIGEN_DONT_VECTORIZE -fPIC -march=native -DGPU -DCUDNN -DOPENCV -g -W -O0 -pthread -DS_DEBUG")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}   -fvisibility=hidden -DEIGEN_MAX_ALIGN_BYTES=32 -DEIGEN_DONT_VECTORIZE -fPIC -march=native -DGPU -DCUDNN -DOPENCV -g -W -O0 -pthread -DS_DEBUG -DS_SERVER")
-#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}   -fvisibility=hidden -DEIGEN_MAX_ALIGN_BYTES=32 -DEIGEN_DONT_VECTORIZE -fPIC -lm -march=native -DGPU -DCUDNN -DOPENCV -g -W -O0 -pthread -Wl,--no-as-needed")
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}  -fvisibility=hidden -DGPU -DCUDNN -DOPENCV -g  -lm -fPIC -W -O0 -Wl,--no-as-needed  -DS_DEBUG -DS_SERVER")  # 缂栬瘧C鑴氭湰鏃惰皟鐢℅PU鐜淇℃伅
-#set(CMAKE_C_FLAGS "-fvisibility=hidden")
-#set(CMAKE_CXX_FLAGS "-fvisibility=hidden")
+set(CMAKE_CXX_COMPILIER "/usr/bin/g++")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O3 -Wno-write-strings")
+set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,$ORIGIN")
 
-#椤圭洰鍚嶇О/宸ョ▼鍚�
-project(baseDetector)
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build)
-#璁剧疆c++缂栬瘧鍣�
+set(CUDA_Path /usr/local/cuda)
+find_package(OpenCV REQUIRED PATHS "/opt/toolkits/opencv")
+set(TensorRT_DIR /opt/toolkits/TensorRT7)
+set(LOG_DIR /opt/toolkits/log4cplus)
 
-set(CMAKE_CXX_STANDARD 14)
-#set(CMAKE_CXX_STANDARD_REQUIRED ON)
-#set(CMAKE_CXX_EXTENSIONS OFF)
+include_directories(${CUDA_Path}/include)
+link_directories(${CUDA_Path}/lib64)
+include_directories(${TensorRT_DIR}/include)
+include_directories(${TensorRT_DIR}/samples/common)
+link_directories(${TensorRT_DIR}/lib)
+link_directories(${LOG_DIR}/lib)
+include_directories(${LOG_DIR}/include)
 
-#set(CMAKE_BUILD_TYPE debug)
-add_compile_options(-fPIC -ldl -lm -g -Wall  -Wshadow -Wno-sign-compare -w  -pthread)
-#add_definitions(-DDEBUG_ERR -DDEBUG_INFO)
-#add_definitions(-DDEBUG)
-#add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
+file(GLOB_RECURSE sources src/* src/core/* src/utils/* src/detecter_tools/* ${TensorRT_DIR}/samples/common/*.h ${TensorRT_DIR}/samples/common/logger.cpp)
+set(LIBS nvinfer nvparsers nvonnxparser nvinfer_plugin stdc++fs jsoncpp log4cplus)
+
+if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
+    set(CMAKE_CUDA_ARCHITECTURES 61 80 72)
+endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
 
 
-file(GLOB_RECURSE CURRENT_HEADERS
-		./*.h
-		./lib/*.h
-		./lib/core/*.h
-		./lib/utils/*.h
-		./lib/detecter_tools/*.h
-		./lib/detecter_tools/extra/*.h
-		./lib/detecter_tools/*.hpp
-		./lib/detecter_tools/*.cuh
-		./lib/detecter_tools/darknet/*.hpp
-		./lib/detecter_tools/darknet/*.cuh
-	)
+#
 
-# 妫�绱㈡煡鎵炬枃浠朵俊鎭�
-file(GLOB sources
-		./*.cpp
-		./lib/*.cpp
-		./lib/core/*.cpp
-		./lib/utils/*.cpp
-		./lib/detecter_tools/*.cpp
-		./lib/detecter_tools/*.cpp
-		./lib/detecter_tools/darknet/*.c
-		./lib/detecter_tools/darknet/*.cpp
-		./lib/detecter_tools/darknet/*.cu)
-
-source_group("Include" FILES ${CURRENT_HEADERS})
-source_group("Source" FILES ${sources})
-
-
-#cudaS
-find_package(CUDA REQUIRED)
-
-#message("-- CUDA version:$(CUDA_VERSION)")
-
-# 璁剧疆鐜鐨勬ā鍨嬫煡鎵撅紝濡傛灉CUDA鐗堟湰澶т簬9,鍒欐墽琛孋UDA鐜鐨勬ā鍨嬫煡鎵�
 if(CUDA_VERSION_MAJOR GREATER 9)
-	message("-- CUDA ${CUDA_VERSION_MAJOR} detected")
-	set(
-			CUDA_NVCC_FLAGS
-			${CUDA_NVCC_FLAGS};
-			-gencode arch=compute_80,code=sm_80 -std=c++14# 涓嶅悓GPU鏈変笉鍚岀殑绠楀姏鎸囨暟锛屽彲鏌ョ湅绠楀姏琛�
-	)
-	set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo")
-	#find_package(OpenCV REQUIRED) # 鏌ユ壘绯荤粺鐨勯粯璁pencv鐜
-	#message(${OpenCV_LIBS})
+  message("-- CUDA ${CUDA_VERSION_MAJOR} detected")
+  set(
+          CUDA_NVCC_FLAGS
+          ${CUDA_NVCC_FLAGS};
+          -gencode arch=compute_61,code=sm_61 -std=c++14# 涓嶅悓GPU鏈変笉鍚岀殑绠楀姏鎸囨暟锛屽彲鏌ョ湅绠楀姏琛�
+          -gencode arch=compute_80,code=sm_80 -std=c++14# 涓嶅悓GPU鏈変笉鍚岀殑绠楀姏鎸囨暟锛屽彲鏌ョ湅绠楀姏琛�
+          -gencode arch=compute_72,code=sm_72 -std=c++14# 涓嶅悓GPU鏈変笉鍚岀殑绠楀姏鎸囨暟锛屽彲鏌ョ湅绠楀姏琛�
+  )
+  set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo")
+  #find_package(OpenCV REQUIRED) # 鏌ユ壘绯荤粺鐨勯粯璁pencv鐜
+  #message(${OpenCV_LIBS})
 endif()
 
 
-set(OPENCV_DIR /opt/toolkits/opencv)
+cuda_add_library(${PROJECT_NAME} SHARED ${sources})
+target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCV_INCLUDE_DIRS} src/ src/core src/utils/ src/detecter_tools/)
+target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} ${LIBS})
 
-link_directories(/usr/local/cuda/lib64)
-#link_directories(/usr/local/lib)
+add_executable(demo demo.cpp)
+target_include_directories(demo PRIVATE src/ src/core src/utils/ src/detecter_tools/)
+target_link_libraries(demo ${PROJECT_NAME})
 
-SET(LIBS
-		gomp
-		nvToolsExt
-		opencv_core
-        opencv_highgui
-        opencv_imgcodecs
-        opencv_imgproc
-        opencv_videoio
-        opencv_video
-        opencv_calib3d
-        opencv_features2d
-        opencv_flann
-		cublas
-		stdc++fs  #璁剧疆-lstdc++fs 鏂伴摼鎺ュ櫒閫夐」锛岄槻姝td绛塯cc搴撹皟鐢ㄤ笉鍒�
-		curand
-		cuda
-		cudnn
-		jsoncpp
-		)
-
-# 灏嗘簮鐮佺洰褰曚繚瀛樺埌鍙橀噺涓�
-#aux_source_directory(./src DIR_SRCS)  # 鎼滅储褰撳墠鐩綍涓嬬殑鎵�鏈�.cpp鏂囦欢
-#add_library(demo ${SRC_LIST})   #鏄庣‘鎸囧畾鍖呭惈鍝簺婧愭枃浠�
-
-include_directories(/usr/local/cuda/include)
-include_directories(".")
-include_directories("./lib")
-include_directories("./lib/core")
-include_directories("./lib/detecter_tools")
-include_directories("./lib/utils")
-#include_directories("/usr/include/x86_64-linux-gnu/")
-#include_directories("/usr/include/json/")
-#include_directories("/usr/include")
-#include_directories("/usr/local/include/")
-include_directories(${OPENCV_DIR}/include/opencv4)
-include_directories("/usr/include/jsoncpp/")
-
-#璁剧疆閾炬帴搴撴悳绱㈢洰褰曪紝椤圭洰涓璴ib璺緞
-link_directories(${PYTORCH_DIR}/lib)  #鍔ㄦ�侀摼鎺ュ簱鐩綍/bazel-bin/tensorflow
-#link_directories(/usr/local/lib)
-link_directories(${OPENCV_DIR}/lib)
-#link_directories(/usr/lib/x86_64-linux-gnu/)
-link_directories(/home/basic/anaconda3/lib/)
-
-
-
-#娣诲姞瑕佺紪璇戠殑鍙墽琛屾枃浠�
-#cuda_add_executable(${PROJECT_NAME}
-
-cuda_add_executable(${PROJECT_NAME} main.cpp ${sources} ${CURRENT_HEADERS})
-#cuda_add_library(${PROJECT_NAME} SHARED ${sources} ${CURRENT_HEADERS})
-
-#璁剧疆 target 闇�瑕侀摼鎺ョ殑搴�
-target_link_libraries(${PROJECT_NAME} ${LIBS})
+# add_executable(demo demo.cpp ${sources})
+# target_include_directories(demo PRIVATE ${OpenCV_INCLUDE_DIRS} src/ src/core src/utils/ src/detecter_tools/)
+# target_link_libraries(demo ${OpenCV_LIBS} ${LIBS})

--
Gitblit v1.8.0