Files
libwiiuse/FindGadgeteer20.cmake
Ryan Pavlik 6481cc3d75 Squashed 'cmake/' changes from 813d030..8647ab0
8647ab0 update help
8c434a7 have luatargets.cmake actually try building (parsing) the lua scripts
abbbe59 update rendered help
4226520 remove unnecessary whitespace
fce2353 fix some leftover juggler 2.2 bits in the juggler 3.0 finder
072dda4 fix libusb finder on windows
3bf666c be sure to find all needed boost libraries for juggler 3.0
3e0d529 handle windows names for juggler 3.0 libraries
6cb00f4 handle config types in dashboard scripts
449fe46 Improve vrpn/quatlib finders to find the default locations on Windows
450a051 improve launcher templates
e8e1aee Fix the gdb finder
099d79f Fix finding OSG in some cases
2d5319f Update help files
9567cf8 Improve glove5dt finder
73d4de3 Find git.cmd on windows
cef7140 Silly bug in simpler juggler finder
5706470 Improve juggler finder
2f6f3ef Fix gdb finder
ae37c1a Clean up juggler finding
9416490 Improve gdb finder
d30789e Merge changes from finding juggler 2.2 into 3.0
00d407e Don't force juggler into debug mode
6668496 No more nspr on windows
737b8e2 Fix boost finding in VPR 2.2
c530fa3 Don't need a separate cppdom module for juggler 30
c10441c Merge branch 'master' of https://github.com/bnewendorp/cmake-modules into bnewendorp-master
0485c6c Update rendered help
c4c1ea8 Improve formatting of copyright notice when rendered to html
58ba978 Add reference to help in the readme
2052efb Generate text too, and rename
e3a0f3f Add help files and aboutthesemodules dummy module
dab6182 GetGitRevisionDescription: Fix HEAD hash finding in case of a detached HEAD checkout
278658c Fix a wee bug in the gdb finder
f0ac2bc Launchers now check version of GDB before throwing options at it. Fixes --debugger option on Macs.
6e66227 find gdb
1cbceb8 rename luatargets to filecopytargets, and forward calls from the old name
0bdd129 add the upcoming boost 1.46
86cfbb4 make boost test targets succeed on macs with homebrew
c290bbe Merge boost fix from pre-2.8.4
cc24a0d Improve dcubed finder and use nested targets
69b25b4 Clean up parasolid nested target
f467bb0 Don't force juggler into debug mode
250c5f0 Find boost 1.45
b15faa5 Add HIDAPI and libusb1
7236f4f Add OptionRequires module
7032b46 Improvements to cutil
9f0e966 Tweak to boost test
c60a1ea Added Juggler 3.0 files

git-subtree-dir: cmake
git-subtree-split: 8647ab061587c8c0fd7343b77b3e3bd367da0180
2011-02-01 10:29:35 -06:00

184 lines
4.9 KiB
CMake

