cmake version 2.8.11.1 ------------------------------------------------------------------------------ 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 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 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( SOURCES [] [FAIL_REGULAR_EXPRESSION ] [LAUNCHER ] [LIBRARIES [...]] [RESOURCES [...]] [TESTS [...]]) 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 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 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 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 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 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( [...]) Requires CMake 2.6 or newer (uses the 'function' command) Original Author: 2009-2010 Ryan Pavlik 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( [...]) - 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 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() Requires CMake 2.6 or newer (uses the 'function' command) Original Author: 2009-2010 Ryan Pavlik 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( [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( [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 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([]) 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 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( [SHARED|STATIC|MODULE] [...]) - 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 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( [ ...]) create_default_target_launcher( [ARGS ] [FORWARD_ARGS] [RUNTIME_LIBRARY_DIRS ] [WORKING_DIRECTORY ] [ENVIRONMENT [...]]) create_target_launcher( [ARGS ] [FORWARD_ARGS] [RUNTIME_LIBRARY_DIRS ] [WORKING_DIRECTORY ] [ENVIRONMENT [...]]) create_generic_launcher( [RUNTIME_LIBRARY_DIRS ] [WORKING_DIRECTORY ] [ENVIRONMENT [...]]) - 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 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( [OUTPUT_DIRECTORY ] [INSTALL_DESTINATION [INSTALL_COMPONENT ] [INSTALL_PDF_NAME ] ] [DOC_TARGET ] [PROJECT_NUMBER ] [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 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() 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 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() 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 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( [...]) 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( [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 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 and #include 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 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 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 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 http://wemarsh.com/ Kognitiv Neuroinformatik, Universität Bremen (building on Ryan Pavlik's templates) 2013 Ryan Pavlik 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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() 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 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 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 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 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( INPUT [...] [OUTPUT_TO_SOURCE_DIR] [ EXTRA_DEPS [...] ]) - the base function These shortcut functions all have the same syntax: lyx_export_to_XXX( INPUT [...] [OUTPUT_TO_SOURCE_DIR] [ EXTRA_DEPS [...] ]) 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 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 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 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 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 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 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 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 FindVRPN.cmake Original Author: 2009-2010 Ryan Pavlik 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 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 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 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 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 http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp 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 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 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 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 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 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( ) - 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 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 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 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 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 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( ) 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 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 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 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 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() and some helper functions: get_gcc_version() get_vs_short_version_string( ) 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 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 Copyright 2007 Wengo Copyright 2007 Mike Jackson Copyright 2008 Andreas Pakulat Copyright 2008-2009 Philip Lowman Copyright 2010 Iowa State University (Ryan Pavlik ) 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( [...]) Requires CMake 2.6 or newer (uses the 'function' command) Original Author: 2009-2010 Ryan Pavlik 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( [...]) Requires CMake 2.6 or newer (uses the 'function' command) Original Author: 2009-2010 Ryan Pavlik 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 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( [ ...]) Returns the refspec and sha hash of the current head revision 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( [ ...]) 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 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 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 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 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 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 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( [ ]) Relative paths for the destination directory are considered with with respect to CMAKE_CURRENT_BINARY_DIR install_lua_target( [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 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 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 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 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( [...]) Original Author: 2009-2010 Ryan Pavlik 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 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 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 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 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 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 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 , 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( [HEADERS_ONLY | ...]) - If no source file is specified, all will be processed. stamp_sources_with_version( [ ...]) - Use for files not directly associated with a target. Original Author: 2009-2010 Ryan Pavlik 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 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 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( [...] [RENAME ]) 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( [extra arguments to INSTALL(FILES ...) ]) Requires CMake 2.6 or newer (uses the 'function' command) Original Author: 2011 Ryan Pavlik 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 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 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 .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.