X-Git-Url: http://rtime.felk.cvut.cz/gitweb/hercules2020/kcf.git/blobdiff_plain/1a7356c4c8cc1bd59e34a4217e06aa03c6d99e7c..0c1f56ec6e76ea0f28d9ac6708bba70f26bac541:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ff939c..28062bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,66 +2,21 @@ cmake_minimum_required(VERSION 3.0.2) project(kcf_tracker) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -pedantic -O3 -Wno-long-long -fno-omit-frame-pointer") - -SET(FFT "OpenCV" CACHE STRING "Select FFT implementation") -SET_PROPERTY(CACHE FFT PROPERTY STRINGS OpenCV OpenCV_cuFFT fftw cuFFTW) -MESSAGE(STATUS "FFT implementation: ${FFT}") - -option(OPENMP "Use OpenMP library. Works with FFTW and OpenCV implementation." OFF) -option(ASYNC "Works only if OPENCV_CUFFT is not ON. Will enable C++ async directive." OFF) -option(PROFILING "Enable profiling using perf_event_open together with libpfm4. " OFF) - -IF(PROFILING) - add_definitions(-DPROFILING ) - MESSAGE(STATUS "Profiling mode") -ENDIF() - -SET(use_cuda OFF) - -IF(FFT STREQUAL "OpenCV") -ELSEIF(FFT STREQUAL "OpenCV_cuFFT") - add_definitions(-DOPENCV_CUFFT) - set(use_cuda ON) -ELSEIF(FFT STREQUAL "fftw") - add_definitions(-DFFTW) -ELSEIF(FFT STREQUAL "cuFFTW") - add_definitions(-DFFTW -DCUFFTW) - set(use_cuda ON) -ELSE() - MESSAGE(FATAL_ERROR "Invalid FFT implementation selected") -ENDIF() - -IF(ASYNC AND NOT OPENMP) - add_definitions(-DASYNC) - MESSAGE(STATUS "ASYNC") -ENDIF() #ASYNC - -IF(use_cuda) - find_package(CUDA REQUIRED) - - include_directories ( ${CUDA_INCLUDE_DIRS} ) - 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 compute_62 -std=c++11") - find_cuda_helper_libs(cufftw) -ENDIF() +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -pedantic -Wno-long-long -fno-omit-frame-pointer") +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(default_build_type "Release") + message(STATUS "Setting build type to '${default_build_type}' as none was specified.") + set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE + STRING "Choose the type of build." FORCE) + # Set the possible values of build type for cmake-gui + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Release" "MinSizeRel" "RelWithDebInfo") +endif() FIND_PACKAGE( OpenCV REQUIRED ) link_directories ( ${OpenCV_LIB_DIR} ) -MESSAGE(STATUS "OpenCV_LIB_DIR: ${OpenCV_LIB_DIR} ") - -IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - IF(NOT OPENMP) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -Wno-unknown-pragmas") - ELSE() - MESSAGE(STATUS "OpenMP") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") - ENDIF() #ASYNC -ENDIF () - include_directories ( ${OpenCV_INCLUDE_DIRS} ) +MESSAGE(STATUS "OpenCV_LIB_DIR: ${OpenCV_LIB_DIR} ") MESSAGE(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}") INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR}/) @@ -79,18 +34,3 @@ ELSE() ENDIF() #OPENCV_CUFFT target_link_libraries(kcf_vot ${OpenCV_LIBS} kcf) - -IF(FFT STREQUAL "fftw") - target_link_libraries(kcf_vot fftw3f) - IF(OPENMP) - target_link_libraries(kcf_vot fftw3_omp) - ENDIF() -ENDIF() #FFTW - -IF(FFT STREQUAL "cuFFTW") - target_link_libraries(kcf_vot ${CUDA_cufft_LIBRARY} ${CUDA_cufftw_LIBRARY}) -ENDIF() #cuFFTW - -IF(PROFILING) - target_link_libraries(kcf_vot pfm) -ENDIF()