# - try to find Gadgeteer 2.0 library
# Requires JCCL 1.4 and VPR 2.2 (thus FindJCCL14.cmake and FindVPR22.cmake)
# Requires X11 if not on Mac or Windows.
# Optionally uses Flagpoll and FindFlagpoll.cmake
#
# This library is a part of VR Juggler 3.0 - you probably want to use
# find_package(VRJuggler30) instead, for an easy interface to this and
# related scripts. See FindVRJuggler30.cmake for more information.
#
# GADGETEER20_LIBRARY_DIR, library search path
# GADGETEER20_INCLUDE_DIR, include search path
# GADGETEER20_LIBRARY, the library to link against
# GADGETEER20_FOUND, If false, do not try to use this library.
#
# Plural versions refer to this library and its dependencies, and
# are recommended to be used instead, unless you have a good reason.
#
# Useful configuration variables you might want to add to your cache:
# GADGETEER20_ROOT_DIR - A directory prefix to search
# (a path that contains include/ as a subdirectory)
#
# This script will use Flagpoll, if found, to provide hints to the location
# of this library, but does not use the compiler flags returned by Flagpoll
# directly.
#
# The VJ_BASE_DIR environment variable is also searched (preferentially)
# when searching for this component, so most sane build environments should
# "just work." Note that you need to manually re-run CMake if you change
# this environment variable, because it cannot auto-detect this change
# and trigger an automatic re-run.
#
# Original Author:
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
# Updated for VR Juggler 3.0 by:
# Brandon Newendorp <brandon@newendorp.com>
set(_HUMAN "Gadgeteer 2.0")
set(_RELEASE_NAMES gadget-2_0 libgadget-2_0 gadget-2_0_0)
set(_DEBUG_NAMES gadget_d-2_0 libgadget_d-2_0 gadget_d-2_0_0)
set(_DIR gadgeteer-2.0)
set(_HEADER gadget/gadgetConfig.h)
set(_FP_PKG_NAME gadgeteer)
include(SelectLibraryConfigurations)
include(CreateImportedTarget)
include(CleanLibraryList)
include(CleanDirectoryList)
if(GADGETEER20_FIND_QUIETLY)
set(_FIND_FLAGS "QUIET")
else()
set(_FIND_FLAGS "")
endif()
# Try flagpoll.
find_package(Flagpoll QUIET)
if(FLAGPOLL)
flagpoll_get_include_dirs(${_FP_PKG_NAME} NO_DEPS)
flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS)
flagpoll_get_extra_libs(${_FP_PKG_NAME} NO_DEPS)
endif()
set(GADGETEER20_ROOT_DIR
"${GADGETEER20_ROOT_DIR}"
CACHE
PATH
"Root directory to search for Gadgeteer")
if(DEFINED VRJUGGLER30_ROOT_DIR)
mark_as_advanced(GADGETEER20_ROOT_DIR)
endif()
if(NOT GADGETEER20_ROOT_DIR)
set(GADGETEER20_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}")
endif()
set(_ROOT_DIR "${GADGETEER20_ROOT_DIR}")
find_path(GADGETEER20_INCLUDE_DIR
${_HEADER}
HINTS
"${_ROOT_DIR}"
${${_FP_PKG_NAME}_FLAGPOLL_INCLUDE_DIRS}
PATH_SUFFIXES
${_DIR}
include/${_DIR}
include/
DOC
"Path to ${_HUMAN} includes root")
find_library(GADGETEER20_LIBRARY_RELEASE
NAMES
${_RELEASE_NAMES}
HINTS
"${_ROOT_DIR}"
${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS}
PATH_SUFFIXES
${_VRJ_LIBSUFFIXES}
DOC
"${_HUMAN} release library full path")
find_library(GADGETEER20_LIBRARY_DEBUG
NAMES
${_DEBUG_NAMES}
HINTS
"${_ROOT_DIR}"
${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS}
PATH_SUFFIXES
${_VRJ_LIBDSUFFIXES}
DOC
"${_HUMAN} debug library full path")
select_library_configurations(GADGETEER20)
# Dependencies
foreach(package JCCL14 VPR22 GMTL)
if(NOT ${PACKAGE}_FOUND)
find_package(${package} ${_FIND_FLAGS})
endif()
endforeach()
if(UNIX AND NOT APPLE AND NOT WIN32)
# We need X11 if not on Mac or Windows
if(NOT X11_FOUND)
find_package(X11 ${_FIND_FLAGS})
endif()
set(_CHECK_EXTRAS
X11_FOUND
X11_X11_LIB
X11_ICE_LIB
X11_SM_LIB
X11_INCLUDE_DIR)
endif()
# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GADGETEER20
DEFAULT_MSG
GADGETEER20_LIBRARY
GADGETEER20_INCLUDE_DIR
JCCL14_FOUND
JCCL14_LIBRARIES
JCCL14_INCLUDE_DIR
VPR22_FOUND
VPR22_LIBRARIES
VPR22_INCLUDE_DIR
GMTL_FOUND
GMTL_INCLUDE_DIR
${_CHECK_EXTRAS})
if(GADGETEER20_FOUND)
set(_DEPS ${JCCL14_LIBRARIES} ${VPR22_LIBRARIES})
set(GADGETEER20_INCLUDE_DIRS ${GADGETEER20_INCLUDE_DIR})
list(APPEND
GADGETEER20_INCLUDE_DIRS
${JCCL14_INCLUDE_DIRS}
${VPR22_INCLUDE_DIRS}
${GMTL_INCLUDE_DIRS})
if(UNIX AND NOT APPLE AND NOT WIN32)
# We need X11 if not on Mac or Windows
list(APPEND _DEPS ${X11_X11_LIB} ${X11_ICE_LIB} ${X11_SM_LIB})
list(APPEND GADGETEER20_INCLUDE_DIRS ${X11_INCLUDE_DIR})
endif()
clean_directory_list(GADGETEER20_INCLUDE_DIRS)
if(VRJUGGLER30_CREATE_IMPORTED_TARGETS)
create_imported_target(GADGETEER20 ${_DEPS})
else()
clean_library_list(GADGETEER20_LIBRARIES ${_DEPS})
endif()
mark_as_advanced(GADGETEER20_ROOT_DIR)
endif()
mark_as_advanced(GADGETEER20_LIBRARY_RELEASE
GADGETEER20_LIBRARY_DEBUG
GADGETEER20_INCLUDE_DIR)