Also one other thing, when you are building your list of source files, you will want to include *.cu files in the GLOB, like so:
Code:
file(GLOB my_sources *.cpp *.cu)
Then the functions like cuda_add_executable() and cuda_add_library() will automatically compile the CUDA .cu source files containing your CUDA kernels.
If you find yourself having to write a big algorithm in CUDA that isn't included inOpenCV, also check out the VisionWorks and NPP (NVIDIA Performance Primitives) libraries.