1# - try to find Hillcrest Labs' libfreespace library
2#
3# Cache Variables: (probably not for direct use in your scripts)
4#  LIBFREESPACE_INCLUDE_DIR
5#  LIBFREESPACE_LIBRARY
6#
7# Non-cache variables you might use in your CMakeLists.txt:
8#  LIBFREESPACE_FOUND
9#  LIBFREESPACE_INCLUDE_DIRS
10#  LIBFREESPACE_LIBRARIES
11#
12# Requires these CMake modules:
13#  FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
14#
15# Original Author:
16# 2014 Ryan Pavlik <ryan@sensics.com> <abiryan@ryand.net>
17# http://academic.cleardefinition.com
18#
19# Copyright Sensics, Inc. 2014.
20# Distributed under the Boost Software License, Version 1.0.
21# (See accompanying file LICENSE_1_0.txt or copy at
22# http://www.boost.org/LICENSE_1_0.txt)
23
24set(LIBFREESPACE_ROOT_DIR
25	"${LIBFREESPACE_ROOT_DIR}"
26	CACHE
27	PATH
28	"Directory to search for libfreespace")
29
30find_library(LIBFREESPACE_LIBRARY
31	NAMES
32	freespace
33	libfreespace
34	PATHS
35	"${LIBFREESPACE_ROOT_DIR}"
36	PATH_SUFFIXES
37	lib)
38
39get_filename_component(_libdir "${LIBFREESPACE_LIBRARY}" PATH)
40
41find_path(LIBFREESPACE_INCLUDE_DIR
42	NAMES
43	freespace/freespace.h
44	HINTS
45	"${_libdir}"
46	"${_libdir}/.."
47	PATHS
48	"${LIBFREESPACE_ROOT_DIR}"
49	PATH_SUFFIXES
50	include/)
51
52
53include(FindPackageHandleStandardArgs)
54if(WIN32)
55	find_package(WinHID QUIET)
56	find_package_handle_standard_args(LibFreespace
57		DEFAULT_MSG
58		LIBFREESPACE_LIBRARY
59		LIBFREESPACE_INCLUDE_DIR
60		WINHID_LIBRARIES)
61else()
62	find_package_handle_standard_args(LibFreespace
63		DEFAULT_MSG
64		LIBFREESPACE_LIBRARY
65		LIBFREESPACE_INCLUDE_DIR)
66endif()
67
68if(LIBFREESPACE_FOUND)
69	set(LIBFREESPACE_LIBRARIES "${LIBFREESPACE_LIBRARY}")
70	if(WIN32)
71		list(APPEND LIBFREESPACE_LIBRARIES ${WINHID_LIBRARIES})
72	endif()
73	set(LIBFREESPACE_INCLUDE_DIRS "${LIBFREESPACE_INCLUDE_DIR}")
74	mark_as_advanced(LIBFREESPACE_ROOT_DIR)
75endif()
76
77mark_as_advanced(LIBFREESPACE_INCLUDE_DIR
78	LIBFREESPACE_LIBRARY)
79