## Master Index CMake 2.8.11.1

- Introduction
- Description
- Custom CMake Modules
- See Also

## Introduction

module-help - Reference of available CMake custom modules.

## Description

The "cmake" executable is the CMake command-line interface. It may be used to configure projects in scripts. Project configuration settings may be specified on the command line with the -D option. The -i option will cause cmake to interactively prompt for such settings.

CMake is a cross-platform build system generator. Projects specify their build process with platform-independent CMake listfiles included in each directory of a source tree with the name CMakeLists.txt. Users build a project by using CMake to generate a build system for a native tool on their platform.

## Custom CMake Modules

- `AboutTheseModules`
- `BoostTestTargets`
- `BundleOSGPlugins`
- `BundleOSGRuntime`
- `BundleVRJ22Runtime`
- `BundleVRJ30Runtime`
- `CheckMacHIDAPI`
- `CheckVersion`
- `CleanDirectoryList`
- `CleanLibraryList`
- `CopyResourcesToBuildTree`
- `CppcheckTargets`
- `CreateDashboardScripts`
- `CreateImportedTarget`
- `CreateLaunchers`
- `DoxygenTargets`
- `EnableExtraCompilerWarnings`
- `EnableProfiling`
- `FileCopyTargets`
- `FindALUT`
- `FindAdrienne`
- `FindBluez`
- `FindCPPDOM`
- `FindDCubed`
- `FindDirectInput`
- `FindDirectShow`
- `FindDirectX`
- `FindFlagpoll`
- `FindGDB`
- `FindGHOST`
- `FindGLUI`
- `FindGLUT`
- `FindGMTL`
- `FindGPM`
- `FindGadgeteer12`
- `FindGadgeteer20`
- `FindGlove5DT`
- `FindHIDAPI`
- `FindIDLJ`
- `FindInterSense`
- `FindJCCL12`
- `FindJCCL14`
- `FindJtTk`
- `FindLAPACKLibs`
- `FindLibusb1`
- `FindLuabind`
- `FindLyX`
- `FindMacHID`
- `FindMarkdown`
- `FindOpenCV`
- `FindOpenHaptics`
- `FindParasolid`
- `FindPerformer`
- `FindPerlModules`
- `FindQVRPN`
- `FindSonix12`
- `FindSonix14`
- `FindTR1`
- `FindTooN`
- `FindTooNtag`
- `FindTweek12`
- `FindTweek14`
- `FindVPR20`
- `FindVPR22`
- `FindVPS`
- `FindVRJ22`
- `FindVRJ30`
- `FindVRJOGL22`
- `FindVRJOGL30`
- `FindVRJuggler`
- `FindVRJuggler22`
- `FindVRJuggler30`
- `FindVRPN`
- `FindViewPoint`
- `FindVirtuoseAPI`
- `FindVirtuoseVPP`
- `FindWiiSCAAT`
- `FindWiiUse`
- `FindWinHID`
- `FindWindowsSDK`
- `Findargp`
- `Findcppcheck`
- `Findcppunit`
- `Findcutil`
- `Finddb2pdf`
- `FindosgLua`
- `Findquatlib`
- `GetCPUDetails`
- `GetCompilerInfoString`
- `GetDirectoryList`
- `GetFileList`
- `GetForceIncludeDefinitions`
- `GetGitRevisionDescription`
- `GetSubprojectStatus`
- `Licensing`
- `ListCombinations`
- `ListFilter`
- `LuaTargets`
- `MSVCMultipleProcessCompile`
- `MSVCStaticRuntime`
- `MSVCVerboseLinking`
- `OptionRequires`
- `PrefixListGlob`
- `ProgramFilesGlob`
- `ResetConfigurations`
- `SearchProgramFilesForOpenSceneGraph`
- `SetDefaultBuildType`
- `SplitLibraryList`
- `StampSourcesWithVersion`
- `TCHARWorkaround`
- `UseBackportedModules`
- `UseMarkdown`
- `UseTR1`
- `WarningDev`

The following modules are also available for CMake. They can be used with INCLUDE(ModuleName).

      Custom CMake Modules - Additional Modules for CMake.

This is the documentation for additional modules and scripts for CMake. Using these modules you can check the computer system for installed software packages, features of the compiler and the existance of headers to name just a few.

- `AboutTheseModules`: Dummy module containing information about these modules for the HELP file

  This file documents a snapshot of the cmake-modules available from http://github.com/rpavlik/cmake-modules/ The latest version of these modules can always be found there. Additionally, you can find instructions on how to integrate these modules into your own project either in the README.markdown file in this directory, or on the GitHub page listed above (scroll to the bottom to see the README rendered attractively).

  In short: Modules of the form "FindSomeName.cmake" are considered to be "find modules", and are intended to be used indirectly by calling find_package, not by calling include. Thus, you'll want to do something like:

        find_package(SomeName)

  They define a number of variables allowing you to use whatever software they search for, such as include directories and libraries. A few also define some functions for your use.

  All other modules provide functionality, either immediately upon including them, or by defining functions that perform some task of varying utility that you can use any time after including them. Note that if a module has the filename, for example, cmake/BoostTestTargets.cmake, you only need to call:

        include(BoostTestTargets)

  For more information, see the documentation for individual modules, the cmake-modules github page, and/or the upstream CMake documentation at http://www.cmake.org/cmake/help/cmake-2-8-docs.html

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `BoostTestTargets`: Add tests using boost::test

  Add this line to your test files in place of including a basic boost test header:

        #include <BoostTestTargetConfig.h>

  If you cannot do that and must use the included form for a given test, include the line

        // OVERRIDE_BOOST_TEST_INCLUDED_WARNING

  in the same file with the boost test include.

        include(BoostTestTargets)
        add_boost_test(<testdriver_name> SOURCES <source1> [<more sources...>]
         [FAIL_REGULAR_EXPRESSION <additional fail regex>]
         [LAUNCHER <generic launcher script>]
         [LIBRARIES <library> [<library>...]]
         [RESOURCES <resource> [<resource>...]]
         [TESTS <testcasename> [<testcasename>...]])

        If for some reason you need access to the executable target created,
        it can be found in ${${testdriver_name}_TARGET_NAME} as specified when
        you called add_boost_test

  Requires CMake 2.6 or newer (uses the 'function' command)

  Requires: GetForceIncludeDefinitions CopyResourcesToBuildTree

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `BundleOSGPlugins`: Provide access to the OpenSceneGraph runtime files for bundling in

  an installation or package.

  Sets these variables:

        - OSGDB_PLUGINS_RELEASE
        - OSGDB_PLUGINS_DEBUG
        - OSGWRAPPER_PLUGINS_RELEASE
        - OSGWRAPPER_PLUGINS_DEBUG
        - OSG_RUNTIME_LIBRARY_DIR
        - OSG_PATH_TO_PLUGINS

  Creates this function:

        - install_osg_plugins( {varNameForOutputFilenames} )

  Requires these CMake modules:

        no additional modules required

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `BundleOSGRuntime`: Include the OpenSceneGraph runtime files in an installation or built package.

        OSGRUNTIME_BUNDLE - Set to "yes" to enable this behavior
        OSGRUNTIME_zlib1dll - Must be set to the location of zlib1.dll on Windows
        OSGRUNTIME_zlib1ddll - Can be set to the location of zlib1d.dll (debug) on Windows.
                               If set, will be installed.

  Requires these CMake modules:

        no additional modules required

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `BundleVRJ22Runtime`: Include the VR Juggler runtime files in an installation or built package.

        VRJUGGLERRUNTIME_BUNDLE
        VRJUGGLERRUNTIME_BUNDLE_DEBUG - set to yes to include debug dll's as well

  Requires these CMake modules:

        FindVRJuggler22 and its dependencies

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `BundleVRJ30Runtime`: Include the VR Juggler runtime files in an installation or built package.

        VRJUGGLERRUNTIME_BUNDLE
        VRJUGGLERRUNTIME_BUNDLE_DEBUG - set to yes to include debug dll's as well

  Requires these CMake modules:

        FindVRJuggler22 and its dependencies

  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>

