544
545
########################
545
546
# Look for the SDK stuff
546
find_path(CUDA_SDK_ROOT_DIR common/inc/cutil.h
548
find_path(CUDA_SDK_ROOT_DIR cutil.h
547
550
"$ENV{NVSDKCUDA_ROOT}"
548
551
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Installed Products\\NVIDIA SDK 10\\Compute;InstallDir]"
553
"/usr/local/cuda/sdk"
562
if (CUDA_SDK_ROOT_DIR)
563
string(REGEX REPLACE "[/\\\\]?(C[/\\\\])?common[/\\\\]inc[/\\\\]?$" "" CUDA_SDK_ROOT_DIR ${CUDA_SDK_ROOT_DIR})
564
# We need to force this back into the cache.
565
set(CUDA_SDK_ROOT_DIR ${CUDA_SDK_ROOT_DIR} CACHE PATH "CUDA SDK location." FORCE)
566
endif(CUDA_SDK_ROOT_DIR)
551
570
# Keep the CUDA_SDK_ROOT_DIR first in order to be able to override the
552
571
# environment variables.
553
572
# SDS some directories are added
561
580
"$ENV{HOME}/NVIDIA_CUDA_SDK"
562
581
"$ENV{HOME}/NVIDIA_CUDA_SDK_MACOSX"
563
582
"/Developer/CUDA"
583
"/usr/local/cuda/sdk"
566
589
# CUDA_CUT_INCLUDE_DIR
590
#SDS C/common is added
567
591
find_path(CUDA_CUT_INCLUDE_DIR
569
593
PATHS ${CUDA_SDK_SEARCH_PATH}
570
PATH_SUFFIXES "common/inc"
594
PATH_SUFFIXES "common/inc" "C/common/inc"
571
595
DOC "Location of cutil.h"
574
599
# Now search system paths
575
600
find_path(CUDA_CUT_INCLUDE_DIR cutil.h DOC "Location of cutil.h")
588
613
set(cuda_cutil_name cutil32)
589
614
endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
591
617
find_library(CUDA_CUT_LIBRARY
592
NAMES cutil ${cuda_cutil_name}
618
NAMES cutil ${cuda_cutil_name} cutil
593
619
PATHS ${CUDA_SDK_SEARCH_PATH}
594
620
# The new version of the sdk shows up in common/lib, but the old one is in lib
595
PATH_SUFFIXES "common/lib" "lib"
621
PATH_SUFFIXES "C/lib" "common/lib" "lib"
596
622
DOC "Location of cutil library"
599
626
# Now search system paths
600
627
find_library(CUDA_CUT_LIBRARY NAMES cutil ${cuda_cutil_name} DOC "Location of cutil library")
601
628
mark_as_advanced(CUDA_CUT_LIBRARY)
602
629
set(CUDA_CUT_LIBRARIES ${CUDA_CUT_LIBRARY})
632
find_path(CUDPP_ROOT_DIR cudpp.h
634
"${CUDA_SDK_ROOT_DIR}"
635
${CUDA_SDK_SEARCH_PATH}
643
string(REGEX REPLACE "[/\\\\]?(C[/\\\\])?common[/\\\\]inc[/\\\\]cudpp[/\\\\]?$" "" CUDPP_ROOT_DIR ${CUDPP_ROOT_DIR})
644
string(REGEX REPLACE "[/\\\\]?(cudpp[/\\\\])?include[/\\\\]?$" "" CUDPP_ROOT_DIR ${CUDPP_ROOT_DIR})
645
# We need to force this back into the cache.
646
set(CUDPP_ROOT_DIR ${CUDPP_ROOT_DIR} CACHE PATH "CUDPP location." FORCE)
647
endif(CUDPP_ROOT_DIR)
651
FIND_PATH(CUDPP_INCLUDE_DIR cudpp.h
654
${CUDA_SDK_SEARCH_PATH}
661
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
662
set(cuda_cudpp_name cudpp64)
663
else(CMAKE_SIZEOF_VOID_P EQUAL 8)
664
set(cuda_cudpp_name cudpp32)
665
endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
667
FIND_LIBRARY(CUDPP_LIBRARY
668
NAMES ${cuda_cudpp_name} cudpp
670
${CUDA_SDK_SEARCH_PATH}
678
IF (CUDPP_INCLUDE_DIR)
679
# OK, found all we need
680
SET(CUDPP_FOUND TRUE)
681
GET_FILENAME_COMPONENT(CUDPP_LINK_DIRECTORIES ${CUDPP_LIBRARY} PATH)
682
ENDIF(CUDPP_INCLUDE_DIR)
688
CUDPP_LINK_DIRECTORIES
606
693
#############################
607
694
# Check for required components