]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/blob - CMakeLists.txt
Update README.md
[hercules2020/kcf.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8)
2
3 project(kcf_tracker)
4
5 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -pedantic -O3 -Wno-long-long -fno-omit-frame-pointer")
6
7 option(OPENCV_CUFFT "If OFF CPU implementation using OpenCV implementation of fft will be used. If ON Nvidia CUFFT implemented in OpenCV will be used. Together with Hostmem from OpenCV." OFF)
8 option(VISULIZE_RESULT "Check if you want to visulize the result." OFF)
9 option(ASYNC "Default setting is on. Works only if OPENCV_CUFFT is not ON. Will enable C++ async directive." ON)
10 if(VISULIZE_RESULT)
11   add_definitions(-DVISULIZE_RESULT)
12   MESSAGE(STATUS "Visulize result")
13 endif()
14 if(OPENCV_CUFFT)
15   add_definitions(-DOPENCV_CUFFT)
16   MESSAGE(STATUS "OPENCV+CUFFT version")
17 elseif(ASYNC)
18   add_definitions(-DASYNC)
19   MESSAGE(STATUS "CPU+ASYNC version")
20 else()
21   MESSAGE(STATUS "CPU+SERIAL version")
22 endif() #OPENCV_CUFFT
23
24 FIND_PACKAGE( OpenCV REQUIRED )
25 link_directories ( ${OpenCV_LIB_DIR} )
26 MESSAGE(STATUS "OpenCV_LIB_DIR: ${OpenCV_LIB_DIR} ")
27
28 IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
29     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
30 ENDIF ()
31
32 include_directories ( ${OpenCV_INCLUDE_DIRS} )
33 MESSAGE(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
34
35 INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR}/)
36 include_directories(${CMAKE_SOURCE_DIR}/src/ ${CMAKE_SOURCE_DIR}/src/piotr_fhog ${CMAKE_SOURCE_DIR}/src/cn)
37
38 include_directories(${CMAKE_SOURCE_DIR}/sse2neon)
39
40 add_subdirectory(src)
41
42 if(OPENCV_CUFFT)
43 find_package(CUDA REQUIRED)
44 link_directories ( ${CUDA_LIB_DIR} )
45 MESSAGE(STATUS "CUDA_LIB_DIR: ${CUDA_LIB_DIR} ")
46
47 include_directories ( ${CUDA_INCLUDE_DIRS} )
48 MESSAGE(STATUS "CUDA_INCLUDE_DIRS: ${CUDA_INCLUDE_DIRS}")
49 set(CUDA_SEPARABLE_COMPILATION ON)
50 set(CUDA_PROPAGATE_HOST_FLAGS OFF)
51 set(CUDA_HOST_COMPILER /usr/bin/g++)
52 list( APPEND CUDA_NVCC_FLAGS "-O3 --gpu-architecture compute_62 -std=c++11")
53
54 cuda_add_executable( kcf_vot main_vot.cpp vot.hpp )
55
56 target_link_libraries(kcf_vot ${CUDA_LIBRARIES} ${OpenCV_LIBS}  kcf)
57 else()
58 add_executable(kcf_vot main_vot.cpp vot.hpp)
59 target_link_libraries(kcf_vot ${OpenCV_LIBS} kcf)
60 endif() #OPENCV_CUFFT