DrivePX2 OpenCV3 CUDA9 patch

diff --git a/cmake/FindCUDA.cmake b/cmake/FindCUDA.cmake
index 678b450..f62a33e 100644
--- a/cmake/FindCUDA.cmake
+++ b/cmake/FindCUDA.cmake
@@ -522,6 +522,16 @@ macro(cuda_unset_include_and_libraries)
   unset(CUDA_npp_LIBRARY CACHE)
   unset(CUDA_nppc_LIBRARY CACHE)
   unset(CUDA_nppi_LIBRARY CACHE)
+  unset(CUDA_nppial_LIBRARY CACHE)
+  unset(CUDA_nppicc_LIBRARY CACHE)
+  unset(CUDA_nppicom_LIBRARY CACHE)
+  unset(CUDA_nppidei_LIBRARY CACHE)
+  unset(CUDA_nppif_LIBRARY CACHE)
+  unset(CUDA_nppig_LIBRARY CACHE)
+  unset(CUDA_nppim_LIBRARY CACHE)
+  unset(CUDA_nppist_LIBRARY CACHE)
+  unset(CUDA_nppisu_LIBRARY CACHE)
+  unset(CUDA_nppitc_LIBRARY CACHE)
   unset(CUDA_npps_LIBRARY CACHE)
   unset(CUDA_nvcuvenc_LIBRARY CACHE)
   unset(CUDA_nvcuvid_LIBRARY CACHE)
@@ -787,7 +797,23 @@ if(NOT CUDA_VERSION VERSION_LESS "3.2")
     find_cuda_helper_libs(nvcuvid)
   endif()
 endif()
-if(CUDA_VERSION VERSION_GREATER "5.0")
+
+if(CUDA_VERSION VERSION_GREATER "7.5")
+  # In CUDA 8.0 NPP was splitted onto 12 separate libraries.
+  find_cuda_helper_libs(nppc)
+  find_cuda_helper_libs(nppial)
+  find_cuda_helper_libs(nppicc)
+  find_cuda_helper_libs(nppicom)
+  find_cuda_helper_libs(nppidei)
+  find_cuda_helper_libs(nppif)
+  find_cuda_helper_libs(nppig)
+  find_cuda_helper_libs(nppim)
+  find_cuda_helper_libs(nppist)
+  find_cuda_helper_libs(nppisu)
+  find_cuda_helper_libs(nppitc)
+  find_cuda_helper_libs(npps)
+  set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")
+elseif(CUDA_VERSION VERSION_GREATER "5.0")
   # In CUDA 5.5 NPP was splitted onto 3 separate libraries.
   find_cuda_helper_libs(nppc)
   find_cuda_helper_libs(nppi)