- `CheckMacHIDAPI`: Script to check if the signature for a mac HID callback uses UInt32 or uint32_t

  Requires that the associated CPP file be present: CheckMacHIDAPI.cpp.

  MACOSX_HID_UINT32T, set according to the results of our test.

  Use add_definitions(-DMACOSX_HID_UINT32T=${MACOSX_HID_UINT32T}) in your listfile and the following prototype for the function you'd like to register using setInterruptReportHandlerCallback:

        void ReaderReportCallback(
                                  void *target,
                                  IOReturn result,
                                  void *refcon,
                                  void *sender,
                                  MACOSX_HID_UINT32T size
                                  )

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `CheckVersion`: Utility function for Find modules considering multiple possible versions

  Requires these CMake modules:

        no additional modules required

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `CleanDirectoryList`: Removes duplicate entries and non-directories from a provided list

        clean_directory_list(<listvar> [<additional list items>...])

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `CleanLibraryList`: A smarter replacement for list(REMOVE_DUPLICATES) for library lists

  Note that, in the case of cyclic link dependencies, you _do_ actually need a library in a list multiple times. So, only use this function when you know that the dependency graph is acyclic.

        clean_library_list(<listvar> [<additional list items>...]) - where
        listvar is the name of a destination variable, and also possibly a source, and
        it is followed by any number (including 0) of additional libraries to append
        to the list before processing.

  Removes duplicates from the list, leaving only the last instance, while preserving the meaning of the "optimized", "debug", and "general" labeling. (Libraries listed as general are listed in the result instead as optimized and debug)

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `CopyResourcesToBuildTree`: Copy the resources your app needs to the build tree.

        copy_resources_to_build_tree(<target_name>)

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `CppcheckTargets`: Run cppcheck on c++ source files as a custom target and a test

        include(CppcheckTargets)
        add_cppcheck(<target-name> [UNUSED_FUNCTIONS] [STYLE] [POSSIBLE_ERROR] [FAIL_ON_WARNINGS]) -
          Create a target to check a target's sources with cppcheck and the indicated options
        add_cppcheck_sources(<target-name> [UNUSED_FUNCTIONS] [STYLE] [POSSIBLE_ERROR] [FAIL_ON_WARNINGS]) -
          Create a target to check standalone sources with cppcheck and the indicated options

  Requires these CMake modules:

        Findcppcheck

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `CreateDashboardScripts`: Create ctest -S scripts to use to run dashboard builds

        include(CreateDashboardScripts)
        create_dashboard_scripts([<initialcachetemplatefilename>])

  If you need additional settings to persist from the "parent" CMake instance to the initial cache created by the dashboard script, you may pass a filename which will be configured into the initial cache.

  In the resulting DASHBOARDSCRIPT_BASE_DIRECTORY, an end-user may optionally create a file named

        CustomInitialCache.${DASHBOARDSCRIPT_SCRIPT_NAME}

  (by default, CustomInitialCache.go.cmake) containing set commands that use the CACHE option, to set up additional site-local cache variable values.

  Requires these CMake modules:

        GetCompilerInfoString

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `CreateImportedTarget`: A smarter replacement for list(REMOVE_DUPLICATES) for library lists

        create_imported_target(<libname> [SHARED|STATIC|MODULE] [<library dependency>...]) - where
        ${libname}_LIBRARIES is set to this library's paths.

  Removes duplicates from the list then sorts while preserving "optimized", "debug", and "general" labeling

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `CreateLaunchers`: Create launchers to set working directory, env. vars, etc.

        include(CreateLaunchers) - to make these available
        guess_runtime_library_dirs(<outputvarname> [<extralibrary> ...])
        create_default_target_launcher(<targetname>
          [ARGS <args...>]
          [FORWARD_ARGS]
          [RUNTIME_LIBRARY_DIRS <dir...>]
          [WORKING_DIRECTORY <dir>]
          [ENVIRONMENT <VAR=value> [<VAR=value>...]])

        create_target_launcher(<targetname>
          [ARGS <args...>]
          [FORWARD_ARGS]
          [RUNTIME_LIBRARY_DIRS <dir...>]
          [WORKING_DIRECTORY <dir>]
          [ENVIRONMENT <VAR=value> [<VAR=value>...]])

        create_generic_launcher(<launchername>
          [RUNTIME_LIBRARY_DIRS <dir...>]
          [WORKING_DIRECTORY <dir>]
          [ENVIRONMENT <VAR=value> [<VAR=value>...]])
          - sets GENERIC_LAUNCHER_COMMAND and GENERIC_LAUNCHER_FAIL_REGULAR_EXPRESSION

  Requires these CMake modules:

        ListFilter
        ProgramFilesGlob
        CleanDirectoryList

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `DoxygenTargets`: Run doxygen on source files as a custom target

        include(DoxygenTargets)
        add_doxygen(<doxyfile> [OUTPUT_DIRECTORY <outputdir>]
         [INSTALL_DESTINATION <installdir>
         [INSTALL_COMPONENT <installcomponent>]
         [INSTALL_PDF_NAME <installpdfname>] ]
         [DOC_TARGET <targetname>]
         [PROJECT_NUMBER <versionnumber>]
         [NO_WARNINGS]
         [NO_PDF])

  Requires these CMake modules:

        FindDoxygen

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `EnableExtraCompilerWarnings`: Add flags to compile with extra warnings

        enable_extra_compiler_warnings(<targetname>)
        globally_enable_extra_compiler_warnings() - to modify CMAKE_CXX_FLAGS, etc
          to change for all targets declared after the command, instead of per-command

  Original Author: 2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `EnableProfiling`: Add flags to compile with profiling support - currently only for GCC

        enable_profiling(<targetname>)
        globally_enable_profiling() - to modify CMAKE_CXX_FLAGS, etc
          to change for all targets declared after the command, instead of per-command

  Original Author: 2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FileCopyTargets`: Add a target for files that just need to be copied

        include(FileCopyTargets)
        add_file_copy_target(<target_name> <directory to copy to> <filename> [<filename>...])
          Creates a custom target that copies the files to a directory, if needed.
          Relative paths for the destination directory are considered with
          with respect to CMAKE_CURRENT_BINARY_DIR
          You can use this target in all the usual ways, including
          add_dependencies(some_other_target this_target) to specify that another
          target depends on this.

        install_file_copy_target(<target_name> [arguments to INSTALL(PROGRAMS ...) ])
          Works just the same as INSTALL(PROGRAMS ...) because it wraps it to install
          the files you specified in add_file_copy_target

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindALUT`: try to find the OpenAL ALUT library

  Users may optionally supply:

        ALUT_ROOT_DIR - a prefix to start searching.

  Cache Variables: (probably not for direct use in your scripts)

        ALUT_INCLUDE_DIR
        ALUT_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        ALUT_FOUND
        ALUT_INCLUDE_DIRS
        ALUT_LIBRARIES
        ALUT_WORKAROUND_INCLUDE_DIRS - add these to your include path with
         include_directories(${ALUT_WORKAROUND_INCLUDE_DIRS} ${ALUT_INCLUDE_DIRS})
         so you can always #include <AL/al.h> and #include <AL/alut.h> even on
         Mac where the paths might differ.

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindAdrienne`: try to find Adrienne Electronics Corporation timecode card library

  SDK available from the manufacturer: http://www.adrielec.com/

  Cache Variables: (probably not for direct use in your scripts)

        ADRIENNE_INCLUDE_DIR
        ADRIENNE_LIBRARY
        ADRIENNE_RUNTIME_LIBRARY
        ADRIENNE_INCLUDE_FILE

  Variables you might use in your CMakeLists.txt:

        ADRIENNE_FOUND
        ADRIENNE_INCLUDE_DIRS
        ADRIENNE_LIBRARIES
        ADRIENNE_RUNTIME_LIBRARIES - the AEC_NTTC.dll file
        ADRIENNE_RUNTIME_LIBRARY_DIRS

        ADRIENNE_INCLUDE_FILENAME - this is probably AEC_NTTC.h, but it might also
          be AECINTTC.H.

        ADRIENNE_INCLUDE_HAS_EXTERN_C - Some (most) versions of the header already
          wrap their definitions in extern "C" { }, but some do not.

        ADRIENNE_DEFINITIONS - defines a quoted ADRIENNE_INCLUDE_FILENAME as above,
          so you can write a line like #include ADRIENNE_INCLUDE_FILENAME
          Also defines ADRIENNE_BEFORE_INCLUDE and ADRIENNE_AFTER_INCLUDE to handle
          adding extern "C" { and } if the header file doesn't do so itself.

  Variables that might be set by the user in the gui/command line to help find the library:

        ADRIENNE_ROOT_DIR - root of an Adrienne CD, disk, or extracted/copied contents
          thereof.

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindBluez`: try to find Bluez

  Cache Variables: (probably not for direct use in your scripts)

        BLUEZ_INCLUDE_DIR
        BLUEZ_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        BLUEZ_FOUND
        BLUEZ_INCLUDE_DIRS
        BLUEZ_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindCPPDOM`: try to find CPPDOM library

  Optionally uses Flagpoll and FindFlagpoll.cmake

        CPPDOM_LIBRARY_DIR, library search path
        CPPDOM_INCLUDE_DIR, include search path
        CPPDOM_LIBRARY, the library to link against
        CPPDOM_CXX_FLAGS
        CPPDOM_FOUND, If false, do not try to use this library.

  Useful configuration variables you might want to add to your cache:

        CPPDOM_ROOT_DIR - A directory prefix to search
                          (a path that contains include/ as a subdirectory)
        CPPDOM_ADDITIONAL_VERSIONS - Additional versions (outside of 0.7.8 to 1.2.0)
                                     to use when constructing search names and paths

  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.

  VR Juggler requires this package, so this Find script takes that into account when determining where to search for the desired files. The VJ_BASE_DIR environment variable is searched (preferentially) when searching for this package, so most sane VR Juggler 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-2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindDCubed`: try to find DCUBED library

        DCUBED_LIBRARY_DIR, library search path
        DCUBED_INCLUDE_DIR, include search path
        DCUBED_{component}_LIBRARY, the library to link against
        DCUBED_ENVIRONMENT
        DCUBED_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:

        DCUBED_ROOT_DIR - A directory prefix to search
                               (a path that contains include/ as a subdirectory)

  2009-2010 Ryan Pavlik <rpavlik@iastate.edu> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindDirectInput`: try to find DirectInput library (part of DirectX SDK)

  Cache Variables: (probably not for direct use in your scripts)

        DIRECTINPUT_DXGUID_LIBRARY
        DIRECTINPUT_DXERR_LIBRARY
        DIRECTINPUT_DINPUT_LIBRARY
        DIRECTINPUT_INCLUDE_DIR

  Non-cache variables you should use in your CMakeLists.txt:

        DIRECTINPUT_LIBRARIES
        DIRECTINPUT_INCLUDE_DIRS
        DIRECTINPUT_FOUND - if this is not true, do not attempt to use this library

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2011 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2011. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindDirectShow`: Find Microsoft DirectShow sample files, library, and headers.

        DIRECTSHOW_INCLUDE_DIRS - where to find needed include file
        DIRECTSHOW_BASECLASS_DIR- Directory containing the DirectShow baseclass sample code.
        DIRECTSHOW_FOUND        - True if DirectShow found.

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Initially in VRPN - Distributed under the Boost Software License, Version 1.0.

  Almost entirely re-written by: 2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindDirectX`: try to find part of DirectX SDK

  Cache Variables: (probably not for direct use in your scripts)

        DIRECTX_INCLUDE_DIR

  Variables you should use in your CMakeLists.txt:

        DIRECTX_DXGUID_LIBRARY
        DIRECTX_DXERR_LIBRARY
        DIRECTX_DINPUT_LIBRARY
        DIRECTX_DINPUT_INCLUDE_DIR
        DIRECTX_D3D9_LIBRARY
        DIRECTX_D3DXOF_LIBRARY
        DIRECTX_D3DX9_LIBRARIES
        DIRECTX_INCLUDE_DIRS
        DIRECTX_FOUND - if this is not true, do not attempt to use this library

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
        SelectLibraryConfigurations

  Original Author: 2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindFlagpoll`: try to find Flagpoll application, and offer package-finding services

        FLAGPOLL, the executable: if not defined, do not try to use Flagpoll.

  Useful configuration variables you might want to add to your cache:

        FLAGPOLL_ROOT_DIR  - A directory prefix to search for the app
                             (a path that contains bin/ as a subdirectory)

  VR Juggler requires this package, so this Find script takes that into account when determining where to search for the desired files. The VJ_BASE_DIR environment variable is searched (preferentially) when searching for this package, so most sane VR Juggler 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.

  You can use Flagpoll to provide directories to use as HINTS for find_* These are the provided macros:

        flagpoll_get_include_dirs
        flagpoll_get_library_dirs
        flagpoll_get_library_names
        flagpoll_get_extra_libs

  All take the name of the desired package, optionally NO_DEPS to pass --no-deps to Flagpoll, and return yourpkgname_FLAGPOLL_INCLUDE_DIRS(etc. for the other macros).

  Example usage: flagpoll_get_include_dirs(vpr NO_DEPS) find_path(VPR20_INCLUDE_DIRS vpr/vpr.h

         	  HINTS  ${vpr_FLAGPOLL_INCLUDE_DIRS})

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindGDB`: Try to find GDB

  Once done, this will define:

        GDB_FOUND - system has GDB
        GDB_COMMAND - the command to run
        GDB_VERSION - version
        GDB_HAS_RETURN_CHILD_RESULT - if the --return-child-result flag is supported

  Useful configuration variables you might want to add to your cache:

        GDB_ROOT_DIR - A directory prefix to search

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindGHOST`: try to find Sensable GHOST library and include files

        GHOST_INCLUDE_DIRS, where to find GL/glut.h, etc.
        GHOST_LIBRARIES, the libraries to link against
        GHOST_FOUND, If false, do not try to use GLUT.
        GHOST_RUNTIME_LIBRARY_DIRS, path to DLL on Windows for runtime use.

  Requires these CMake modules:

        no additional modules required

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindGLUI`: Try to find GLUI (GL User Interface)

  Requires OpenGL and GLUT - searches for them using find_package Once done, this will define

  GLUI_INCLUDE_DIR, where to find GL/glui.h (or GLUI/glui.h on mac) GLUI_LIBRARY, the libraries to link against GLUI_FOUND, If false, do not try to use GLUI.

  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:

         GLUI_ROOT_DIR - A directory prefix to search
                        (usually a path that contains include/ as a subdirectory)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindGLUT`: try to find glut library and include files

        GLUT_INCLUDE_DIRS, where to find GL/glut.h, etc.
        GLUT_LIBRARIES, the libraries to link against
        GLUT_FOUND, If false, do not try to use GLUT.
        GLUT_RUNTIME_LIBRARY_DIRS, path to DLL on Windows for runtime use.
        GLUT_RUNTIME_LIBRARY, dll on Windows, for installation purposes

  Also defined, but not for general use are:

        GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
        GLUT_glut_LIBRARY = the full path to the glut library.

