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