cmake_minimum_required(VERSION 3.5) SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGPU -DCUDNN -DOPENCV -g -std=c++11 -W -pthread") set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -DGPU -DCUDNN -DOPENCV -g -std=c++11 -W") project(yolo_tracking) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build) set(CMAKE_CXX_STANDARD 11) #set(CMAKE_BUILD_TYPE debug) add_compile_options(-fPIC -g -Wall -Wshadow -Wno-sign-compare -w) #add_definitions(-DDEBUG_ERR -DDEBUG_INFO) #add_definitions(-DDEBUG) #add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) file(GLOB_RECURSE CURRENT_HEADERS ./*.h ./lib/*.h ./lib/core/*.h ./lib/tracker_tools/*.h ./lib/encoder_tools/*.h ./lib/detecter_tools/*.h ./lib/detecter_tools/extra/*.h ./lib/Munkres_assign/*.h ./lib/utils/*.h ./lib/detecter_tools/*.hpp ./lib/detecter_tools/*.cuh ./lib/detecter_tools/darknet/*.hpp ./lib/detecter_tools/darknet/*.cuh) file(GLOB sources #./*.cpp ./h_interface.cpp ./lib/*.cpp ./lib/core/*.cpp ./lib/tracker_tools/*.cpp ./lib/encoder_tools/*.cpp ./lib/detecter_tools/*.cpp ./lib/Munkres_assign/*.cpp ./lib/utils/*.cpp ./lib/detecter_tools/*.cpp ./lib/detecter_tools/darknet/*.c ./lib/detecter_tools/darknet/*.cpp ./lib/detecter_tools/darknet/*.cu) #foreach(s range ${sources}) #message(${s}) #endforeach() source_group("Include" FILES ${CURRENT_HEADERS}) source_group("Source" FILES ${sources}) #cudaS find_package(CUDA REQUIRED) message("-- CUDA version:$(CUDA_VERSION)") if(CUDA_VERSION_MAJOR GREATER 9) message("-- CUDA ${CUDA_VERSION_MAJOR} detected") set( CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}; -gencode arch=compute_61,code=sm_61 # 不同GPU有不同的算力指数,可查看算力表ls ls ) set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo") #find_package(OpenCV REQUIRED) # 查找系统的默认opencv环境 #message(${OpenCV_LIBS}) endif() set(TENSORFLOW_DIR /home/disk1/s_opt/tensorflow/tensorflow-1.14.0) link_directories(/usr/local/cuda-10.0/lib64) #link_directories(/usr/local/lib) SET(LIBS opencv_core opencv_highgui # opencv_imgcodecs opencv_imgproc #opencv_videoio opencv_video tensorflow_cc tensorflow_framework cudart cublas stdc++fs curand cuda cudnn ) include_directories( ${CMAKE_CURRENT_SOURCE_DIR} /home/disk1/s_opt/tensorflow/tensorflow-1.14.0 /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/bazel-genfiles /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/bazel-bin/tensorflow /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/tensorflow/contrib/makefile/downloads/nsync/public /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/tensorflow/contrib/makefile/downloads/eigen /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/tensorflow/contrib/makefile/downloads/absl /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/tensorflow/contrib/makefile/downloads/protobuf/src ) include_directories(/usr/local/cuda/include) include_directories(".") include_directories("./lib") include_directories("./lib/core") include_directories("./lib/detecter_tools") include_directories("./lib/encoder_tools") include_directories("./lib/Munkres_assign") include_directories("./lib/tracker_tools") include_directories("./lib/utils") include_directories("./lib/Munkres_assign/munkres") include_directories("/usr/include") link_directories(${TENSORFLOW_DIR}/tensorflow/contrib/makefile/downloads/nsync/builds/default.linux.c++11) link_directories(${TENSORFLOW_DIR}/bazel-bin/tensorflow) #link_directories(/usr/local/lib) link_directories(/usr/local/cuda/lib64) link_directories(/usr/lib/x86_64-linux-gnu/) cuda_add_library(${PROJECT_NAME} SHARED ${sources} ${CURRENT_HEADERS}) target_link_libraries(${PROJECT_NAME} ${LIBS})