1# - try to find Trivisio Colibri API library 2# 3# Cache Variables: 4# COLIBRIAPI_LIBRARY 5# COLIBRIAPI_INCLUDE_DIR 6# 7# Non-cache variables you might use in your CMakeLists.txt: 8# COLIBRIAPI_FOUND 9# COLIBRIAPI_SERVER_LIBRARIES - server libraries 10# COLIBRIAPI_LIBRARIES - client libraries 11# COLIBRIAPI_CLIENT_DEFINITIONS - definitions if you only use the client library 12# COLIBRIAPI_DEFINITIONS - Client-only definition if all we found was the client library. 13# COLIBRIAPI_INCLUDE_DIRS 14# 15# COLIBRIAPI_ROOT_DIR is searched preferentially for these files 16# 17# Requires these CMake modules: 18# FindPackageHandleStandardArgs (known included with CMake >=2.6.2) 19# 20# Original Author: 21# 2009-2012 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-2012. 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 30set(COLIBRIAPI_ROOT_DIR 31 "${COLIBRIAPI_ROOT_DIR}" 32 CACHE 33 PATH 34 "Root directory to search for Colibri API") 35 36if("${CMAKE_SIZEOF_VOID_P}" MATCHES "8") 37 set(_libsuffixes lib64 lib) 38 39 # 64-bit dir: only set on win64 40 file(TO_CMAKE_PATH "$ENV{ProgramW6432}" _progfiles) 41else() 42 set(_libsuffixes lib) 43 set(_PF86 "ProgramFiles(x86)") 44 if(NOT "$ENV{${_PF86}}" STREQUAL "") 45 # 32-bit dir: only set on win64 46 file(TO_CMAKE_PATH "$ENV{${_PF86}}" _progfiles) 47 else() 48 # 32-bit dir on win32, useless to us on win64 49 file(TO_CMAKE_PATH "$ENV{ProgramFiles}" _progfiles) 50 endif() 51endif() 52 53### 54# Configure COLIBRIAPI 55### 56 57find_path(COLIBRIAPI_INCLUDE_DIR 58 NAMES 59 colibri_api.h 60 PATH_SUFFIXES 61 include 62 HINTS 63 "${COLIBRIAPI_ROOT_DIR}" 64 PATHS 65 "${_progfiles}/ColibriAPI 1.1.20140925 (64-bit)" 66 "$ENV{HOME}" 67 "$ENV{HOME}/ColibriAPI-1.1.20140710-Linux-amd64" 68 C:/usr/local 69 /usr/local) 70 71find_library(COLIBRIAPI_LIBRARY 72 NAMES 73 colibri-api 74 PATH_SUFFIXES 75 ${_libsuffixes} 76 HINTS 77 "${COLIBRIAPI_ROOT_DIR}" 78 PATHS 79 "${_progfiles}/ColibriAPI 1.1.20140925 (64-bit)" 80 "$ENV{HOME}" 81 "$ENV{HOME}/ColibriAPI-1.1.20140710-Linux-amd64" 82 C:/usr/local 83 /usr/local) 84 85### 86# Dependencies 87### 88set(_deps_libs) 89set(_deps_includes) 90set(_deps_check) 91 92find_package(quatlib) 93list(APPEND _deps_libs ${QUATLIB_LIBRARIES}) 94list(APPEND _deps_includes ${QUATLIB_INCLUDE_DIRS}) 95list(APPEND _deps_check QUATLIB_FOUND) 96 97if(NOT WIN32) 98 find_package(Threads) 99 list(APPEND _deps_libs ${CMAKE_THREAD_LIBS_INIT}) 100 list(APPEND _deps_check CMAKE_HAVE_THREADS_LIBRARY) 101endif() 102 103 104# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if 105# all listed variables are TRUE 106include(FindPackageHandleStandardArgs) 107find_package_handle_standard_args(ColibriApi 108 DEFAULT_MSG 109 COLIBRIAPI_LIBRARY 110 COLIBRIAPI_INCLUDE_DIR 111 ${_deps_check}) 112 113if(COLIBRIAPI_FOUND) 114 set(COLIBRIAPI_INCLUDE_DIRS "${COLIBRIAPI_INCLUDE_DIR}" ${_deps_includes}) 115 set(COLIBRIAPI_LIBRARIES "${COLIBRIAPI_LIBRARY}" ${_deps_libs}) 116 117 mark_as_advanced(COLIBRIAPI_ROOT_DIR) 118endif() 119 120mark_as_advanced(COLIBRIAPI_LIBRARY COLIBRIAPI_INCLUDE_DIR) 121