1# - find NVIDIA CUDA and source for the cutil library, building cutil if needed.
2#
3#  CUTIL_LIBRARIES - Libraries to link against to use CUTIL
4#  CUTIL_INCLUDE_DIRS - Include directories to add before building a CUTIL app.
5#
6# Functions:
7#  install_cutil({RUNTIME_LIBRARY_DESTINATION}) - Install the CUTIL shared lib if created.
8#
9# Original Author:
10# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
11# http://academic.cleardefinition.com
12# Iowa State University HCI Graduate Program/VRAC
13#
14# Copyright Iowa State University 2009-2010.
15# Distributed under the Boost Software License, Version 1.0.
16# (See accompanying file LICENSE_1_0.txt or copy at
17# http://www.boost.org/LICENSE_1_0.txt)
18
19
20find_package(CUDA QUIET)
21
22
23file(TO_CMAKE_PATH "${CUDA_SDK_ROOT_DIR}/C/common" CUTIL_ROOT_DIR)
24
25if(NOT EXISTS "${CUTIL_ROOT_DIR}/src/cutil.cpp")
26	set(CUDA_SDK_ROOT_DIR
27		SDKDIR-NOTFOUND
28		CACHE
29		PATH
30		"NVIDIA GPU Computing SDK dir"
31		FORCE)
32endif()
33
34# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if
35# all listed variables are TRUE
36include(FindPackageHandleStandardArgs)
37find_package_handle_standard_args(cutil
38	DEFAULT_MSG
39	CUDA_SDK_ROOT_DIR
40	CUDA_FOUND)
41
42if(CUTIL_FOUND)
43	get_filename_component(_moddir "${CMAKE_CURRENT_LIST_FILE}" PATH)
44	add_subdirectory("${_moddir}/nested_targets/cutil")
45
46
47	function(install_cutil dest)
48		install(TARGETS cutil
49			RUNTIME DESTINATION "${dest}"
50			LIBRARY DESTINATION "${dest}")
51	endfunction()
52else()
53	function(install_cutil)
54		message(FATAL_ERROR "Can't install cutil - didn't find it!")
55	endfunction()
56endif()
57