参考:
http://bikulov.org/blog/2013/12/24/example-of-cmake-file-for-cuda-plus-cpp-code/
在CMakeLists.txt 文件如下:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(gpuMat)
# CUDA package
FIND_PACKAGE(CUDA REQUIRED)
# OpenCV package
FIND_PACKAGE(OpenCV REQUIRED)
INCLUDE(FindCUDA)
# CUDA include directories
INCLUDE_DIRECTORIES(/usr/local/cuda/include)
# OpenCV include directories
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
# file name
FILE(GLOB SOURCES "*.cu" "*.cpp" "*.c" "*.h")
# CUDA execu
CUDA_ADD_EXECUTABLE(app ${SOURCES})
# C++ list
LIST(APPEND CMAKE_CXX_FLAGS "-std=c++0x -O3 -ffast-math -Wall")
# CUDA list
LIST(APPEND CUDA_NVCC_FLAGS --compiler-options -fno-strict-aliasing -lineinfo -use_fast_math -Xptxas -dlcm=cg)
LIST(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_20,code=sm_20)
LIST(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_30,code=sm_30)
LIST(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_35,code=sm_35)
# target
TARGET_LINK_LIBRARIES(app /usr/local/cuda/lib64/libcudart.so ${OpenCV_LIBS})