]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/blobdiff - src/CMakeLists.txt
Unify CPU and GPU implementations of ComplexMat
[hercules2020/kcf.git] / src / CMakeLists.txt
index 0f734a08052aa6314631a8e960c60d7e8229aa0a..ae11abfd5a0d55893fd014641d4e0325b7341bc3 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.8)
 
-set(KCF_LIB_SRC kcf.cpp kcf.h fft.cpp threadctx.hpp pragmas.h dynmem.hpp debug.cpp)
+set(KCF_LIB_SRC kcf.cpp kcf.h fft.cpp threadctx.hpp pragmas.h dynmem.hpp debug.cpp complexmat.hpp)
 
 find_package(PkgConfig)
 
@@ -30,17 +30,17 @@ ENDIF()
 SET(use_cuda OFF)
 
 IF(FFT STREQUAL "OpenCV")
-  list(APPEND KCF_LIB_SRC fft_opencv.cpp complexmat.hpp)
+  list(APPEND KCF_LIB_SRC fft_opencv.cpp)
 ELSEIF(FFT STREQUAL "fftw")
-  list(APPEND KCF_LIB_SRC fft_fftw.cpp complexmat.hpp)
+  list(APPEND KCF_LIB_SRC fft_fftw.cpp)
   add_definitions(-DFFTW)
   pkg_check_modules(FFTW REQUIRED fftw3f)
 ELSEIF(FFT STREQUAL "cuFFTW")
-  list(APPEND KCF_LIB_SRC fft_fftw.cpp complexmat.hpp)
+  list(APPEND KCF_LIB_SRC fft_fftw.cpp)
   add_definitions(-DFFTW -DCUFFTW)
   set(use_cuda ON)
 ELSEIF(FFT STREQUAL "cuFFT")
-    list(APPEND KCF_LIB_SRC fft_cufft.cpp complexmat.cuh cuda_functions.cuh complexmat.cu cuda_functions.cu)
+    list(APPEND KCF_LIB_SRC fft_cufft.cpp cuda_functions.h cuda_functions.cu)
     add_definitions(-DCUFFT)
     set(use_cuda ON)
     iF(CUDA_DEBUG)
@@ -51,6 +51,12 @@ ELSE()
   MESSAGE(FATAL_ERROR "Invalid FFT implementation selected")
 ENDIF()
 
+IF(FFT STREQUAL "cuFFT")
+  list(APPEND KCF_LIB_SRC complexmat.cu)
+ELSE()
+  list(APPEND KCF_LIB_SRC complexmat.cpp)
+ENDIF()
+
 IF((FFT STREQUAL "OpenCV") AND BIG_BATCH)
   message(SEND_ERROR "OpenCV version does not support big batch mode.")
 ENDIF()