1# - try to find Mac HID frameworks
2#
3# Cache Variables: (probably not for direct use in your scripts)
4#  MACHID_CoreFoundation_LIBRARY
5#  MACHID_CoreFoundation_INCLUDE_DIR
6#  MACHID_IOKit_LIBRARY
7#  MACHID_IOKit_INCLUDE_DIR
8#  MACOSX_HID_UINT32T  (from CheckMacHIDAPI)
9#
10# Non-cache variables you should use in your CMakeLists.txt:
11#  MACHID_DEFINITIONS
12#  MACHID_LIBRARIES
13#  MACHID_INCLUDE_DIRS
14#  MACHID_FOUND - if this is not true, do not attempt to use this library
15#
16# Requires these CMake modules:
17#  CheckMacHIDAPI
18#  FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
19#
20# Original Author:
21# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
22# http://academic.cleardefinition.com
23# Iowa State University HCI Graduate Program/VRAC
24#
25# Copyright Iowa State University 2009-2010.
26# Distributed under the Boost Software License, Version 1.0.
27# (See accompanying file LICENSE_1_0.txt or copy at
28# http://www.boost.org/LICENSE_1_0.txt)
29
30if(APPLE)
31	find_library(MACHID_CoreFoundation_LIBRARY CoreFoundation)
32	find_path(MACHID_CoreFoundation_INCLUDE_DIR
33		CoreFoundation/CoreFoundation.h)
34
35	find_library(MACHID_IOKit_LIBRARY IOKit)
36	find_path(MACHID_IOKit_INCLUDE_DIR IOKit/hid/IOHIDLib.h)
37
38	include(CheckMacHIDAPI)
39	set(MACHID_DEFINITIONS "-DMACOSX_HID_UINT32T=${MACOSX_HID_UINT32T}")
40
41	include(FindPackageHandleStandardArgs)
42	find_package_handle_standard_args(MacHID
43		DEFAULT_MSG
44		MACHID_CoreFoundation_LIBRARY
45		MACHID_CoreFoundation_INCLUDE_DIR
46		MACHID_IOKit_LIBRARY
47		MACHID_IOKit_INCLUDE_DIR
48		MACOSX_HID_UINT32T)
49
50endif()
51
52if(MACHID_FOUND)
53	set(MACHID_LIBRARIES
54		"${MACHID_CoreFoundation_LIBRARY}"
55		"${MACHID_IOKit_LIBRARY}")
56
57	set(MACHID_INCLUDE_DIRS
58		"${MACHID_CoreFoundation_INCLUDE_DIR}"
59		"${MACHID_IOKit_INCLUDE_DIR}")
60
61	mark_as_advanced(MACHID_CoreFoundation_LIBRARY
62		MACHID_CoreFoundation_INCLUDE_DIR
63		MACHID_IOKit_LIBRARY
64		MACHID_IOKit_INCLUDE_DIR)
65
66endif()
67