cmake_minimum_required(VERSION 2.8)
-set(KCF_LIB_SRC kcf.cpp kcf.h fft.cpp)
+set(KCF_LIB_SRC kcf.cpp kcf.h fft.cpp scale_vars.hpp pragmas.h)
find_package(PkgConfig)
SET(FFT "OpenCV" CACHE STRING "Select FFT implementation")
-SET_PROPERTY(CACHE FFT PROPERTY STRINGS OpenCV OpenCV_cuFFT fftw cuFFTW cuFFT)
+SET_PROPERTY(CACHE FFT PROPERTY STRINGS OpenCV fftw cuFFTW cuFFT)
MESSAGE(STATUS "FFT implementation: ${FFT}")
option(OPENMP "Use OpenMP library. Works with FFTW and OpenCV implementation." OFF)
IF(FFT STREQUAL "OpenCV")
list(APPEND KCF_LIB_SRC fft_opencv.cpp complexmat.hpp)
-ELSEIF(FFT STREQUAL "OpenCV_cuFFT")
- list(APPEND KCF_LIB_SRC fft_opencv_cuda.cpp complexmat.hpp)
- add_definitions(-DOPENCV_CUFFT)
- set(use_cuda ON)
ELSEIF(FFT STREQUAL "fftw")
list(APPEND KCF_LIB_SRC fft_fftw.cpp complexmat.hpp)
add_definitions(-DFFTW)
message(SEND_ERROR "cuFFT version does not support ASYNC and OpenMP only if used with big batch mode.")
ENDIF()
-IF(ASYNC AND NOT OPENMP)
+IF(ASYNC)
add_definitions(-DASYNC)
MESSAGE(STATUS "ASYNC")
+ELSEIF(OPENMP)
+ add_definitions(-DOPENMP)
+ MESSAGE(STATUS "OPENMP")
ENDIF() #ASYNC
FIND_PACKAGE( OpenCV REQUIRED )
set(CUDA_SEPARABLE_COMPILATION ON)
set(CUDA_PROPAGATE_HOST_FLAGS OFF)
set(CUDA_HOST_COMPILER /usr/bin/g++)
- list( APPEND CUDA_NVCC_FLAGS -O3 --gpu-architecture sm_62 -std=c++11 -default-stream per-thread)
+ list( APPEND CUDA_NVCC_FLAGS -O3 --gpu-architecture sm_62 -std=c++11)
find_cuda_helper_libs(cufftw)
IF(FFT STREQUAL "cuFFT")
add_subdirectory(cuda)