- `FindGMTL`: Try to find GMTL

  Optionally uses Flagpoll and FindFlagpoll.cmake Once done, this will define

        GMTL_FOUND - system has GMTL
        GMTL_INCLUDE_DIR - the GMTL include directory

  Useful configuration variables you might want to add to your cache:

        GMTL_ROOT_DIR - A directory prefix to search
                        (a path that contains include/ as a subdirectory)
        GMTL_ADDITIONAL_VERSIONS - Additional versions (outside of 0.5.1 to 0.7.0)
                                   to use when constructing search names and paths

  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.

  VR Juggler requires this package, so this Find script takes that into account when determining where to search for the desired files. The VJ_BASE_DIR environment variable is searched (preferentially) when searching for this package, so most sane VR Juggler 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-2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindGPM`: try to find GPM library

  Cache Variables: (probably not for direct use in your scripts)

        GPM_INCLUDE_DIR
        GPM_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        GPM_FOUND
        GPM_INCLUDE_DIRS
        GPM_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindGadgeteer12`: try to find Gadgeteer 1.2 library

  Requires JCCL 1.2 and VPR 2.0 (thus FindJCCL12.cmake and FindVPR20.cmake) Requires X11 if not on Mac or Windows. Optionally uses Flagpoll and FindFlagpoll.cmake

  This library is a part of VR Juggler 2.2 - you probably want to use find_package(VRJuggler22) instead, for an easy interface to this and related scripts. See FindVRJuggler22.cmake for more information.

        GADGETEER12_LIBRARY_DIR, library search path
        GADGETEER12_INCLUDE_DIR, include search path
        GADGETEER12_LIBRARY, the library to link against
        GADGETEER12_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:

        GADGETEER12_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

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindGadgeteer20`: 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>

- `FindGlove5DT`: try to find Glove5DT libraries

  Cache Variables: (probably not for direct use in your scripts)

        GLOVE5DT_INCLUDE_DIR
        GLOVE5DT_LIBRARY
        GLOVE5DT_LIBRARY_RELEASE
        GLOVE5DT_LIBRARY_DEBUG
        GLOVE5DT_RUNTIME_LIBRARY_RELEASE
        GLOVE5DT_RUNTIME_LIBRARY_DEBUG

  Non-cache variables you might use in your CMakeLists.txt:

        GLOVE5DT_FOUND
        GLOVE5DT_INCLUDE_DIRS
        GLOVE5DT_LIBRARIES
        GLOVE5DT_RUNTIME_LIBRARY_DIRS

  Requires these CMake modules:

        CleanDirectoryList
        CleanLibraryList
        ListCombinations
        ProgramFilesGlob
        SelectLibraryConfigurations (included with CMake >=2.8.0)
        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindHIDAPI`: try to find HIDAPI library

  from http://www.signal11.us/oss/hidapi/

  Cache Variables: (probably not for direct use in your scripts)

        HIDAPI_INCLUDE_DIR
        HIDAPI_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        HIDAPI_FOUND
        HIDAPI_INCLUDE_DIRS
        HIDAPI_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindIDLJ`: try to find Java's IDLJ Interface Definition Language compiler.

  Ideally used with CMake 2.8.5 or newer for Java support using FindJava.cmake and UseJava.cmake

  Variables:

        Java_IDLJ_COMMAND, executable for idlj
        IDLJ_FOUND, If false, do not try to use this

  Function:

        java_idlj(varname idlfile [extra idlj args]) - Generates
          the Java source files from the IDL file you indicate, and
          appends filenames suitable to add to a add_jar() call to the
          variable you specified.

  Because the files generated from an IDL file are not entirely predictable, java_idlj runs idlj in the cmake step, rather than the build step, and triggers a CMake re-run when an idl file is modified. Already up-to-date generated source is not re-generated, however.

  Files are generated in a directory created specifically for the particular IDL file and the particular call, in the build directory - there should be no worries about overwriting files or picking up too much with the wildcard.

  You may wish to add the IDL file to your list of sources if you want it to appear in your IDE, but it is not necessary.

  Original Author: 2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindInterSense`: try to find InterSense library

  Cache Variables: (probably not for direct use in your scripts)

        INTERSENSE_INCLUDE_DIR
        INTERSENSE_ISENSEC_DIR - location of the isense.c "import library" substitute.
        INTERSENSE_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        INTERSENSE_FOUND
        INTERSENSE_INCLUDE_DIRS
        INTERSENSE_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Author: 2013 Eric Marsh <bits@wemarsh.com> http://wemarsh.com/ Kognitiv Neuroinformatik, Universität Bremen

  (building on Ryan Pavlik's templates)

  2013 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindJCCL12`: try to find JCCL 1.2 library

  Requires VPR 2.0 (thus FindVPR20.cmake) Optionally uses Flagpoll and FindFlagpoll.cmake

  This library is a part of VR Juggler 2.2 - you probably want to use find_package(VRJuggler22) instead, for an easy interface to this and related scripts. See FindVRJuggler22.cmake for more information.

        JCCL12_LIBRARY_DIR, library search path
        JCCL12_INCLUDE_DIR, include search path
        JCCL12_LIBRARY, the library to link against
        JCCL12_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:

        JCCL12_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

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindJCCL14`: try to find JCCL 1.4 library

  Requires VPR 2.2 (thus FindVPR22.cmake) 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.

        JCCL14_LIBRARY_DIR, library search path
        JCCL14_INCLUDE_DIR, include search path
        JCCL14_LIBRARY, the library to link against
        JCCL14_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:

        JCCL14_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>

- `FindJtTk`: try to find JTTK library

        JTTK_LIBRARY_DIRS, library search path
        JTTK_INCLUDE_DIRS, include search path
        JTTK_{component}_LIBRARY, the library to link against
        JTTK_ENVIRONMENT, environment variables to set
        JTTK_RUNTIME_LIBRARY_DIRS
        JTTK_FOUND, If false, do not try to use this library.

  If you have license issues, you might run this command on each JtTk-using target:

        jttk_stamp_binary(<targetname>)

  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:

        JTTK_ROOT_DIR - A directory prefix to search
                               (a path that contains include/ as a subdirectory)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindLAPACKLibs`: Try to find LAPACK and BLAS libraries

  Once done, this will define

        LAPACKLIBS_LIBRARIES, all libraries to link against
        LAPACKLIBS_FOUND, If false, do not try to use LAPACK library features.

  Users may wish to set:

        LAPACKLIBS_ROOT_DIR, location to start searching for LAPACK libraries

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindLibusb1`: try to find libusb-1 library

  Cache Variables: (probably not for direct use in your scripts)

        LIBUSB1_LIBRARY
        LIBUSB1_INCLUDE_DIR

  Non-cache variables you should use in your CMakeLists.txt:

        LIBUSB1_LIBRARIES
        LIBUSB1_INCLUDE_DIRS
        LIBUSB1_FOUND - if this is not true, do not attempt to use this library

  Requires these CMake modules:

        ProgramFilesGlob
        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindLuabind`: try to find Luabind

  Users may optionally supply:

        LUABIND_ROOT_DIR - a prefix to start searching

  Non-cache variables you might use in your CMakeLists.txt:

        LUABIND_FOUND
        LUABIND_DEFINITIONS
        LUABIND_INCLUDE_DIRS
        LUABIND_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindLyX`: Try to find LyX, and define some custom commands to export from LyX

  Once done, this will define:

        LYX_FOUND - system has LyX
        LYX_COMMAND - the command to run

  and the following new functions:

        lyx_export(<format> <extension-without-leading-dot> <output-variable>
          INPUT <lyx-file> [...]
          [OUTPUT_TO_SOURCE_DIR]
          [ EXTRA_DEPS <bibtex-or-other-file> [...] ]) - the base function

  These shortcut functions all have the same syntax:

        lyx_export_to_XXX(<output-variable>
          INPUT <lyx-file> [...]
          [OUTPUT_TO_SOURCE_DIR]
          [ EXTRA_DEPS <bibtex-or-other-file> [...] ])

  Available shortcuts:

        lyx_export_to_docbook_xml
        lyx_export_to_docbook
        lyx_export_to_pdf
        lyx_export_to_pdf_via_pdflatex
        lyx_export_to_pdf_via_dvi

  Useful configuration variables you might want to add to your cache:

        LYX_ROOT_DIR - A directory prefix to search

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindMacHID`: try to find Mac HID frameworks

  Cache Variables: (probably not for direct use in your scripts)

        MACHID_CoreFoundation_LIBRARY
        MACHID_CoreFoundation_INCLUDE_DIR
        MACHID_IOKit_LIBRARY
        MACHID_IOKit_INCLUDE_DIR
        MACOSX_HID_UINT32T  (from CheckMacHIDAPI)

  Non-cache variables you should use in your CMakeLists.txt:

        MACHID_DEFINITIONS
        MACHID_LIBRARIES
        MACHID_INCLUDE_DIRS
        MACHID_FOUND - if this is not true, do not attempt to use this library

  Requires these CMake modules:

        CheckMacHIDAPI
        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindMarkdown`: try to find Markdown tool

  Cache Variables:

        MARKDOWN_EXECUTABLE

  Non-cache variables you might use in your CMakeLists.txt:

        MARKDOWN_FOUND

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2011 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2011. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindOpenCV`: ------------------------------

  See http://sourceforge.net/projects/opencvlibrary/

  The following variable is optionally searched for defaults

        OPENCV_ROOT_DIR:            Base directory of OpenCv tree to use.

        OPENCV_NEW_LIBRARY_NAMES   Set to YES before searching if you want to

  The following are set after configuration is done:

        OPENCV_FOUND
        OPENCV_INCLUDE_DIRS
        OPENCV_LIBRARIES

  2004/05 Jan Woetzel, Friso, Daniel Grest 2006/01 complete rewrite by Jan Woetzel 2006/09 2nd rewrite introducing ROOT_DIR and PATH_SUFFIXES

         to handle multiple installed versions gracefully by Jan Woetzel

  2010/02 Ryan Pavlik (Iowa State University) - partial rewrite to standardize

  tested with:

  www.mip.informatik.uni-kiel.de/~jw academic.cleardefinition.com

- `FindOpenHaptics`: try to find OpenHaptics libraries

  Cache Variables: (probably not for direct use in your scripts)

        HDAPI_INCLUDE_DIR
        HDAPI_LIBRARY
        HDAPI_LIBRARY_RELEASE
        HDAPI_LIBRARY_DEBUG
        HDAPI_HDU_INCLUDE_DIR
        HDAPI_HDU_LIBRARY
        HDAPI_HDU_LIBRARY_RELEASE
        HDAPI_HDU_LIBRARY_DEBUG
        HLAPI_INCLUDE_DIR
        HLAPI_LIBRARY
        HLAPI_LIBRARY_RELEASE
        HLAPI_LIBRARY_DEBUG
        HLAPI_HLU_INCLUDE_DIR
        HLAPI_HLU_LIBRARY
        HLAPI_HLU_LIBRARY_RELEASE
        HLAPI_HLU_LIBRARY_DEBUG

  Non-cache variables you might use in your CMakeLists.txt:

        OPENHAPTICS_FOUND
        HDAPI_INCLUDE_DIRS
        HDAPI_LIBRARIES
        HDAPI_HDU_INCLUDE_DIRS
        HDAPI_HDU_LIBRARIES
        HLAPI_INCLUDE_DIRS
        HLAPI_LIBRARIES
        HLAPI_HLU_INCLUDE_DIRS
        HLAPI_HLU_LIBRARIES
        OPENHAPTICS_LIBRARIES - includes HD, HDU, HL, HLU
        OPENHAPTICS_RUNTIME_LIBRARY_DIRS
        OPENHAPTICS_ENVIRONMENT
        OPENHAPTICS_LIBRARY_DIRS
        OPENHAPTICS_INCLUDE_DIRS

  Requires these CMake modules:

        CleanDirectoryList
        CleanLibraryList
        ListCombinations
        ProgramFilesGlob
        SelectLibraryConfigurations (included with CMake >=2.8.0)
        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
        CMake 2.6.3 (uses "unset")

  Original Author: 2009-2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindParasolid`: try to find PARASOLID library

  Important note: If you are also using JtTk, do your

        find_package(JtTk)

  first, to avoid runtime PK_* errors!

        PARASOLID_LIBRARY_DIR, library search path
        PARASOLID_INCLUDE_DIR, include search path
        PARASOLID_{component}_LIBRARY, the library to link against
        PARASOLID_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.

  Requires these CMake modules:

        CheckVersion
        ListCombinations
        ProgramFilesGlob
        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindPerformer`: try to find the OpenGL Performer library

  Users may optionally supply:

        PERFORMER_ROOT_DIR - a prefix to start searching.

  Cache Variables: (probably not for direct use in your scripts)

        PERFORMER_INCLUDE_DIR
        PERFORMER_LIBRARY
        PERFORMER_PFUI_LIBRARY - doesn't get included in PERFORMER_LIBRARIES
        PERFORMER_PFDU_UTIL_LIBRARY - doesn't get included in PERFORMER_LIBRARIES
        PERFORMER_PFV_LIBRARY - doesn't get included in PERFORMER_LIBRARIES

  Non-cache variables you might use in your CMakeLists.txt:

        PERFORMER_FOUND
        PERFORMER_INCLUDE_DIRS
        PERFORMER_LIBRARIES
        PERFORMER_RUNTIME_LIBRARY_DIRS

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindPerlModules`: try to find perl modules, passed as COMPONENTS

  Non-cache variable you might use in your CMakeLists.txt:

        PERLMODULES_FOUND

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindQVRPN`: try to find QVRPN library

  Of course, you may also just choose to make QVRPN a submodule of your project itself.

  Cache Variables:

        QVRPN_LIBRARY
        QVRPN_INCLUDE_DIR

  Non-cache variables you might use in your CMakeLists.txt:

        QVRPN_FOUND
        QVRPN_LIBRARIES
        QVRPN_INCLUDE_DIRS

  QVRPN_ROOT_DIR is searched preferentially for these files

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Refactored from FindVRPN.cmake by: Juan Sebastian Casallas <casallas@iastate.edu>

  FindVRPN.cmake Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindSonix12`: try to find Sonix 1.2 library

  Requires VPR 2.0 and GMTL (thus FindVPR20.cmake and FindGMTL.cmake) Optionally uses Flagpoll and FindFlagpoll.cmake

  This library is a part of VR Juggler 2.2 - you probably want to use find_package(VRJuggler22) instead, for an easy interface to this and related scripts. See FindVRJuggler22.cmake for more information.

        SONIX12_LIBRARY_DIR, library search path
        SONIX12_INCLUDE_DIR, include search path
        SONIX12_LIBRARY, the library to link against
        SONIX12_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:

        SONIX12_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

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindSonix14`: try to find Sonix 1.4 library

  Requires VPR 2.2 and GMTL (thus FindVPR22.cmake and FindGMTL.cmake) 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.

        SONIX14_LIBRARY_DIR, library search path
        SONIX14_INCLUDE_DIR, include search path
        SONIX14_LIBRARY, the library to link against
        SONIX14_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:

        SONIX14_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>

- `FindTR1`: Try to find C++ TR1 headers and libraries

  Once done, this will define

        TR1_USE_FILE, which you may "include" in your CMake file to be able
         to use TR1 features transparently
        TR1_INCLUDE_DIRS, any directories needed to access TR1 headers
        TR1_LIBRARY_DIRS, any directories needed to access (auto-link) TR1 libraries
        TR1_FOUND, If false, do not try to use TR1 features.

  If TR1 features are not built-in, we will try to use Boost to substitute for them.

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindTooN`: try to find TooN headers

  Users may optionally supply:

        TOON_ROOT_DIR - a prefix to start searching for the toon headers.

  Cache Variables: (probably not for direct use in your scripts)

        TOON_INCLUDE_DIR

  Non-cache variables you might use in your CMakeLists.txt:

        TOON_FOUND
        TOON_INCLUDE_DIRS
        TOON_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindTooNtag`: try to find tag algorithm library (built on TooN)

  Users may optionally supply:

        TAG_ROOT_DIR - a prefix to start searching for the toon headers.

  Cache Variables: (probably not for direct use in your scripts)

        TAG_INCLUDE_DIR
        TAG_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        TOONTAG_FOUND
        TOONTAG_INCLUDE_DIRS
        TOONTAG_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindTweek12`: try to find Tweek 1.2 library

  Requires VPR 2.0 (thus FindVPR20.cmake) Optionally uses Flagpoll and FindFlagpoll.cmake

  This library is a part of VR Juggler 2.2 - you probably want to use find_package(VRJuggler22) instead, for an easy interface to this and related scripts. See FindVRJuggler22.cmake for more information.

        TWEEK12_LIBRARY_DIR, library search path
        TWEEK12_INCLUDE_DIR, include search path
        TWEEK12_LIBRARY, the library to link against
        TWEEK12_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:

        TWEEK12_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

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindTweek14`: try to find Tweek 1.4 library

  Requires VPR 2.2 (thus FindVPR22.cmake) 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.

        TWEEK14_LIBRARY_DIR, library search path
        TWEEK14_INCLUDE_DIR, include search path
        TWEEK14_LIBRARY, the library to link against
        TWEEK14_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:

        TWEEK14_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>

- `FindVPR20`: try to find VPR 2.0 library

  Requires Boost 1.33.1 or greater (including filesystem and signals libraries) (and thus FindBoost.cmake from 2.8rc3 or newer, preferably) Requires NSPR4 (and PLC4) on Windows Requires pthreads on Unix (Mac or Linux) Requires libuuid on Linux Optionally uses Flagpoll and FindFlagpoll.cmake

  This library is a part of VR Juggler 2.2 - you probably want to use find_package(VRJuggler22) instead, for an easy interface to this and related scripts. See FindVRJuggler22.cmake for more information.

        VPR20_LIBRARY_DIR, library search path
        VPR20_INCLUDE_DIR, include search path
        VPR20_LIBRARY, the library to link against
        VPR20_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:

        VPR20_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

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVPR22`: try to find VPR 2.2 library

  Requires Boost 1.33.1 or greater (including filesystem and signals libraries) (and thus FindBoost.cmake from 2.8rc3 or newer, preferably) Requires NSPR4 (and PLC4) on Windows Requires pthreads on Unix (Mac or Linux) Requires libuuid on Linux 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.

        VPR22_LIBRARY_DIR, library search path
        VPR22_INCLUDE_DIR, include search path
        VPR22_LIBRARY, the library to link against
        VPR22_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:

        VPR22_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>

- `FindVPS`: try to find VPS library

        VPS_LIBRARY_DIR, library search path
        VPS_INCLUDE_DIR, include search path
        VPS_{component}_LIBRARY, the library to link against
        VPS_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:

        VPS_ROOT_DIR - A directory prefix to search
                               (a path that contains include/ as a subdirectory)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVRJ22`: try to find VR Juggler 2.2 core library

  Requires JCCL 1.2, Gadgeteer 1.2, VPR 2.0, and Sonix 1.2 (thus FindJCCL12.cmake, FindGadgeteer12.cmake, FindVPR20.cmake, and FindSonix12.cmake) Requires X11 if not on Mac or Windows. Optionally uses Flagpoll and FindFlagpoll.cmake

  This library is a part of VR Juggler 2.2 - you probably want to use find_package(VRJuggler22) instead, for an easy interface to this and related scripts. See FindVRJuggler22.cmake for more information.

        VRJ22_LIBRARY_DIR, library search path
        VRJ22_INCLUDE_DIR, include search path
        VRJ22_LIBRARY, the library to link against
        VRJ22_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:

        VRJ22_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

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVRJ30`: try to find VR Juggler 3.0 core library

  Requires JCCL 1.4, Gadgeteer 1.4, VPR 2.2, and Sonix 1.4 (thus FindJCCL14.cmake, FindGadgeteer20.cmake, FindVPR22.cmake, and FindSonix14.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.

        VRJ30_LIBRARY_DIR, library search path
        VRJ30_INCLUDE_DIR, include search path
        VRJ30_LIBRARY, the library to link against
        VRJ30_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:

        VRJ30_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>

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVRJOGL22`: try to find VRJuggler 2.2 OpenGL library

  Requires VRJ core 2.2 (thus FindVRJ22.cmake) Requires OpenGL. Optionally uses Flagpoll and FindFlagpoll.cmake

  This library is a part of VR Juggler 2.2 - you probably want to use find_package(VRJuggler22) instead, for an easy interface to this and related scripts. See FindVRJuggler22.cmake for more information.

        VRJOGL22_LIBRARY_DIR, library search path
        VRJOGL22_INCLUDE_DIRS, include search path for dependencies
        VRJOGL22_LIBRARY, the library to link against
        VRJOGL22_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:

        VRJOGL22_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

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVRJOGL30`: try to find VRJuggler 3.0 OpenGL library

  Requires VRJ core 3.0 (thus FindVRJ30.cmake) Requires OpenGL. 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.

        VRJOGL30_LIBRARY_DIR, library search path
        VRJOGL30_INCLUDE_DIRS, include search path for dependencies
        VRJOGL30_LIBRARY, the library to link against
        VRJOGL30_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:

        VRJOGL30_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>

- `FindVRJuggler`: try to find VR Juggler-related packages (combined finder)

        VRJUGGLER_INCLUDE_DIRS, include search paths
        VRJUGGLER_LIBRARIES, the libraries to link against
        VRJUGGLER_ENVIRONMENT
        VRJUGGLER_RUNTIME_LIBRARY_DIRS
        VRJUGGLER_CXX_FLAGS
        VRJUGGLER_DEFINITIONS
        VRJUGGLER_FOUND, If false, do not try to use VR Juggler.

  Components available to search for (uses "VRJOGL" by default):

        VRJOGL
        VRJ
        Gadgeteer
        JCCL
        VPR
        Sonix
        Tweek

  Additionally, a full setup requires these packages and their Find_.cmake scripts

        CPPDOM
        GMTL

  Optionally uses Flagpoll (and FindFlagpoll.cmake)

  Notes on components:

        - All components automatically include their dependencies.
        - If you do not specify a component, VRJOGL (the OpenGL view manager)
          will be used by default.
        - Capitalization of component names does not matter, but it's best to
          pretend it does and use the above capitalization.
        - Since this script calls find_package for your requested components and
          their dependencies, you can use any of the variables specified in those
          files in addition to the "summary" ones listed here, for more finely
          controlled building and linking.

  This CMake script requires all of the Find*.cmake scripts for the components listed above, as it is only a "meta-script" designed to make using those scripts more developer-friendly.

  Useful configuration variables you might want to add to your cache:

        (CAPS COMPONENT NAME)_ROOT_DIR - A directory prefix to search
                               (a path that contains include/ as a subdirectory)

  The VJ_BASE_DIR environment variable is also searched (preferentially) when seeking any of the above components, as well as Flagpoll, CPPDOM, and Boost (from within VPR), so most sane build environments should "just work."

  IMPORTANT: 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>

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVRJuggler22`: try to find VRJuggler 2.2-related packages (main finder)

        VRJUGGLER22_LIBRARY_DIRS, library search paths
        VRJUGGLER22_INCLUDE_DIRS, include search paths
        VRJUGGLER22_LIBRARIES, the libraries to link against
        VRJUGGLER22_ENVIRONMENT
        VRJUGGLER22_RUNTIME_LIBRARY_DIRS
        VRJUGGLER22_CXX_FLAGS
        VRJUGGLER22_DEFINITIONS
        VRJUGGLER22_FOUND, If false, do not try to use VR Juggler 2.2.

  Components available to search for (uses "VRJOGL22" by default):

        VRJOGL22
        VRJ22
        Gadgeteer12
        JCCL12
        VPR20
        Sonix12
        Tweek12

  Additionally, a full setup requires these packages and their Find_.cmake scripts

        CPPDOM
        GMTL

  Optionally uses Flagpoll (and FindFlagpoll.cmake)

  Notes on components:

        - All components automatically include their dependencies.
        - You can search for the name above with or without the version suffix.
        - If you do not specify a component, VRJOGL22(the OpenGL view manager)
          will be used by default.
        - Capitalization of component names does not matter, but it's best to
          pretend it does and use the above capitalization.
        - Since this script calls find_package for your requested components and
          their dependencies, you can use any of the variables specified in those
          files in addition to the "summary" ones listed here, for more finely
          controlled building and linking.

  This CMake script requires all of the Find*.cmake scripts for the components listed above, as it is only a "meta-script" designed to make using those scripts more developer-friendly.

  Useful configuration variables you might want to add to your cache:

        (CAPS COMPONENT NAME)_ROOT_DIR - A directory prefix to search
                               (a path that contains include/ as a subdirectory)

  The VJ_BASE_DIR environment variable is also searched (preferentially) when seeking any of the above components, as well as Flagpoll, CPPDOM, and Boost (from within VPR20), so most sane build environments should "just work."

  IMPORTANT: 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

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVRJuggler30`: try to find VRJuggler 3.0-related packages (main finder)

        VRJUGGLER30_LIBRARY_DIRS, library search paths
        VRJUGGLER30_INCLUDE_DIRS, include search paths
        VRJUGGLER30_LIBRARIES, the libraries to link against
        VRJUGGLER30_ENVIRONMENT
        VRJUGGLER30_RUNTIME_LIBRARY_DIRS
        VRJUGGLER30_CXX_FLAGS
        VRJUGGLER30_DEFINITIONS
        VRJUGGLER30_FOUND, If false, do not try to use VR Juggler 3.0.

  Components available to search for (uses "VRJOGL30" by default):

        VRJOGL30
        VRJ30
        Gadgeteer20
        JCCL14
        VPR22
        Sonix14
        Tweek14

  Additionally, a full setup requires these packages and their Find_.cmake scripts

        CPPDOM
        GMTL

  Optionally uses Flagpoll (and FindFlagpoll.cmake)

  Notes on components:

        - All components automatically include their dependencies.
        - You can search for the name above with or without the version suffix.
        - If you do not specify a component, VRJOGL30(the OpenGL view manager)
          will be used by default.
        - Capitalization of component names does not matter, but it's best to
          pretend it does and use the above capitalization.
        - Since this script calls find_package for your requested components and
          their dependencies, you can use any of the variables specified in those
          files in addition to the "summary" ones listed here, for more finely
          controlled building and linking.

  This CMake script requires all of the Find*.cmake scripts for the components listed above, as it is only a "meta-script" designed to make using those scripts more developer-friendly.

  Useful configuration variables you might want to add to your cache:

        (CAPS COMPONENT NAME)_ROOT_DIR - A directory prefix to search
                               (a path that contains include/ as a subdirectory)

  The VJ_BASE_DIR environment variable is also searched (preferentially) when seeking any of the above components, as well as Flagpoll, CPPDOM, and Boost (from within VPR22), so most sane build environments should "just work."

  IMPORTANT: 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-2011 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> and Ryan Pavlik

  Copyright Iowa State University 2009-2011. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVRPN`: try to find VRPN library

  Cache Variables:

        VRPN_LIBRARY
        VRPN_SERVER_LIBRARY
        VRPN_INCLUDE_DIR

  Non-cache variables you might use in your CMakeLists.txt:

        VRPN_FOUND
        VRPN_SERVER_LIBRARIES - server libraries
        VRPN_LIBRARIES - client libraries
        VRPN_CLIENT_DEFINITIONS - definitions if you only use the client library
        VRPN_DEFINITIONS - Client-only definition if all we found was the client library.
        VRPN_INCLUDE_DIRS

  VRPN_ROOT_DIR is searched preferentially for these files

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindViewPoint`: try to find Arrington Research ViewPoint EyeTracker SDK

  Cache Variables: (probably not for direct use in your scripts)

        VIEWPOINT_INCLUDE_DIR
        VIEWPOINT_LIBRARY
        VIEWPOINT_RUNTIME_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        VIEWPOINT_FOUND
        VIEWPOINT_INCLUDE_DIRS
        VIEWPOINT_LIBRARIES
        VIEWPOINT_RUNTIME_LIBRARIES - aka the dll for installing
        VIEWPOINT_RUNTIME_LIBRARY_DIRS

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindVirtuoseAPI`: try to find Haption VirtuoseAPI library and include files

        VIRTUOSEAPI_INCLUDE_DIRS, where to find headers
        VIRTUOSEAPI_LIBRARIES, the libraries to link against
        VIRTUOSEAPI_FOUND, If false, do not try to use this library
        VIRTUOSEAPI_RUNTIME_LIBRARY_DIRS, path to DLL/SO for runtime use.
        VIRTUOSEAPI_RUNTIME_LIBRARIES, runtime libraries you might want to install

- `FindVirtuoseVPP`: try to find Haption VirtuoseAPI C++ wrapper include files

  Use of this header depends on the VirtuoseAPI, so we search for that too.

        VIRTUOSEVPP_INCLUDE_DIRS, where to find headers
        VIRTUOSEVPP_LIBRARIES, the libraries to link against
        VIRTUOSEVPP_FOUND, If false, do not try to use this library
        VIRTUOSEVPP_RUNTIME_LIBRARY_DIRS, path to DLL/SO for runtime use.
        VIRTUOSEAPI_RUNTIME_LIBRARIES, runtime libraries you might want to install

- `FindWiiSCAAT`: try to find the Wii SCAAT library

  Users may optionally supply:

        WIISCAAT_ROOT_DIR - a prefix to start searching for the headers.

  Cache Variables: (probably not for direct use in your scripts)

        WIISCAAT_INCLUDE_DIR
        WIISCAAT_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        WIISCAAT_FOUND
        WIISCAAT_INCLUDE_DIRS
        WIISCAAT_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindWiiUse`: try to find WiiUse library

  Cache Variables: (probably not for direct use in your scripts)

        WIIUSE_INCLUDE_DIR
        WIIUSE_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        WIIUSE_FOUND
        WIIUSE_INCLUDE_DIRS
        WIIUSE_LIBRARIES
        WIIUSE_RUNTIME_LIBRARIES - aka the dll for installing
        WIIUSE_RUNTIME_LIBRARY_DIRS

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindWinHID`: try to find Windows HID support, part of the WDK/DDK

  Cache Variables: (probably not for direct use in your scripts)

        WINHID_INCLUDE_DIR
        WINHID_CRT_INCLUDE_DIR
        WINHID_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        WINHID_FOUND
        WINHID_INCLUDE_DIRS
        WINHID_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
        PrefixListGlob
        CleanDirectoryList

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindWindowsSDK`: Find the Windows SDK aka Platform SDK

  Variables:

        WINDOWSSDK_FOUND - if any version of the windows or platform SDK was found that is usable with the current version of visual studio
        WINDOWSSDK_LATEST_DIR
        WINDOWSSDK_LATEST_NAME
        WINDOWSSDK_FOUND_PREFERENCE - if we found an entry indicating a "preferred" SDK listed for this visual studio version
        WINDOWSSDK_PREFERRED_DIR
        WINDOWSSDK_PREFERRED_NAME

        WINDOWSSDK_DIRS - contains no duplicates, ordered most recent first.
        WINDOWSSDK_PREFERRED_FIRST_DIRS - contains no duplicates, ordered with preferred first, followed by the rest in descending recency

  Functions:

        windowssdk_name_lookup(<directory> <output variable>) - Find the name corresponding with the SDK directory you pass in, or
           NOTFOUND if not recognized. Your directory must be one of WINDOWSSDK_DIRS for this to work.

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2012 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `Findargp`: try to find the argp library/component of glibc

  Users may optionally supply:

        ARGP_ROOT_DIR - a prefix to start searching.

  Cache Variables: (probably not for direct use in your scripts)

        ARGP_INCLUDE_DIR
        ARGP_LIBRARY, only defined if linking to an extra library is required

  Non-cache variables you might use in your CMakeLists.txt:

        ARGP_FOUND
        ARGP_INCLUDE_DIRS
        ARGP_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `Findcppcheck`: try to find cppcheck tool

  Cache Variables:

        CPPCHECK_EXECUTABLE

  Non-cache variables you might use in your CMakeLists.txt:

        CPPCHECK_FOUND
        CPPCHECK_POSSIBLEERROR_ARG
        CPPCHECK_UNUSEDFUNC_ARG
        CPPCHECK_STYLE_ARG
        CPPCHECK_QUIET_ARG
        CPPCHECK_INCLUDEPATH_ARG
        CPPCHECK_FAIL_REGULAR_EXPRESSION
        CPPCHECK_WARN_REGULAR_EXPRESSION
        CPPCHECK_MARK_AS_ADVANCED - whether to mark our vars as advanced even
          if we don't find this program.

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `Findcppunit`: try to find cppunit library

  Cache Variables: (probably not for direct use in your scripts)

        CPPUNIT_INCLUDE_DIR
        CPPUNIT_LIBRARY

  Non-cache variables you might use in your CMakeLists.txt:

        CPPUNIT_FOUND
        CPPUNIT_INCLUDE_DIRS
        CPPUNIT_LIBRARIES

  Requires these CMake modules:

        SelectLibraryConfigurations (included with CMake >= 2.8.0)
        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2011 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2011. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `Findcutil`: find NVIDIA CUDA and source for the cutil library, building cutil if needed.

        CUTIL_LIBRARIES - Libraries to link against to use CUTIL
        CUTIL_INCLUDE_DIRS - Include directories to add before building a CUTIL app.

  Functions:

        install_cutil({RUNTIME_LIBRARY_DESTINATION}) - Install the CUTIL shared lib if created.

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `Finddb2pdf`: Try to find db2pdf, and define a custom command to turn docbook into pdf

  Once done, this will define:

        DB2PDF_FOUND - system has LyX
        DB2PDF_COMMAND - the command to run

  and the following function:

        docbook_to_pdf(<output-variable> <docbook files>)

  Useful configuration variables you might want to add to your cache:

        DB2PDF_ROOT_DIR - A directory prefix to search

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `FindosgLua`: try to find osgLua

  Users may optionally supply:

        OSGLUA_ROOT_DIR - a prefix to start searching

  Non-cache variables you might use in your CMakeLists.txt:

        OSGLUA_FOUND
        OSGLUA_INCLUDE_DIRS
        OSGLUA_LIBRARIES

  Requires these CMake modules:

        FindPackageHandleStandardArgs (known included with CMake >=2.6.2)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `Findquatlib`: Find quatlib

  Find the quatlib headers and libraries.

        QUATLIB_INCLUDE_DIRS - where to find quat.h
        QUATLIB_LIBRARIES    - List of libraries when using quatlib.
        QUATLIB_FOUND        - True if quatlib found.

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `GetCPUDetails`: Set a number of variables to indicate things about the current CPU and OS

        CPU_COUNT
        CPU_INTEL
        CPU_EXE_64BIT
        CPU_EXE_32BIT
        CPU_HAS_SSE
        CPU_HAS_SSE2
        CPU_HAS_SSE3
        CPU_HAS_SSSE3
        CPU_HAS_SSE4_1
        CPU_HAS_SSE4_2

  Requires these CMake modules:

        no additional modules required

  Original Author: 2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `GetCompilerInfoString`: Utility function to return a human-useful-only string ID'ing the compiler

        get_compiler_info_string(<resultvar>)

  and some helper functions:

        get_gcc_version(<resultvar>)
        get_vs_short_version_string(<generator> <resultvar>)

  You might consider using it when setting up CTest options, for example:

        include(GetCompilerInfoString)
        get_compiler_info_string(COMPILERID)
        set(CTEST_BUILD_NAME "${CMAKE_SYSTEM}-${CMAKE_SYSTEM_PROCESSOR}-${COMPILERID}")

  Requires these CMake modules:

        no additional modules required

  Original Author: 2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

  Some functions based on cmake-2.8.0 modules FindBoost.cmake and CTest.cmake ============================================================================= Copyright 2006-2009 Kitware, Inc. Copyright 2006-2008 Andreas Schneider <mail@cynapses.org> Copyright 2007 Wengo Copyright 2007 Mike Jackson Copyright 2008 Andreas Pakulat <apaku@gmx.de> Copyright 2008-2009 Philip Lowman <philip@yhbt.com> Copyright 2010 Iowa State University (Ryan Pavlik <abiryan@ryand.net>)

  Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details.

  This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================= CMake - Cross Platform Makefile Generator Copyright 2000-2009 Kitware, Inc., Insight Software Consortium All rights reserved.

  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  * Redistributions of source code must retain the above copyright

         notice, this list of conditions and the following disclaimer.

  * Redistributions in binary form must reproduce the above copyright

         notice, this list of conditions and the following disclaimer in the
         documentation and/or other materials provided with the distribution.

  * Neither the names of Kitware, Inc., the Insight Software Consortium,

         nor the names of their contributors may be used to endorse or promote
         products derived from this software without specific prior written
         permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. =============================================================================

- `GetDirectoryList`: Returns a list of the parent directories of all files passed

        get_directory_list(<listvar> <file path> [<additional file paths>...])

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `GetFileList`: Returns a list of the file names of all files passed

        get_file_list(<listvar> <file path> [<additional file paths>...])

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `GetForceIncludeDefinitions`: Get the platform-appropriate flags to add to force inclusion of a file

  The most common use of this is to use a generated config.h-type file placed out of the source tree in all files.

        get_force_include_definitions(var forcedincludefiles...) -
         where var is the name of  your desired output variable, and everything
         else is a source file to forcibly include.
         a list item to be filtered.

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `GetGitRevisionDescription`: Returns a version string from Git

  These functions force a re-configure on each git commit so that you can trust the values of the variables in your build system.

        get_git_head_revision(<refspecvar> <hashvar> [<additional arguments to git describe> ...])

  Returns the refspec and sha hash of the current head revision

        git_describe(<var> [<additional arguments to git describe> ...])

  Returns the results of git describe on the source tree, and adjusting the output so that it tests false if an error occurs.

        git_get_exact_tag(<var> [<additional arguments to git describe> ...])

  Returns the results of git describe --exact-match on the source tree, and adjusting the output so that it tests false if there was no exact matching tag.

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `GetSubprojectStatus`: Returns whether the current project is on its own or within another project's build

        get_subproject_status(<resultvar>) - resultvar will be YES if we are
         included in another project, or NO if we are being built separately

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `Licensing`: Building a licensing description file

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `ListCombinations`: Combine lists of prefixes and suffixes in all combinations

        list_combinations(var PREFIXES listitems... SUFFIXES listitems...) -
         where var is the name of your desired output variable and PREFIXES
         and SUFFIXES are special arguments that indicate the start of your
         list of prefixes or suffixes respectively.

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `ListFilter`: List filtering functions

        list_filter(var regex listitems...) - where var is the name of
         your desired output variable, regex is the regex whose matching items
         WILL be put in the output variable, and everything else is considered
         a list item to be filtered.

        list_filter_out(var regex listitems...) - where var is the name of
         your desired output variable, regex is the regex whose matching items
         will NOT be put in the output variable, and everything else is considered
         a list item to be filtered.

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `LuaTargets`: Copy/parse lua source files as a custom target

        include(LuaTargets)
        add_lua_target(<target_name> <directory to copy to> [<luafile> <luafile>])
          Relative paths for the destination directory are considered with
          with respect to CMAKE_CURRENT_BINARY_DIR

        install_lua_target(<target_name> [arguments to INSTALL(PROGRAMS ...) ])

  Set this variable to specify location of luac, if it is not a target:

        LUA_TARGET_LUAC_EXECUTABLE

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `MSVCMultipleProcessCompile`: Compile with multiple processes on MSVC

        include(MSVCMultipleProcessCompile)

  Requires these CMake modules:

        ListCombinations.cmake

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `MSVCStaticRuntime`: Modify compile flags to use the static runtimes of MSVC

        include(MSVCStaticRuntime)

  Requires these CMake modules:

        ListCombinations.cmake

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `MSVCVerboseLinking`: Add appropriate linker flags to show link details on Visual Studio

        include(MSVCVerboseLinking) - to add the flags automaticlly if applicable

  Be sure to include this module _BEFORE_ adding your targets, or the targets won't pick up the updated flags.

  Requires these CMake modules:

        - none

  Original Author: 2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `OptionRequires`: Add an option that depends on one or more variables being true.

        option_requires(<option_name> <description> <variable_name> [<variable_name>...])

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `PrefixListGlob`: For each given prefix in a list, glob using the prefix+pattern

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `ProgramFilesGlob`: Find bit-appropriate program files directories matching a given pattern

  Requires these CMake modules:

        CleanDirectoryList
        PrefixListGlob

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `ResetConfigurations`: Re-set the available configurations to just RelWithDebInfo, Release, and Debug

  Requires these CMake modules:

        no additional modules required

  Original Author: 2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `SearchProgramFilesForOpenSceneGraph`: Use some smarts to try to find OpenSceneGraph in the Program Files dirs

  Also uses the OSGHOME environment variable as OSG_DIR, if it's found.

  Usage:

        include(SearchProgramFilesForOpenSceneGraph OPTIONAL)

  Requires these CMake modules:

        ListFilter
        ProgramFilesGlob

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `SetDefaultBuildType`: Set a developer-chosen default build type

  Requires these CMake modules:

        no additional modules required

  Original Author: 2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `SplitLibraryList`: Given a list of libraries with OPTIMIZED, DEBUG, etc.

        split_library_list(_generalvar _releasevar _debugvar)

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `StampSourcesWithVersion`: It will only attempt a substitution within the first C-style comment block

  To set up your source code for proper stamping, start your file with a Doxygen-style comment block, starting with /* and ending with */ On a line by itself, with unimportant whitespace, add the standard Doxygen "version" command:

        @version xxx

  or

        \version xxx

  To make sure it works, please do actually put xxx as the current version: when you save, add one of the command below to your cmake build, and run cmake, it should replace xxx with the current version. (It replaces anything between the end of the whitespace after \version and the end of the line with the version that you pass in your build script, so put nothing else on that line!)

  For <version>, I recommend passing the value of a CMake variable like

        ${CPACK_PACKAGE_VERSION}

  Remember, reduced duplication of information means reduced errors!

  WARNING! This does edit your source directory, but will only execute if the (hidden/advanced, default OFF) variable ENABLE_VERSION_STAMPING is on.

  Additionally, it tries to be very careful: of your code (that is, the first /* */), but only if // is not found first

        stamp_target_with_version(<version> <target_name> [HEADERS_ONLY | <source>...]) -
         If no source file is specified, all will be processed.

        stamp_sources_with_version(<version> <source> [<source> ...]) -
         Use for files not directly associated with a target.

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `TCHARWorkaround`: Script to compile Win32-developed sources using tchar without modifying the code

  Requires that ${CMAKE_SOURCE_DIR}/cmake/workarounds/tchar/ be present.

  TCHAR_WORKAROUND, automatically set to on when not on win32 TCHAR_INCLUDE_DIR, location of our fake tchar.h file

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `UseBackportedModules`: Do a version-dependent check and auto-include backported modules dirs

  Name your module directories cmake-*-modules where * is the full (maj.min.patch) version number that they came from. You can use subdirectories within those directories, if you like - all directories inside of a cmake-*-modules dir for a newer version of CMake that what we're running, that contain one or more .cmake files, will be appended to the CMAKE_MODULE_PATH.

  When backporting modules, be sure to test them and follow copyright instructions (usually updating copyright notices)

  Requires these CMake modules:

        CleanDirectoryList

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `UseMarkdown`: Convert markdown source files to HTML as a custom target

        include(UseMarkdown)
        add_markdown_target(<target_name> <directory to copy to> <markdownfile> [<markdownfile>...] [RENAME <newname>])
          Relative paths for the destination directory are considered with
          with respect to CMAKE_CURRENT_BINARY_DIR. The RENAME argument is only
          valid with a single markdown file as input.

        install_markdown_target(<target_name> [extra arguments to INSTALL(FILES ...) ])

  Requires CMake 2.6 or newer (uses the 'function' command)

  Original Author: 2011 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2011-2012. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `UseTR1`: Use settings to enable access to C++ TR1

  This calls include_directories and link_directories as needed to permit TR1 support.

  Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

- `WarningDev`: Print a developer warning, using author_warning if we have cmake 2.8

        warning_dev("your desired message")

  Original Author: 2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

  Copyright Iowa State University 2009-2010. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

## See Also

- `Home Page`
- `Frequently Asked Questions`
- `Online Documentation`
- `Mailing List`

.B ccmake(1), cpack(1), ctest(1), cmakecommands(1), cmakecompat(1), cmakemodules(1), cmakeprops(1), cmakevars(1)

The following resources are available to get help using CMake:

- `Home Page`: http://www.cmake.org

  The primary starting point for learning about CMake.

- `Frequently Asked Questions`: http://www.cmake.org/Wiki/CMake_FAQ

  A Wiki is provided containing answers to frequently asked questions.

- `Online Documentation`: http://www.cmake.org/HTML/Documentation.html

  Links to available documentation may be found on this web page.

- `Mailing List`: http://www.cmake.org/HTML/MailingLists.html

  For help and discussion about using cmake, a mailing list is provided at cmake@cmake.org. The list is member-post-only but one may sign up on the CMake web page. Please first read the full documentation at http://www.cmake.org before posting questions to the list.