diff --git a/cmake/AboutTheseModules.cmake b/cmake/AboutTheseModules.cmake new file mode 100644 index 0000000..3d2beaf --- /dev/null +++ b/cmake/AboutTheseModules.cmake @@ -0,0 +1,34 @@ +# - 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) + diff --git a/cmake/BoostTestTargets.cmake b/cmake/BoostTestTargets.cmake index 92607b6..05d59c1 100644 --- a/cmake/BoostTestTargets.cmake +++ b/cmake/BoostTestTargets.cmake @@ -31,10 +31,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__add_boost_test) return() @@ -67,19 +67,20 @@ include(GetForceIncludeDefinitions) include(CopyResourcesToBuildTree) if(Boost_FOUND AND NOT "${Boost_VERSION}0" LESS "1034000") + set(_boosttesttargets_libs) + set(_boostConfig "BoostTestTargetsIncluded.h") if(NOT Boost_UNIT_TEST_FRAMEWORK_LIBRARY) find_package(Boost 1.34.0 QUIET COMPONENTS unit_test_framework) endif() if(Boost_UNIT_TEST_FRAMEWORK_LIBRARY) - set(_boosttesttargets_libs ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}) + set(_boosttesttargets_libs "${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}") if(Boost_USE_STATIC_LIBS) set(_boostConfig "BoostTestTargetsStatic.h") else() - set(_boostConfig "BoostTestTargetsDynamic.h") + if(NOT APPLE) + set(_boostConfig "BoostTestTargetsDynamic.h") + endif() endif() - else() - set(_boosttesttargets_libs) - set(_boostConfig "BoostTestTargetsIncluded.h") endif() get_filename_component(_moddir ${CMAKE_CURRENT_LIST_FILE} PATH) configure_file("${_moddir}/${_boostConfig}" diff --git a/cmake/BundleOSGPlugins.cmake b/cmake/BundleOSGPlugins.cmake index a86510d..c8e482b 100644 --- a/cmake/BundleOSGPlugins.cmake +++ b/cmake/BundleOSGPlugins.cmake @@ -20,10 +20,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) function(_osgbundle_split_debug_versions releasevar debugvar) diff --git a/cmake/BundleOSGRuntime.cmake b/cmake/BundleOSGRuntime.cmake index 48b2e2e..8d11926 100644 --- a/cmake/BundleOSGRuntime.cmake +++ b/cmake/BundleOSGRuntime.cmake @@ -13,10 +13,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) function(_osgbundle_split_debug_versions releasevar debugvar) set(release) diff --git a/cmake/BundleVRJ22Runtime.cmake b/cmake/BundleVRJ22Runtime.cmake index d5c6b89..9198d25 100644 --- a/cmake/BundleVRJ22Runtime.cmake +++ b/cmake/BundleVRJ22Runtime.cmake @@ -11,10 +11,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(WIN32) option(VRJUGGLERRUNTIME_BUNDLE diff --git a/cmake/BundleVRJ30Runtime.cmake b/cmake/BundleVRJ30Runtime.cmake new file mode 100644 index 0000000..c661da0 --- /dev/null +++ b/cmake/BundleVRJ30Runtime.cmake @@ -0,0 +1,96 @@ +# - 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 + +if(WIN32) + option(VRJUGGLERRUNTIME_BUNDLE + "Install a local copy of the VR Juggler runtime files with the project." + on) + option(VRJUGGLERRUNTIME_BUNDLE_DEBUG + "Install the VR Juggler debug runtime files as well." + off) + mark_as_advanced(VRJUGGLERRUNTIME_BUNDLE_DEBUG) +else() + # TODO - how to handle when not on Windows? + #option(VRJUGGLERRUNTIME_BUNDLE "Install a local copy of the VR Juggler runtime files with the project." off) +endif() + +mark_as_advanced(VRJUGGLERRUNTIME_BUNDLE VRJUGGLERRUNTIME_BUNDLE_DEBUG) + +if(VRJUGGLERRUNTIME_BUNDLE AND VRJUGGLER22_FOUND) + if(WIN32) + get_filename_component(_vrjlibdir "${VRJ22_LIBRARY_RELEASE}" PATH) + get_filename_component(_vrjroot "${_vrjlibdir}/../" ABSOLUTE) + + # TODO - make sure gadgeteer and sonix can find their DSO's at runtime... + + foreach(_dir bin lib) + if(VRJUGGLERRUNTIME_BUNDLE_DEBUG) + install(DIRECTORY "${_vrjroot}/${_dir}/" + DESTINATION bin + PATTERN "*.lib" EXCLUDE # exclude static and link libraries + PATTERN "*.exe" EXCLUDE # exclude unneeded executables + PATTERN "*.py" EXCLUDE # exclude unneeded python executables + PATTERN "*.pyc" EXCLUDE # exclude unneeded python executables + ) + else() + install(DIRECTORY ${_vrjroot}/${_dir}/ + DESTINATION bin + PATTERN "*.lib" EXCLUDE # exclude static and link libraries + PATTERN "*.exe" EXCLUDE # exclude unneeded executables + PATTERN "*.py" EXCLUDE # exclude unneeded python executables + PATTERN "*.pyc" EXCLUDE # exclude unneeded python executables + + PATTERN "*d.dll" EXCLUDE # exclude debug dll's + PATTERN "*-gd-*.dll" EXCLUDE # exclude Boost debug dll's + ) + endif() + + endforeach() + + install(DIRECTORY ${_vrjroot}/share/ + DESTINATION share + FILES_MATCHING + + # Runtime files + PATTERN "*.dll" + PATTERN "*.jar" + + # Data files + PATTERN "*.wav" + PATTERN "*.xml" + PATTERN "*.xsl" + PATTERN "*.xsd" + PATTERN "*.flt" + PATTERN "*.dat" + PATTERN "*.table" + + + # Config files + PATTERN "*.jdef" + PATTERN "*.jconf" + PATTERN "*.cfg" + PATTERN "hosts.allow" + + # Other Files + PATTERN "*.txt" + PATTERN "COPYING*" + PATTERN "ChangeLog" + ) + + endif() + + + +endif() diff --git a/cmake/CheckMacHIDAPI.cmake b/cmake/CheckMacHIDAPI.cmake index 9a8a302..5433783 100644 --- a/cmake/CheckMacHIDAPI.cmake +++ b/cmake/CheckMacHIDAPI.cmake @@ -19,10 +19,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(APPLE) diff --git a/cmake/CheckVersion.cmake b/cmake/CheckVersion.cmake index bbd21f1..baece76 100644 --- a/cmake/CheckVersion.cmake +++ b/cmake/CheckVersion.cmake @@ -8,10 +8,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__check_version) return() diff --git a/cmake/CleanDirectoryList.cmake b/cmake/CleanDirectoryList.cmake index 67adccd..58b8963 100644 --- a/cmake/CleanDirectoryList.cmake +++ b/cmake/CleanDirectoryList.cmake @@ -9,10 +9,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__clean_directory_list) return() diff --git a/cmake/CleanLibraryList.cmake b/cmake/CleanLibraryList.cmake index fcff1b4..7761393 100644 --- a/cmake/CleanLibraryList.cmake +++ b/cmake/CleanLibraryList.cmake @@ -21,10 +21,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__clean_library_list) return() diff --git a/cmake/CopyResourcesToBuildTree.cmake b/cmake/CopyResourcesToBuildTree.cmake index 3bb2503..3512cc4 100644 --- a/cmake/CopyResourcesToBuildTree.cmake +++ b/cmake/CopyResourcesToBuildTree.cmake @@ -9,10 +9,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__copy_resources_to_build_tree) return() diff --git a/cmake/CppcheckTargets.cmake b/cmake/CppcheckTargets.cmake index f753105..8553e08 100644 --- a/cmake/CppcheckTargets.cmake +++ b/cmake/CppcheckTargets.cmake @@ -16,10 +16,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__add_cppcheck) return() diff --git a/cmake/CreateDashboardScripts.cmake b/cmake/CreateDashboardScripts.cmake index 44abb65..9729839 100644 --- a/cmake/CreateDashboardScripts.cmake +++ b/cmake/CreateDashboardScripts.cmake @@ -23,10 +23,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) # Only do any of the prep work if not already in a dashboard script if(NOT IN_DASHBOARD_SCRIPT) @@ -118,7 +118,7 @@ if(NOT IN_DASHBOARD_SCRIPT) if(NOT "1.${CMAKE_VERSION}" VERSION_LESS "1.2.8.0") if(IS_DIRECTORY "${CMAKE_SOURCE_DIRECTORY}/.git") - find_program(DASHBOARDSCRIPT_GIT_EXECUTABLE NAMES git) + find_program(DASHBOARDSCRIPT_GIT_EXECUTABLE NAMES git git.cmd) if(DASHBOARDSCRIPT_GIT_EXECUTABLE) set(UPDATE_TYPE "git") @@ -165,6 +165,12 @@ function(create_dashboard_scripts) endif() set(_msg) + + if(NOT DASHBOARDSCRIPT_BUILD_CONFIGURATION) + set(DASHBOARDSCRIPT_BUILD_CONFIGURATION "RelWithDebInfo") + endif() + set(DASHBOARDSCRIPT_BUILD_CONFIGURATION "${DASHBOARDSCRIPT_BUILD_CONFIGURATION}" CACHE STRING "Build configuration to use for dashboard builds by default") + mark_as_advanced(DASHBOARDSCRIPT_BUILD_CONFIGURATION) foreach(DASHBOARDSCRIPT_DASH_TYPE Nightly Continuous Experimental) # If given a cache template, configure it diff --git a/cmake/CreateImportedTarget.cmake b/cmake/CreateImportedTarget.cmake index 9728ba5..31fb3b7 100644 --- a/cmake/CreateImportedTarget.cmake +++ b/cmake/CreateImportedTarget.cmake @@ -13,10 +13,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__create_imported_target) return() diff --git a/cmake/CreateLaunchers.cmake b/cmake/CreateLaunchers.cmake index 8cbb624..7062650 100644 --- a/cmake/CreateLaunchers.cmake +++ b/cmake/CreateLaunchers.cmake @@ -34,10 +34,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__create_launchers) return() @@ -82,6 +82,15 @@ macro(_launcher_system_settings) set(_pathdelim ":") set(USERFILE_PLATFORM ${CMAKE_SYSTEM_NAME}${BITS}) set(_suffix "sh") + find_package(GDB QUIET) + if(GDB_FOUND) + set(LAUNCHERS_GOT_GDB YES) + if(GDB_HAS_RETURN_CHILD_RESULT) + set(LAUNCHERS_GDB_ARG --return-child-result) + endif() + else() + set(LAUNCHERS_GOT_GDB) + endif() endif() if(WIN32 AND NOT USERFILE_REMOTE_MACHINE) diff --git a/cmake/DashboardScript.cmake.in b/cmake/DashboardScript.cmake.in index 9c51898..da348a8 100644 --- a/cmake/DashboardScript.cmake.in +++ b/cmake/DashboardScript.cmake.in @@ -42,6 +42,11 @@ set(CTEST_UPDATE_TYPE "@UPDATE_TYPE@") set(CTEST_UPDATE_COMMAND "@UPDATE_COMMAND@") set(CTEST_UPDATE_OPTIONS "@UPDATE_OPTIONS@") +if((NOT CTEST_CONFIGURATION_TYPE) OR (NOT CTEST_BUILD_CONFIGURATION)) + set(CTEST_BUILD_CONFIGURATION "@DASHBOARDSCRIPT_BUILD_CONFIGURATION@") + set(CTEST_CONFIGURATION_TYPE "@DASHBOARDSCRIPT_BUILD_CONFIGURATION@") +endif() + # Avoid non-ascii characters in tool output. set(ENV{LC_ALL} C) diff --git a/cmake/DoxygenTargets.cmake b/cmake/DoxygenTargets.cmake index fab68d1..ce98a91 100644 --- a/cmake/DoxygenTargets.cmake +++ b/cmake/DoxygenTargets.cmake @@ -20,10 +20,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__add_doxygen) return() diff --git a/cmake/EnableExtraCompilerWarnings.cmake b/cmake/EnableExtraCompilerWarnings.cmake index c670bd9..f2c4227 100644 --- a/cmake/EnableExtraCompilerWarnings.cmake +++ b/cmake/EnableExtraCompilerWarnings.cmake @@ -10,10 +10,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__enable_extra_compiler_warnings) return() diff --git a/cmake/EnableProfiling.cmake b/cmake/EnableProfiling.cmake index 65ac4b2..e2a340f 100644 --- a/cmake/EnableProfiling.cmake +++ b/cmake/EnableProfiling.cmake @@ -10,10 +10,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__enable_profiling) return() diff --git a/cmake/FileCopyTargets.cmake b/cmake/FileCopyTargets.cmake new file mode 100644 index 0000000..7c11f8a --- /dev/null +++ b/cmake/FileCopyTargets.cmake @@ -0,0 +1,94 @@ +# - 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) + +if(__add_file_copy_target) + return() +endif() +set(__add_file_copy_target YES) + +define_property(TARGET + PROPERTY + FILE_COPY_TARGET + BRIEF_DOCS + "File Copy target" + FULL_DOCS + "Is this a target created by add_file_copy_target?") + +function(add_file_copy_target _target _dest) + if(NOT ARGN) + message(WARNING + "In add_file_copy_target call for target ${_target}, no source files were specified!") + return() + endif() + + set(ALLFILES) + foreach(fn ${ARGN}) + if(IS_ABSOLUTE "${fn}") + set(fullpath "${fn}") + get_filename_component(fn "${fn}" NAME) + else() + get_filename_component(fullpath "${CMAKE_CURRENT_SOURCE_DIR}/${fn}" ABSOLUTE) + endif() + add_custom_command(OUTPUT "${_dest}/${fn}" + COMMAND + ${CMAKE_COMMAND} + ARGS -E make_directory "${_dest}" + COMMAND + ${CMAKE_COMMAND} + ARGS -E copy "${fullpath}" "${_dest}" + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + DEPENDS "${fullpath}" + COMMENT "Copying ${fullpath} to ${_dest}/${fn}") + list(APPEND ALLFILES "${_dest}/${fn}") + endforeach() + + # Custom target depending on all the file copy commands + add_custom_target(${_target} + SOURCES ${ARGN} + DEPENDS ${ALLFILES}) + + set_property(TARGET ${_target} PROPERTY FILE_COPY_TARGET YES) +endfunction() + +function(install_file_copy_target _target) + get_target_property(_isFCT ${_target} FILE_COPY_TARGET) + if(NOT _isFCT) + message(WARNING + "install_file_copy_target called on a target not created with add_file_copy_target!") + return() + endif() + + # Get sources + get_target_property(_srcs ${_target} SOURCES) + + # Remove the "fake" file forcing build + list(REMOVE_AT _srcs 0) + + # Forward the call to install + install(PROGRAMS ${_srcs} ${ARGN}) +endfunction() diff --git a/cmake/FindALUT.cmake b/cmake/FindALUT.cmake index ed5d9ae..48d062d 100644 --- a/cmake/FindALUT.cmake +++ b/cmake/FindALUT.cmake @@ -24,10 +24,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(ALUT_ROOT_DIR "${ALUT_ROOT_DIR}" diff --git a/cmake/FindBluez.cmake b/cmake/FindBluez.cmake index d783453..f4f8e0d 100644 --- a/cmake/FindBluez.cmake +++ b/cmake/FindBluez.cmake @@ -17,10 +17,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(WIN32 OR APPLE OR NOT UNIX) if(NOT Bluez_FIND_QUIETLY) diff --git a/cmake/FindCPPDOM.cmake b/cmake/FindCPPDOM.cmake index b262166..8950620 100644 --- a/cmake/FindCPPDOM.cmake +++ b/cmake/FindCPPDOM.cmake @@ -30,10 +30,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "cppdom") set(_HEADER cppdom/cppdom.h) @@ -90,7 +90,11 @@ if(DEFINED VRJUGGLER22_ROOT_DIR) mark_as_advanced(CPPDOM_ROOT_DIR) endif() if(NOT CPPDOM_ROOT_DIR) - set(CPPDOM_ROOT_DIR "${VRJUGGLER22_ROOT_DIR}") + if(VRJUGGLER22_ROOT_DIR) + set(CPPDOM_ROOT_DIR "${VRJUGGLER22_ROOT_DIR}") + elseif(VRJUGGLER30_ROOT_DIR) + set(CPPDOM_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}") + endif() endif() set(_ROOT_DIR "${CPPDOM_ROOT_DIR}") diff --git a/cmake/FindDCubed.cmake b/cmake/FindDCubed.cmake index d50a483..a362da6 100644 --- a/cmake/FindDCubed.cmake +++ b/cmake/FindDCubed.cmake @@ -17,10 +17,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(NOT BITS) if(CMAKE_SIZEOF_VOID_P MATCHES "8") @@ -73,6 +73,18 @@ set(DCUBED_ROOT_DIR PATH "Root directory to search for DCubed") +# Do this by default +if(NOT DEFINED DCUBED_NESTED_TARGETS) + set(DCUBED_NESTED_TARGETS TRUE) +endif() + +set(DCUBED_NESTED_TARGETS + "${DCUBED_NESTED_TARGETS}" + CACHE + BOOL + "Whether we should compile the wrappers as a part of the solution") +mark_as_advanced(DCUBED_NESTED_TARGETS) + ### # Configure DCubed ### @@ -88,8 +100,10 @@ foreach(lib aem cdmwp d3e_base d3e_cd dcm dcm3 g3) ${lib} PATHS "${DCUBED_ROOT_DIR}/lib/${_verstring}") - list(APPEND DCUBED_LIBRARIES ${DCUBED_${lib}_LIBRARY}) - list(APPEND DCUBED_CORE_LIBRARIES ${DCUBED_${lib}_LIBRARY}) + if(DCUBED_${lib}_LIBRARY) + list(APPEND DCUBED_LIBRARIES ${DCUBED_${lib}_LIBRARY}) + list(APPEND DCUBED_CORE_LIBRARIES ${DCUBED_${lib}_LIBRARY}) + endif() mark_as_advanced(DCUBED_${lib}_LIBRARY) endforeach() @@ -103,18 +117,44 @@ foreach(lib d3ew_p d3ew_scene) ${lib}_${D3BUILD} PATHS "${DCUBED_ROOT_DIR}/wrappers/cdmwp/${lib}") - list(APPEND DCUBED_LIBRARIES ${DCUBED_WRAPPER_${lib}_LIBRARY}) - list(APPEND DCUBED_WRAPPER_LIBRARIES ${DCUBED_WRAPPER_${lib}_LIBRARY}) mark_as_advanced(DCUBED_WRAPPER_${lib}_LIBRARY) endforeach() -list(APPEND DCUBED_LIBRARIES ${DCUBED_WRAPPER_LIBRARIES}) +set(_nest_targets) +if(DCUBED_WRAPPER_INCLUDE_DIR) + foreach(lib d3ew_p d3ew_scene) + if(DCUBED_NESTED_TARGETS OR NOT DCUBED_WRAPPER_${lib}_LIBRARY) + if(PARASOLID_FOUND) + set(_nest_targets YES) + set(DCUBED_WRAPPER_${lib}_LIBRARY + "dcubed_wrapper_${lib}_nested_target" + CACHE + STRING + "We will build the DCubed wrapper ${lib} lib." + FORCE) + else() + set(DCUBED_WRAPPER_${lib}_LIBRARY + "NESTED_TARGET_REQUIRES_PARASOLID-NOTFOUND" + CACHE + STRING + "Can't build the DCubed wrapper ${lib} without first finding Parasolid." + FORCE) + endif() + endif() + endforeach() +endif() + +foreach(lib d3ew_p d3ew_scene) + if(DCUBED_WRAPPER_${lib}_LIBRARY) + list(APPEND DCUBED_WRAPPER_LIBRARIES ${DCUBED_WRAPPER_${lib}_LIBRARY}) + endif() +endforeach() if(NOT DCUBED_ROOT_DIR) get_filename_component(_path "${DCUBED_dcm_LIBRARY}" PATH) get_filename_component(_path "${_path}/../.." ABSOLUTE) set(DCUBED_ROOT_DIR - "${DCUBED_ROOT_DIR}" + "${_path}" CACHE PATH "Root directory to search for DCubed" @@ -137,8 +177,13 @@ find_package_handle_standard_args(DCubed DCUBED_WRAPPER_LIBRARIES) if(DCUBED_FOUND) + if(_nest_targets) + get_filename_component(_moddir "${CMAKE_CURRENT_LIST_FILE}" PATH) + add_subdirectory("${_moddir}/nested_targets/DCubed") + endif() set(DCUBED_INCLUDE_DIRS "${DCUBED_CORE_INCLUDE_DIR}" + "${DCUBED_CORE_INCLUDE_DIR}/if3" "${DCUBED_WRAPPER_INCLUDE_DIR}") mark_as_advanced(DCUBED_ROOT_DIR) endif() diff --git a/cmake/FindFlagpoll.cmake b/cmake/FindFlagpoll.cmake index cd83d16..a016656 100644 --- a/cmake/FindFlagpoll.cmake +++ b/cmake/FindFlagpoll.cmake @@ -33,10 +33,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) ### diff --git a/cmake/FindGDB.cmake b/cmake/FindGDB.cmake new file mode 100644 index 0000000..519ba33 --- /dev/null +++ b/cmake/FindGDB.cmake @@ -0,0 +1,60 @@ +# - 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) + + +set(GDB_ROOT_DIR + "${GDB_ROOT_DIR}" + CACHE + PATH + "Directory to start our search in") + +find_program(GDB_COMMAND + NAMES + gdb + HINTS + "${GDB_ROOT_DIR}" + PATH_SUFFIXES + bin + libexec) + +if(GDB_COMMAND) + execute_process(COMMAND gdb --version + COMMAND head -n 1 + COMMAND sed -r "s/[^0-9]*([0-9]+[0-9.]*).*/\\1/" + OUTPUT_VARIABLE GDB_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GDB DEFAULT_MSG GDB_COMMAND GDB_VERSION) + +if(GDB_FOUND) + mark_as_advanced(GDB_ROOT_DIR) + if(GDB_VERSION VERSION_LESS 6.4) + set(GDB_HAS_RETURN_CHILD_RESULT FALSE) + else() + set(GDB_HAS_RETURN_CHILD_RESULT TRUE) + endif() +endif() + +mark_as_advanced(GDB_COMMAND) diff --git a/cmake/FindGHOST.cmake b/cmake/FindGHOST.cmake index 9e66027..fbfaa52 100644 --- a/cmake/FindGHOST.cmake +++ b/cmake/FindGHOST.cmake @@ -12,10 +12,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(GHOST_ROOT_DIR "${GHOST_ROOT_DIR}" diff --git a/cmake/FindGLUI.cmake b/cmake/FindGLUI.cmake index 95a431e..51797ca 100644 --- a/cmake/FindGLUI.cmake +++ b/cmake/FindGLUI.cmake @@ -18,10 +18,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(GLUI_FIND_QUIETLY) find_package(OpenGL QUIET) diff --git a/cmake/FindGMTL.cmake b/cmake/FindGMTL.cmake index b02ea8f..173d314 100644 --- a/cmake/FindGMTL.cmake +++ b/cmake/FindGMTL.cmake @@ -28,10 +28,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "GMTL") set(_HEADER gmtl/gmtl.h) diff --git a/cmake/FindGPM.cmake b/cmake/FindGPM.cmake index 37a2b61..ea70d85 100644 --- a/cmake/FindGPM.cmake +++ b/cmake/FindGPM.cmake @@ -17,10 +17,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) find_library(GPM_LIBRARY NAMES gpm) diff --git a/cmake/FindGadgeteer12.cmake b/cmake/FindGadgeteer12.cmake index f6becd4..42c33f8 100644 --- a/cmake/FindGadgeteer12.cmake +++ b/cmake/FindGadgeteer12.cmake @@ -34,10 +34,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "Gadgeteer 1.2") set(_RELEASE_NAMES gadget-1_2 libgadget-1_2) diff --git a/cmake/FindGadgeteer20.cmake b/cmake/FindGadgeteer20.cmake new file mode 100644 index 0000000..9f8ed58 --- /dev/null +++ b/cmake/FindGadgeteer20.cmake @@ -0,0 +1,183 @@ +# - 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 + +set(_HUMAN "Gadgeteer 2.0") +set(_RELEASE_NAMES gadget-2_0 libgadget-2_0 gadget-2_0_0) +set(_DEBUG_NAMES gadget_d-2_0 libgadget_d-2_0 gadget_d-2_0_0) +set(_DIR gadgeteer-2.0) +set(_HEADER gadget/gadgetConfig.h) +set(_FP_PKG_NAME gadgeteer) + +include(SelectLibraryConfigurations) +include(CreateImportedTarget) +include(CleanLibraryList) +include(CleanDirectoryList) + +if(GADGETEER20_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +# Try flagpoll. +find_package(Flagpoll QUIET) + +if(FLAGPOLL) + flagpoll_get_include_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_extra_libs(${_FP_PKG_NAME} NO_DEPS) +endif() + +set(GADGETEER20_ROOT_DIR + "${GADGETEER20_ROOT_DIR}" + CACHE + PATH + "Root directory to search for Gadgeteer") +if(DEFINED VRJUGGLER30_ROOT_DIR) + mark_as_advanced(GADGETEER20_ROOT_DIR) +endif() +if(NOT GADGETEER20_ROOT_DIR) + set(GADGETEER20_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}") +endif() + +set(_ROOT_DIR "${GADGETEER20_ROOT_DIR}") + +find_path(GADGETEER20_INCLUDE_DIR + ${_HEADER} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_INCLUDE_DIRS} + PATH_SUFFIXES + ${_DIR} + include/${_DIR} + include/ + DOC + "Path to ${_HUMAN} includes root") + +find_library(GADGETEER20_LIBRARY_RELEASE + NAMES + ${_RELEASE_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBSUFFIXES} + DOC + "${_HUMAN} release library full path") + +find_library(GADGETEER20_LIBRARY_DEBUG + NAMES + ${_DEBUG_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBDSUFFIXES} + DOC + "${_HUMAN} debug library full path") + +select_library_configurations(GADGETEER20) + +# Dependencies +foreach(package JCCL14 VPR22 GMTL) + if(NOT ${PACKAGE}_FOUND) + find_package(${package} ${_FIND_FLAGS}) + endif() +endforeach() + +if(UNIX AND NOT APPLE AND NOT WIN32) + # We need X11 if not on Mac or Windows + if(NOT X11_FOUND) + find_package(X11 ${_FIND_FLAGS}) + endif() + + set(_CHECK_EXTRAS + X11_FOUND + X11_X11_LIB + X11_ICE_LIB + X11_SM_LIB + X11_INCLUDE_DIR) +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GADGETEER20 + DEFAULT_MSG + GADGETEER20_LIBRARY + GADGETEER20_INCLUDE_DIR + JCCL14_FOUND + JCCL14_LIBRARIES + JCCL14_INCLUDE_DIR + VPR22_FOUND + VPR22_LIBRARIES + VPR22_INCLUDE_DIR + GMTL_FOUND + GMTL_INCLUDE_DIR + ${_CHECK_EXTRAS}) + +if(GADGETEER20_FOUND) + set(_DEPS ${JCCL14_LIBRARIES} ${VPR22_LIBRARIES}) + + set(GADGETEER20_INCLUDE_DIRS ${GADGETEER20_INCLUDE_DIR}) + list(APPEND + GADGETEER20_INCLUDE_DIRS + ${JCCL14_INCLUDE_DIRS} + ${VPR22_INCLUDE_DIRS} + ${GMTL_INCLUDE_DIRS}) + + if(UNIX AND NOT APPLE AND NOT WIN32) + # We need X11 if not on Mac or Windows + list(APPEND _DEPS ${X11_X11_LIB} ${X11_ICE_LIB} ${X11_SM_LIB}) + list(APPEND GADGETEER20_INCLUDE_DIRS ${X11_INCLUDE_DIR}) + endif() + + clean_directory_list(GADGETEER20_INCLUDE_DIRS) + + if(VRJUGGLER30_CREATE_IMPORTED_TARGETS) + create_imported_target(GADGETEER20 ${_DEPS}) + else() + clean_library_list(GADGETEER20_LIBRARIES ${_DEPS}) + endif() + + mark_as_advanced(GADGETEER20_ROOT_DIR) +endif() + +mark_as_advanced(GADGETEER20_LIBRARY_RELEASE + GADGETEER20_LIBRARY_DEBUG + GADGETEER20_INCLUDE_DIR) diff --git a/cmake/FindGlove5DT.cmake b/cmake/FindGlove5DT.cmake index 46d79a9..fca626b 100644 --- a/cmake/FindGlove5DT.cmake +++ b/cmake/FindGlove5DT.cmake @@ -27,10 +27,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(GLOVE5DT_ROOT_DIR "${GLOVE5DT_ROOT_DIR}" @@ -86,19 +86,22 @@ find_path(GLOVE5DT_INCLUDE_DIR NAMES fglove.h HINTS - ${_incsearchultra}) + ${_incsearchultra} + ${GLOVE5DT_ROOT_DIR}) find_library(GLOVE5DT_LIBRARY_RELEASE NAMES fglove HINTS - ${_libsearchultra}) + ${_libsearchultra} + ${GLOVE5DT_ROOT_DIR}) find_library(GLOVE5DT_LIBRARY_DEBUG NAMES fgloved HINTS - ${_libsearchultra}) + ${_libsearchultra} + ${GLOVE5DT_ROOT_DIR}) select_library_configurations(GLOVE5DT) diff --git a/cmake/FindHIDAPI.cmake b/cmake/FindHIDAPI.cmake new file mode 100644 index 0000000..e53502a --- /dev/null +++ b/cmake/FindHIDAPI.cmake @@ -0,0 +1,44 @@ +# - 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) + +find_library(HIDAPI_LIBRARY + NAMES hidapi) + +find_path(HIDAPI_INCLUDE_DIR + NAMES hidapi.h) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(HIDAPI + DEFAULT_MSG + HIDAPI_LIBRARY + HIDAPI_INCLUDE_DIR) + +if(HIDAPI_FOUND) + set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARY}") + + set(HIDAPI_INCLUDE_DIRS "${HIDAPI_INCLUDE_DIR}") +endif() + +mark_as_advanced(HIDAPI_INCLUDE_DIR HIDAPI_LIBRARY) diff --git a/cmake/FindJCCL12.cmake b/cmake/FindJCCL12.cmake index d9e0bec..a936c94 100644 --- a/cmake/FindJCCL12.cmake +++ b/cmake/FindJCCL12.cmake @@ -33,10 +33,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "JCCL 1.2") diff --git a/cmake/FindJCCL14.cmake b/cmake/FindJCCL14.cmake new file mode 100644 index 0000000..3d8c93d --- /dev/null +++ b/cmake/FindJCCL14.cmake @@ -0,0 +1,149 @@ +# - 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 + + +set(_HUMAN "JCCL 1.4") +set(_RELEASE_NAMES jccl-1_4 libjccl-1_4 jccl-1_4_0) +set(_DEBUG_NAMES jccl_d-1_4 libjccl_d-1_4 jccl_d-1_4_0) +set(_DIR jccl-1.4) +set(_HEADER jccl/jcclConfig.h) +set(_FP_PKG_NAME jccl) + +include(SelectLibraryConfigurations) +include(CreateImportedTarget) +include(CleanLibraryList) +include(CleanDirectoryList) + +if(JCCL14_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +# Try flagpoll. +find_package(Flagpoll QUIET) + +if(FLAGPOLL) + flagpoll_get_include_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS) +endif() + +set(JCCL14_ROOT_DIR + "${JCCL14_ROOT_DIR}" + CACHE + PATH + "Root directory to search for JCCL") +if(DEFINED VRJUGGLER30_ROOT_DIR) + mark_as_advanced(JCCL14_ROOT_DIR) +endif() +if(NOT JCCL14_ROOT_DIR) + set(JCCL14_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}") +endif() + +set(_ROOT_DIR ${JCCL14_ROOT_DIR}) + +find_path(JCCL14_INCLUDE_DIR + ${_HEADER} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_INCLUDE_DIRS} + PATH_SUFFIXES + ${_DIR} + include/${_DIR} + include/ + DOC + "Path to ${_HUMAN} includes root") + +find_library(JCCL14_LIBRARY_RELEASE + NAMES + ${_RELEASE_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBSUFFIXES} + DOC + "${_HUMAN} release library full path") + +find_library(JCCL14_LIBRARY_DEBUG + NAMES + ${_DEBUG_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBDSUFFIXES} + DOC + "${_HUMAN} debug library full path") + +select_library_configurations(JCCL14) + +# Dependency +if(NOT VPR22_FOUND) + find_package(VPR22 ${_FIND_FLAGS}) +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(JCCL14 + DEFAULT_MSG + JCCL14_LIBRARY + JCCL14_INCLUDE_DIR + VPR22_FOUND + VPR22_LIBRARIES + VPR22_INCLUDE_DIR) + +if(JCCL14_FOUND) + set(_DEPS ${VPR22_LIBRARIES}) + + set(JCCL14_INCLUDE_DIRS ${JCCL14_INCLUDE_DIR}) + list(APPEND JCCL14_INCLUDE_DIRS ${VPR22_INCLUDE_DIRS}) + clean_directory_list(JCCL14_INCLUDE_DIRS) + + if(VRJUGGLER30_CREATE_IMPORTED_TARGETS) + create_imported_target(JCCL14 ${_DEPS}) + else() + clean_library_list(JCCL14_LIBRARIES) + endif() + + mark_as_advanced(JCCL14_ROOT_DIR) +endif() + +mark_as_advanced(JCCL14_LIBRARY_RELEASE + JCCL14_LIBRARY_DEBUG + JCCL14_INCLUDE_DIR) diff --git a/cmake/FindJtTk.cmake b/cmake/FindJtTk.cmake index a1661f8..542e6b5 100644 --- a/cmake/FindJtTk.cmake +++ b/cmake/FindJtTk.cmake @@ -22,10 +22,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(ListCombinations) include(CheckVersion) diff --git a/cmake/FindLAPACKLibs.cmake b/cmake/FindLAPACKLibs.cmake index e8f149e..51d0c41 100644 --- a/cmake/FindLAPACKLibs.cmake +++ b/cmake/FindLAPACKLibs.cmake @@ -11,10 +11,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_check) diff --git a/cmake/FindLibusb1.cmake b/cmake/FindLibusb1.cmake new file mode 100644 index 0000000..a61c478 --- /dev/null +++ b/cmake/FindLibusb1.cmake @@ -0,0 +1,93 @@ +# - 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) + + +set(LIBUSB1_ROOT_DIR + "${LIBUSB1_ROOT_DIR}" + CACHE + PATH + "Root directory to search for libusb-1") + +if(WIN32) + include(ProgramFilesGlob) + program_files_fallback_glob(_dirs "LibUSB-Win32") + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + if(MSVC) + set(_lib_suffixes lib/msvc_x64) + endif() + else() + if(MSVC) + set(_lib_suffixes lib/msvc) + elseif(COMPILER_IS_GNUCXX) + set(_lib_suffixes lib/gcc) + endif() + endif() +else() + set(_lib_suffixes) + find_package(PkgConfig QUIET) + if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_LIBUSB1 libusb-1.0) + endif() +endif() + +find_path(LIBUSB1_INCLUDE_DIR + NAMES + libusb.h + PATHS + ${PC_LIBUSB1_INCLUDE_DIRS} + ${PC_LIBUSB1_INCLUDEDIR} + ${_dirs} + HINTS + "${LIBUSB1_ROOT_DIR}" + PATH_SUFFIXES + include) + +find_library(LIBUSB1_LIBRARY + NAMES + usb-1.0 + PATHS + ${PC_LIBUSB1_LIBRARY_DIRS} + ${PC_LIBUSB1_LIBDIR} + ${_dirs} + PATH_SUFFIXES + ${_lib_suffixes}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Libusb1 + DEFAULT_MSG + LIBUSB1_LIBRARY + LIBUSB1_INCLUDE_DIR) + +if(LIBUSB1_FOUND) + set(LIBUSB1_LIBRARIES + "${LIBUSB1_LIBRARY}") + + set(LIBUSB1_INCLUDE_DIRS + "${LIBUSB1_INCLUDE_DIR}") + + mark_as_advanced(LIBUSB1_ROOT_DIR) +endif() + +mark_as_advanced(LIBUSB1_INCLUDE_DIR LIBUSB1_LIBRARY) diff --git a/cmake/FindLuabind.cmake b/cmake/FindLuabind.cmake index 48585c3..29062d3 100644 --- a/cmake/FindLuabind.cmake +++ b/cmake/FindLuabind.cmake @@ -17,10 +17,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(LUABIND_ROOT_DIR "${LUABIND_ROOT_DIR}" diff --git a/cmake/FindLyX.cmake b/cmake/FindLyX.cmake index a2c7eef..4dae864 100644 --- a/cmake/FindLyX.cmake +++ b/cmake/FindLyX.cmake @@ -31,10 +31,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(LYX_ROOT_DIR diff --git a/cmake/FindMacHID.cmake b/cmake/FindMacHID.cmake index 9b740ad..d96bace 100644 --- a/cmake/FindMacHID.cmake +++ b/cmake/FindMacHID.cmake @@ -22,10 +22,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(APPLE) find_library(MACHID_CoreFoundation_LIBRARY CoreFoundation) diff --git a/cmake/FindOpenHaptics.cmake b/cmake/FindOpenHaptics.cmake index 20c66b5..918ca23 100644 --- a/cmake/FindOpenHaptics.cmake +++ b/cmake/FindOpenHaptics.cmake @@ -44,10 +44,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) cmake_minimum_required(VERSION 2.6.3) diff --git a/cmake/FindParasolid.cmake b/cmake/FindParasolid.cmake index 479459b..17636d7 100644 --- a/cmake/FindParasolid.cmake +++ b/cmake/FindParasolid.cmake @@ -22,10 +22,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(ListCombinations) include(CheckVersion) diff --git a/cmake/FindSonix12.cmake b/cmake/FindSonix12.cmake index d2de3c2..0ab1599 100644 --- a/cmake/FindSonix12.cmake +++ b/cmake/FindSonix12.cmake @@ -33,10 +33,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "Sonix 1.2") diff --git a/cmake/FindSonix14.cmake b/cmake/FindSonix14.cmake new file mode 100644 index 0000000..cf86eb3 --- /dev/null +++ b/cmake/FindSonix14.cmake @@ -0,0 +1,159 @@ +# - 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 + + +set(_HUMAN "Sonix 1.4") +set(_RELEASE_NAMES sonix-1_4 libsonix-1_4 sonix-1_4_0) +set(_DEBUG_NAMES sonix_d-1_4 libsonix_d-1_4 sonix_d-1_4_0) +set(_DIR sonix-1.4) +set(_HEADER snx/sonix.h) +set(_FP_PKG_NAME sonix) + +include(SelectLibraryConfigurations) +include(CreateImportedTarget) +include(CleanLibraryList) +include(CleanDirectoryList) + +if(SONIX14_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +# Try flagpoll. +find_package(Flagpoll QUIET) + +if(FLAGPOLL) + flagpoll_get_include_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS) +endif() + +set(SONIX14_ROOT_DIR + "${SONIX14_ROOT_DIR}" + CACHE + PATH + "Root directory to search for Sonix") +if(DEFINED VRJUGGLER30_ROOT_DIR) + mark_as_advanced(SONIX14_ROOT_DIR) +endif() +if(NOT SONIX14_ROOT_DIR) + set(SONIX14_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}") +endif() + +set(_ROOT_DIR "${SONIX14_ROOT_DIR}") + +find_path(SONIX14_INCLUDE_DIR + ${_HEADER} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_INCLUDE_DIRS} + PATH_SUFFIXES + ${_DIR} + include/${_DIR} + include/ + DOC + "Path to ${_HUMAN} includes root") + +find_library(SONIX14_LIBRARY_RELEASE + NAMES + ${_RELEASE_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBSUFFIXES} + DOC + "${_HUMAN} release library full path") + +find_library(SONIX14_LIBRARY_DEBUG + NAMES + ${_DEBUG_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBDSUFFIXES} + DOC + "${_HUMAN} debug library full path") + +select_library_configurations(SONIX14) + +# Dependencies +if(NOT VPR22_FOUND) + find_package(VPR22 ${_FIND_FLAGS}) +endif() + +if(NOT GMTL_FOUND) + find_package(GMTL ${_FIND_FLAGS}) +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(SONIX14 + DEFAULT_MSG + SONIX14_LIBRARY + SONIX14_INCLUDE_DIR + VPR22_FOUND + VPR22_LIBRARIES + VPR22_INCLUDE_DIR + GMTL_FOUND + GMTL_INCLUDE_DIR) + +if(SONIX14_FOUND) + set(_DEPS ${VPR22_LIBRARIES}) + + set(SONIX14_INCLUDE_DIRS ${SONIX14_INCLUDE_DIR}) + list(APPEND + SONIX14_INCLUDE_DIRS + ${VPR22_INCLUDE_DIRS} + ${GMTL_INCLUDE_DIRS}) + + clean_directory_list(SONIX14_INCLUDE_DIRS) + + if(VRJUGGLER30_CREATE_IMPORTED_TARGETS) + create_imported_target(SONIX14 ${_DEPS}) + else() + clean_library_list(SONIX14_LIBRARIES ${_DEPS}) + endif() + + mark_as_advanced(SONIX14_ROOT_DIR) +endif() + +mark_as_advanced(SONIX14_LIBRARY_RELEASE + SONIX14_LIBRARY_DEBUG + SONIX14_INCLUDE_DIR) diff --git a/cmake/FindTR1.cmake b/cmake/FindTR1.cmake index 0a4f4ee..133ec78 100644 --- a/cmake/FindTR1.cmake +++ b/cmake/FindTR1.cmake @@ -15,10 +15,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) # If we were sought quietly, any dependencies should be quiet as well if(TR1_FIND_QUIETLY) diff --git a/cmake/FindTooN.cmake b/cmake/FindTooN.cmake index 3bc1a40..1dda1de 100644 --- a/cmake/FindTooN.cmake +++ b/cmake/FindTooN.cmake @@ -19,10 +19,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(TOON_ROOT_DIR "${TOON_ROOT_DIR}" diff --git a/cmake/FindTooNtag.cmake b/cmake/FindTooNtag.cmake index 923df9d..76e7906 100644 --- a/cmake/FindTooNtag.cmake +++ b/cmake/FindTooNtag.cmake @@ -20,10 +20,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(TOONTAG_ROOT_DIR "${TOONTAG_ROOT_DIR}" diff --git a/cmake/FindTweek12.cmake b/cmake/FindTweek12.cmake index 2f0a6bf..47b9a5e 100644 --- a/cmake/FindTweek12.cmake +++ b/cmake/FindTweek12.cmake @@ -33,10 +33,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "Tweek 1.2") diff --git a/cmake/FindTweek14.cmake b/cmake/FindTweek14.cmake new file mode 100644 index 0000000..ea0f3c9 --- /dev/null +++ b/cmake/FindTweek14.cmake @@ -0,0 +1,150 @@ +# - 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 + + +set(_HUMAN "Tweek 1.4") +set(_RELEASE_NAMES tweek-1_4 libtweek-1_4 tweek-1_4_0) +set(_DEBUG_NAMES tweek_d-1_4 libtweek_d-1_4 tweek_d-1_4_0) +set(_DIR tweek-1.4) +set(_HEADER tweek/tweek.h) +set(_FP_PKG_NAME tweek) + +include(SelectLibraryConfigurations) +include(CreateImportedTarget) +include(CleanLibraryList) +include(CleanDirectoryList) + +if(TWEEK14_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +# Try flagpoll. +find_package(Flagpoll QUIET) + +if(FLAGPOLL) + flagpoll_get_include_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS) +endif() + +set(TWEEK14_ROOT_DIR + "${TWEEK14_ROOT_DIR}" + CACHE + PATH + "Root directory to search for Tweek") +if(DEFINED VRJUGGLER30_ROOT_DIR) + mark_as_advanced(TWEEK14_ROOT_DIR) +endif() +if(NOT TWEEK14_ROOT_DIR) + set(TWEEK14_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}") +endif() + +set(_ROOT_DIR "${TWEEK14_ROOT_DIR}") + +find_path(TWEEK14_INCLUDE_DIR + ${_HEADER} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_INCLUDE_DIRS} + PATH_SUFFIXES + ${_DIR} + include/${_DIR} + include/ + DOC + "Path to ${_HUMAN} includes root") + +find_library(TWEEK14_LIBRARY_RELEASE + NAMES + ${_RELEASE_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBSUFFIXES} + DOC + "${_HUMAN} release library full path") + +find_library(TWEEK14_LIBRARY_DEBUG + NAMES + ${_DEBUG_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBDSUFFIXES} + DOC + "${_HUMAN} debug library full path") + +select_library_configurations(TWEEK14) + +# Dependency +if(NOT VPR22_FOUND) + find_package(VPR22 ${_FIND_FLAGS}) +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(TWEEK14 + DEFAULT_MSG + TWEEK14_LIBRARY + TWEEK14_INCLUDE_DIR + VPR22_FOUND + VPR22_LIBRARIES + VPR22_INCLUDE_DIR) + +if(TWEEK14_FOUND) + set(_DEPS ${VPR22_LIBRARIES}) + + set(TWEEK14_INCLUDE_DIRS ${TWEEK14_INCLUDE_DIR}) + list(APPEND TWEEK14_INCLUDE_DIRS ${VPR22_INCLUDE_DIRS}) + + clean_directory_list(TWEEK14_INCLUDE_DIRS) + + if(VRJUGGLER30_CREATE_IMPORTED_TARGETS) + create_imported_target(TWEEK14 ${_DEPS}) + else() + clean_library_list(TWEEK14_LIBRARIES ${_DEPS}) + endif() + + mark_as_advanced(TWEEK14_ROOT_DIR) +endif() + +mark_as_advanced(TWEEK14_LIBRARY_RELEASE + TWEEK14_LIBRARY_DEBUG + TWEEK14_INCLUDE_DIR) diff --git a/cmake/FindVPR20.cmake b/cmake/FindVPR20.cmake index fc42ba6..03eb12d 100644 --- a/cmake/FindVPR20.cmake +++ b/cmake/FindVPR20.cmake @@ -37,10 +37,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "VPR 2.0") set(_RELEASE_NAMES vpr-2_0 libvpr-2_0) diff --git a/cmake/FindVPR22.cmake b/cmake/FindVPR22.cmake new file mode 100644 index 0000000..b34bd99 --- /dev/null +++ b/cmake/FindVPR22.cmake @@ -0,0 +1,227 @@ +# - 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 + +set(_HUMAN "VPR 2.2") +set(_RELEASE_NAMES vpr-2_2 libvpr-2_2 vpr-2_2_0) +set(_DEBUG_NAMES vpr_d-2_2 libvpr_d-2_2 vpr_d-2_2_0) +set(_DIR vpr-2.2) +set(_HEADER vpr/vpr.h) +set(_FP_PKG_NAME vpr) + +include(SelectLibraryConfigurations) +include(CreateImportedTarget) +include(CleanLibraryList) +include(CleanDirectoryList) + +if(VPR22_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +# Try flagpoll. +find_package(Flagpoll QUIET) + +if(FLAGPOLL) + flagpoll_get_include_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_extra_libs(${_FP_PKG_NAME} NO_DEPS) +endif() + +set(VPR22_ROOT_DIR + "${VPR22_ROOT_DIR}" + CACHE + PATH + "Root directory to search for VPR") +if(DEFINED VRJUGGLER30_ROOT_DIR) + mark_as_advanced(VPR22_ROOT_DIR) +endif() +if(NOT VPR22_ROOT_DIR) + set(VPR22_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}") +endif() + +set(_ROOT_DIR "${VPR22_ROOT_DIR}") + +find_path(VPR22_INCLUDE_DIR + ${_HEADER} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_INCLUDE_DIRS} + PATH_SUFFIXES + ${_DIR} + include/${_DIR} + include/ + DOC + "Path to ${_HUMAN} includes root") + +find_library(VPR22_LIBRARY_RELEASE + NAMES + ${_RELEASE_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBSUFFIXES} + DOC + "${_HUMAN} release library full path") + +find_library(VPR22_LIBRARY_DEBUG + NAMES + ${_DEBUG_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBDSUFFIXES} + DOC + "${_HUMAN} debug library full path") + +select_library_configurations(VPR22) + +# Dependencies +set(_deps_libs) +set(_deps_includes) +set(_deps_check) +if(COMMAND cmake_policy) + cmake_policy(SET CMP0011 NEW) + cmake_policy(SET CMP0012 NEW) +endif() +if((NOT Boost_FOUND) + OR (NOT Boost_FILESYSTEM_FOUND) + OR (NOT Boost_SIGNALS_FOUND) + OR (NOT Boost_SYSTEM_FOUND) + OR (NOT Boost_PROGRAM_OPTIONS_FOUND) + OR (NOT Boost_DATE_TIME_FOUND) + OR (NOT Boost_REGEX_FOUND)) + if(VPR22_LIBRARY_RELEASE) + # Find Boost in the same place as VPR + get_filename_component(VPR22_LIBRARY_DIR + ${VPR22_LIBRARY_RELEASE} + PATH) + set(BOOST_ROOT ${VPR22_LIBRARY_DIR}/../) + + find_package(Boost + 1.40.0 + ${_FIND_FLAGS} + COMPONENTS + filesystem + system + signals + program_options + date_time + regex) + + mark_as_advanced(Boost_LIB_DIAGNOSTIC_DEFINITIONS) + + endif() + +endif() + +list(APPEND + _deps_libs + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_SYSTEM_LIBRARY} + ${Boost_SIGNALS_LIBRARY} + ${Boost_PROGRAM_OPTIONS_LIBRARY} + ${Boost_DATE_TIME_LIBRARY} + ${Boost_REGEX_LIBRARY}) +list(APPEND _deps_includes ${Boost_INCLUDE_DIRS}) +list(APPEND + _deps_check + Boost_FILESYSTEM_LIBRARY + Boost_SYSTEM_LIBRARY + Boost_SIGNALS_LIBRARY + Boost_PROGRAM_OPTIONS_LIBRARY + Boost_DATE_TIME_LIBRARY + Boost_REGEX_LIBRARY + Boost_INCLUDE_DIRS) + +if(NOT CPPDOM_FOUND) + find_package(CPPDOM ${_FIND_FLAGS}) +endif() + +list(APPEND _deps_libs ${CPPDOM_LIBRARIES}) +list(APPEND _deps_includes ${CPPDOM_INCLUDE_DIRS}) +list(APPEND _deps_check CPPDOM_LIBRARIES CPPDOM_INCLUDE_DIRS) + +if(UNIX AND NOT WIN32) + if(NOT THREADS_FOUND) + find_package(Threads ${_FIND_FLAGS}) + endif() + + list(APPEND _deps_check THREADS_FOUND) + list(APPEND _deps_libs ${CMAKE_THREAD_LIBS_INIT}) + + if(NOT APPLE) + find_library(VPR22_libuuid_LIBRARY NAMES uuid) + mark_as_advanced(VPR22_libuuid_LIBRARY) + list(APPEND _deps_check VPR22_libuuid_LIBRARY) + list(APPEND _deps_libs ${VPR22_libuuid_LIBRARY}) + endif() +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(VPR22 + DEFAULT_MSG + VPR22_LIBRARY + VPR22_INCLUDE_DIR + ${_deps_check}) + +if(VPR22_FOUND) + + set(VPR22_INCLUDE_DIRS ${VPR22_INCLUDE_DIR} ${_deps_includes}) + + clean_directory_list(VPR22_INCLUDE_DIRS) + + if(VRJUGGLER30_CREATE_IMPORTED_TARGETS) + create_imported_target(VPR22 ${_deps_libs}) + else() + clean_library_list(VPR22_LIBRARIES ${VPR22_LIBRARY} ${_deps_libs}) + endif() + + mark_as_advanced(VPR22_ROOT_DIR) +endif() + +mark_as_advanced(VPR22_LIBRARY_RELEASE + VPR22_LIBRARY_DEBUG + VPR22_INCLUDE_DIR) diff --git a/cmake/FindVPS.cmake b/cmake/FindVPS.cmake index bf6ce91..c2b52c0 100644 --- a/cmake/FindVPS.cmake +++ b/cmake/FindVPS.cmake @@ -17,10 +17,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(SelectLibraryConfigurations) include(ListCombinations) diff --git a/cmake/FindVRJ22.cmake b/cmake/FindVRJ22.cmake index fa90c88..7a291f0 100644 --- a/cmake/FindVRJ22.cmake +++ b/cmake/FindVRJ22.cmake @@ -36,10 +36,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "VR Juggler 2.2 Core") diff --git a/cmake/FindVRJ30.cmake b/cmake/FindVRJ30.cmake new file mode 100644 index 0000000..91c260e --- /dev/null +++ b/cmake/FindVRJ30.cmake @@ -0,0 +1,212 @@ +# - 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) + + +set(_HUMAN "VR Juggler 3.0 Core") +set(_RELEASE_NAMES vrj-3_0 libvrj-3_0 vrj-3_0_0) +set(_DEBUG_NAMES vrj_d-3_0 libvrj_d-3_0 vrj_d-3_0_0) +set(_DIR vrjuggler-3.0) +set(_HEADER vrj/Kernel/Kernel.h) +set(_FP_PKG_NAME vrjuggler) + +include(SelectLibraryConfigurations) +include(CreateImportedTarget) +include(CleanLibraryList) +include(CleanDirectoryList) + +if(VRJ30_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +# Try flagpoll. +find_package(Flagpoll QUIET) + +if(FLAGPOLL) + flagpoll_get_include_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_extra_libs(${_FP_PKG_NAME} NO_DEPS) +endif() + +set(VRJ30_ROOT_DIR + "${VRJ30_ROOT_DIR}" + CACHE + PATH + "Root directory to search for VRJ") +if(DEFINED VRJUGGLER30_ROOT_DIR) + mark_as_advanced(VRJ30_ROOT_DIR) +endif() +if(NOT VRJ30_ROOT_DIR) + set(VRJ30_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}") +endif() + +set(_ROOT_DIR "${VRJ30_ROOT_DIR}") + +find_path(VRJ30_INCLUDE_DIR + ${_HEADER} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_INCLUDE_DIRS} + PATH_SUFFIXES + ${_DIR} + include/${_DIR} + include/ + DOC + "Path to ${_HUMAN} includes root") + +find_library(VRJ30_LIBRARY_RELEASE + NAMES + ${_RELEASE_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBSUFFIXES} + DOC + "${_HUMAN} release library full path") + +find_library(VRJ30_LIBRARY_DEBUG + NAMES + ${_DEBUG_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBDSUFFIXES} + DOC + "${_HUMAN} debug library full path") + +select_library_configurations(VRJ30) + +# Dependencies +if(NOT JCCL14_FOUND) + find_package(JCCL14 ${_FIND_FLAGS}) +endif() + +if(NOT GADGETEER20_FOUND) + find_package(Gadgeteer20 ${_FIND_FLAGS}) +endif() + +if(NOT VPR22_FOUND) + find_package(VPR22 ${_FIND_FLAGS}) +endif() + +if(NOT SONIX14_FOUND) + find_package(Sonix14 ${_FIND_FLAGS}) +endif() + +if(UNIX AND NOT APPLE AND NOT WIN32) + if(NOT X11_FOUND) + find_package(X11 ${_FIND_FLAGS}) + endif() + set(_CHECK_EXTRAS + X11_FOUND + X11_X11_LIB + X11_ICE_LIB + X11_SM_LIB + X11_INCLUDE_DIR) +endif() +if(UNIX AND NOT WIN32) + find_library(VRJ30_libm_LIBRARY m) + mark_as_advanced(VRJ30_libm_LIBRARY) + list(APPEND _CHECK_EXTRAS VRJ30_libm_LIBRARY) +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(VRJ30 + DEFAULT_MSG + VRJ30_LIBRARY + VRJ30_INCLUDE_DIR + JCCL14_FOUND + JCCL14_LIBRARIES + JCCL14_INCLUDE_DIR + GADGETEER20_FOUND + GADGETEER20_LIBRARIES + GADGETEER20_INCLUDE_DIR + VPR22_FOUND + VPR22_LIBRARIES + VPR22_INCLUDE_DIR + SONIX14_FOUND + SONIX14_LIBRARIES + SONIX14_INCLUDE_DIR + ${_CHECK_EXTRAS}) + +if(VRJ30_FOUND) + set(_DEPS + ${JCCL14_LIBRARIES} + ${GADGETEER20_LIBRARIES} + ${VPR22_LIBRARIES} + ${SONIX14_LIBRARIES}) + if(UNIX AND NOT APPLE AND NOT WIN32) + list(APPEND _DEPS ${X11_X11_LIB} ${X11_ICE_LIB} ${X11_SM_LIB}) + endif() + if(UNIX AND NOT WIN32) + list(APPEND _DEPS ${VRJ30_libm_LIBRARY}) + endif() + + set(VRJ30_INCLUDE_DIRS ${VRJ30_INCLUDE_DIR}) + list(APPEND + VRJ30_INCLUDE_DIRS + ${JCCL14_INCLUDE_DIRS} + ${GADGETEER20_INCLUDE_DIRS} + ${VPR22_INCLUDE_DIRS} + ${SONIX14_INCLUDE_DIRS}) + clean_directory_list(VRJ30_INCLUDE_DIRS) + + if(VRJUGGLER30_CREATE_IMPORTED_TARGETS) + create_imported_target(VRJ30 ${_DEPS}) + else() + clean_library_list(VRJ30_LIBRARIES ${_DEPS}) + endif() + + mark_as_advanced(VRJ30_ROOT_DIR) +endif() + +mark_as_advanced(VRJ30_LIBRARY_RELEASE + VRJ30_LIBRARY_DEBUG + VRJ30_INCLUDE_DIR) diff --git a/cmake/FindVRJOGL22.cmake b/cmake/FindVRJOGL22.cmake index 7e7c8a9..7f0aafd 100644 --- a/cmake/FindVRJOGL22.cmake +++ b/cmake/FindVRJOGL22.cmake @@ -34,10 +34,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(_HUMAN "VR Juggler 2.2 OpenGL Core") diff --git a/cmake/FindVRJOGL30.cmake b/cmake/FindVRJOGL30.cmake new file mode 100644 index 0000000..d89e93f --- /dev/null +++ b/cmake/FindVRJOGL30.cmake @@ -0,0 +1,158 @@ +# - 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 + + +set(_HUMAN "VR Juggler 3.0 OpenGL Core") +set(_RELEASE_NAMES vrj_ogl-3_0 libvrj_ogl-3_0 vrj_ogl-3_0_0) +set(_DEBUG_NAMES vrj_ogl_d-3_0 libvrj_ogl_d-3_0 vrj_ogl_d-3_0_0) +set(_DIR vrjuggler-3.0) +set(_FP_PKG_NAME vrjuggler-opengl) + +include(SelectLibraryConfigurations) +include(CreateImportedTarget) +include(CleanLibraryList) +include(CleanDirectoryList) + +if(VRJOGL30_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +# Try flagpoll. +find_package(Flagpoll QUIET) + +if(FLAGPOLL) + flagpoll_get_library_dirs(${_FP_PKG_NAME} NO_DEPS) + flagpoll_get_library_names(${_FP_PKG_NAME} NO_DEPS) +endif() + +set(VRJOGL30_ROOT_DIR + "${VRJOGL30_ROOT_DIR}" + CACHE + PATH + "Root directory to search for VRJOGL") +if(DEFINED VRJUGGLER30_ROOT_DIR) + mark_as_advanced(VRJOGL30_ROOT_DIR) +endif() +if(NOT VRJOGL30_ROOT_DIR) + set(VRJOGL30_ROOT_DIR "${VRJUGGLER30_ROOT_DIR}") +endif() + +set(_ROOT_DIR "${VRJOGL30_ROOT_DIR}") + +find_library(VRJOGL30_LIBRARY_RELEASE + NAMES + ${_RELEASE_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBSUFFIXES} + DOC + "${_HUMAN} release library full path") + +find_library(VRJOGL30_LIBRARY_DEBUG + NAMES + ${_DEBUG_NAMES} + HINTS + "${_ROOT_DIR}" + ${${_FP_PKG_NAME}_FLAGPOLL_LIBRARY_DIRS} + PATH_SUFFIXES + ${_VRJ_LIBDSUFFIXES} + DOC + "${_HUMAN} debug library full path") + +select_library_configurations(VRJOGL30) + +# Dependency +if(NOT VRJ30_FOUND) + find_package(VRJ30 ${_FIND_FLAGS}) +endif() + +if(NOT OPENGL_FOUND) + find_package(OpenGL ${_FIND_FLAGS}) +endif() + +if(APPLE) + set(VRJOGL30_AppKit_LIBRARY + "-framework AppKit" + CACHE + STRING + "AppKit framework for OSX") + set(VRJOGL30_Cocoa_LIBRARY + "-framework Cocoa" + CACHE + STRING + "Cocoa framework for OSX") + mark_as_advanced(VRJOGL30_AppKit_LIBRARY VRJOGL30_Cocoa_LIBRARY) +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(VRJOGL30 + DEFAULT_MSG + VRJOGL30_LIBRARY + VRJ30_FOUND + VRJ30_LIBRARIES + VRJ30_INCLUDE_DIRS + OPENGL_FOUND + OPENGL_LIBRARIES) + +if(VRJOGL30_FOUND) + set(_DEPS ${VRJ30_LIBRARIES} ${OPENGL_LIBRARIES}) + if(APPLE) + list(APPEND + _DEPS + ${VRJOGL30_AppKit_LIBRARY} + ${VRJOGL30_Cocoa_LIBRARY}) + endif() + + set(VRJOGL30_INCLUDE_DIRS ${VRJ30_INCLUDE_DIRS} ${OPENGL_INCLUDE_DIRS}) + + if(VRJUGGLER30_CREATE_IMPORTED_TARGETS) + create_imported_target(VRJOGL30 ${_DEPS}) + else() + clean_library_list(VRJOGL30_LIBRARIES ${_DEPS}) + endif() + + mark_as_advanced(VRJOGL30_ROOT_DIR) +endif() + +mark_as_advanced(VRJOGL30_LIBRARY_RELEASE VRJOGL30_LIBRARY_DEBUG) diff --git a/cmake/FindVRJuggler.cmake b/cmake/FindVRJuggler.cmake new file mode 100644 index 0000000..c6a66ad --- /dev/null +++ b/cmake/FindVRJuggler.cmake @@ -0,0 +1,195 @@ +# - 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) + +include(CleanLibraryList) +include(CleanDirectoryList) +include(FindPackageMessage) + +if(NOT VRJUGGLER_ROOT_DIR) + file(TO_CMAKE_PATH "$ENV{VJ_BASE_DIR}" VRJUGGLER_ROOT_DIR) +endif() + +set(VRJUGGLER_ROOT_DIR + "${VRJUGGLER_ROOT_DIR}" + CACHE + PATH + "Additional root directory to search for VR Juggler and its dependencies.") +if(NOT VRJUGGLER_ROOT_DIR) + file(TO_CMAKE_PATH "$ENV{VJ_BASE_DIR}" VRJUGGLER30_ROOT_DIR) +endif() + +# Default required components +if(NOT VRJuggler_FIND_COMPONENTS) + set(VRJuggler_FIND_COMPONENTS vrjogl) +endif() + +if(VRJuggler30_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +set(VRJUGGLER_FIND_22 TRUE) +set(VRJUGGLER_FIND_30 TRUE) +if(VRJuggler_FIND_VERSION) + if(VRJuggler_FIND_VERSION_EXACT) + if(VRJuggler_FIND_VERSION MATCHES "2.2" OR VRJuggler_FIND_VERSION MATCHES "22") + set(VRJUGGLER_FIND_30 FALSE) + elseif(VRJuggler_FIND_VERSION MATCHES "3.0" OR VRJuggler_FIND_VERSION MATCHES "30") + set(VRJUGGLER_FIND_22 FALSE) + endif() + else() + if(VRJuggler_FIND_VERSION MATCHES "3.0" OR VRJuggler_FIND_VERSION MATCHES "30") + set(VRJUGGLER_FIND_22 FALSE) + endif() + endif() +endif() + +if(VRJUGGLER_FIND_30) + if(NOT VRJUGGLER30_ROOT_DIR) + set(VRJUGGLER30_ROOT_DIR ${VRJUGGLER_ROOT_DIR}) + endif() + find_package(VRJuggler30 COMPONENTS ${VRJuggler_FIND_COMPONENTS}) + if(VRJUGGLER30_FOUND) + set(VRJUGGLER_FOUND TRUE) + + set(VRJUGGLER_LIBRARIES ${VRJUGGLER30_LIBRARIES}) + set(VRJUGGLER_INCLUDE_DIRS ${VRJUGGLER30_INCLUDE_DIRS}) + set(VRJUGGLER_LIBRARY_DIRS ${VRJUGGLER30_LIBRARY_DIRS}) + + set(VRJUGGLER_ENVIRONMENT ${VRJUGGLER30_ENVIRONMENT}) + set(VRJUGGLER_RUNTIME_LIBRARY_DIRS ${VRJUGGLER30_RUNTIME_LIBRARY_DIRS}) + + set(VRJUGGLER_CXX_FLAGS ${VRJUGGLER30_CXX_FLAGS}) + set(VRJUGGLER_DEFINITIONS ${VRJUGGLER30_DEFINITIONS}) + set(VRJUGGLER_BUNDLE_PLUGINS ${VRJUGGLER30_BUNDLE_PLUGINS}) + set(VRJUGGLER_VJ_BASE_DIR ${VRJUGGLER30_VJ_BASE_DIR}) + set(VRJUGGLER_VERSION 3.0) + + macro(install_vrjuggler_data_files prefix) + install_vrjuggler30_data_files("${prefix}" ${ARGN}) + endmacro() + + macro(install_vrjuggler_plugins prefix varForFilenames) + install_vrjuggler30_plugins("${prefix}" ${varForFilenames} ${ARGN}) + endmacro() + endif() +endif() + +if(VRJUGGLER_FIND_22 AND (NOT VRJUGGLER_FOUND)) + + if(NOT VRJUGGLER22_ROOT_DIR) + set(VRJUGGLER22_ROOT_DIR ${VRJUGGLER_ROOT_DIR}) + endif() + find_package(VRJuggler22 COMPONENTS ${VRJuggler_FIND_COMPONENTS}) + if(VRJUGGLER22_FOUND) + set(VRJUGGLER_FOUND TRUE) + + set(VRJUGGLER_LIBRARIES ${VRJUGGLER22_LIBRARIES}) + set(VRJUGGLER_INCLUDE_DIRS ${VRJUGGLER22_INCLUDE_DIRS}) + set(VRJUGGLER_LIBRARY_DIRS ${VRJUGGLER22_LIBRARY_DIRS}) + + set(VRJUGGLER_ENVIRONMENT ${VRJUGGLER22_ENVIRONMENT}) + set(VRJUGGLER_RUNTIME_LIBRARY_DIRS ${VRJUGGLER22_RUNTIME_LIBRARY_DIRS}) + + set(VRJUGGLER_CXX_FLAGS ${VRJUGGLER22_CXX_FLAGS}) + set(VRJUGGLER_DEFINITIONS ${VRJUGGLER22_DEFINITIONS}) + set(VRJUGGLER_BUNDLE_PLUGINS ${VRJUGGLER22_BUNDLE_PLUGINS}) + set(VRJUGGLER_VJ_BASE_DIR ${VRJUGGLER22_VJ_BASE_DIR}) + set(VRJUGGLER_VERSION 2.2) + + macro(install_vrjuggler_data_files prefix) + install_vrjuggler22_data_files("${prefix}" ${ARGN}) + endmacro() + + macro(install_vrjuggler_plugins prefix varForFilenames) + install_vrjuggler22_plugins("${prefix}" ${varForFilenames} ${ARGN}) + endmacro() + endif() +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(VRJuggler + DEFAULT_MSG VRJUGGLER_VERSION VRJUGGLER_LIBRARIES VRJUGGLER_FOUND) + +if(VRJUGGLER_FOUND) + mark_as_advanced(VRJUGGLER_ROOT_DIR) + + # Set generic component variables, like VPR_LIBRARIES + if(VRJUGGLER_VERSION VERSION_EQUAL 2.2) + set(_components VRJ22 VRJOGL22 VPR20 TWEEK12 SONIX12 JCCL12) + else() + set(_components VRJ30 VRJOGL30 VPR22 TWEEK14 SONIX14 JCCL14) + endif() + + foreach(comp ${_components}) + string(LENGTH "${comp}" len) + math(EXPR complen "${len} - 2") + string(SUBSTRING "${comp}" 0 ${complen} compshort) + set(${compshort}_LIBRARIES ${${comp}_LIBRARIES}) + set(${compshort}_INCLUDE_DIRS ${${comp}_INCLUDE_DIRS}) + set(${compshort}_LIBRARY_DIRS ${${comp}_LIBRARY_DIRS}) + set(${compshort}_CXX_FLAGS ${${comp}_CXX_FLAGS}) + endforeach() +endif() diff --git a/cmake/FindVRJuggler22.cmake b/cmake/FindVRJuggler22.cmake index e54f7e7..2c55cc1 100644 --- a/cmake/FindVRJuggler22.cmake +++ b/cmake/FindVRJuggler22.cmake @@ -57,10 +57,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(CleanLibraryList) include(CleanDirectoryList) @@ -309,9 +309,6 @@ if(VRJUGGLER22_FOUND) set(VRJUGGLER22_CXX_FLAGS "${VRJUGGLER22_CXX_FLAGS} ${CPPDOM_CXX_FLAGS}") - list(APPEND VRJUGGLER22_DEFINITIONS - "-DJUGGLER_DEBUG") - set(_VRJUGGLER22_SEARCH_COMPONENTS "${VRJUGGLER22_REQUESTED_COMPONENTS}" CACHE diff --git a/cmake/FindVRJuggler30.cmake b/cmake/FindVRJuggler30.cmake new file mode 100644 index 0000000..43d348f --- /dev/null +++ b/cmake/FindVRJuggler30.cmake @@ -0,0 +1,502 @@ +# - 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) + +include(CleanLibraryList) +include(CleanDirectoryList) +include(FindPackageMessage) + +set(VRJUGGLER30_ROOT_DIR + "${VRJUGGLER30_ROOT_DIR}" + CACHE + PATH + "Additional root directory to search for VR Juggler and its dependencies.") +if(NOT VRJUGGLER30_ROOT_DIR) + file(TO_CMAKE_PATH "$ENV{VJ_BASE_DIR}" VRJUGGLER30_ROOT_DIR) +endif() + +# Default required components +if(NOT VRJuggler30_FIND_COMPONENTS) + set(VRJuggler30_FIND_COMPONENTS vrjogl30) +endif() + +if(VRJuggler30_FIND_QUIETLY) + set(_FIND_FLAGS "QUIET") +else() + set(_FIND_FLAGS "") +endif() + +set(VRJUGGLER30_SUBMODULES + VRJ30 + VRJOGL30 + Gadgeteer20 + JCCL14 + VPR22 + Sonix14 + Tweek14) +string(TOUPPER "${VRJUGGLER30_SUBMODULES}" VRJUGGLER30_SUBMODULES_UC) +string(TOUPPER + "${VRJuggler30_FIND_COMPONENTS}" + VRJUGGLER30_FIND_COMPONENTS_UC) + +# Turn a potentially messy components list into a nice one with versions. +set(VRJUGGLER30_REQUESTED_COMPONENTS) +foreach(VRJUGGLER30_LONG_NAME ${VRJUGGLER30_SUBMODULES_UC}) + # Look at requested components + foreach(VRJUGGLER30_REQUEST ${VRJUGGLER30_FIND_COMPONENTS_UC}) + string(REGEX + MATCH + "${VRJUGGLER30_REQUEST}" + VRJUGGLER30_MATCHING + "${VRJUGGLER30_LONG_NAME}") + if(VRJUGGLER30_MATCHING) + list(APPEND + VRJUGGLER30_REQUESTED_COMPONENTS + ${VRJUGGLER30_LONG_NAME}) + list(APPEND + VRJUGGLER30_COMPONENTS_FOUND + ${VRJUGGLER30_LONG_NAME}_FOUND) + endif() + endforeach() +endforeach() + +if(VRJUGGLER30_REQUESTED_COMPONENTS) + list(REMOVE_DUPLICATES VRJUGGLER30_REQUESTED_COMPONENTS) +endif() + +if(VRJUGGLER30_COMPONENTS_FOUND) + list(REMOVE_DUPLICATES VRJUGGLER30_COMPONENTS_FOUND) +endif() + +if(CMAKE_SIZEOF_VOID_P MATCHES "8") + set(_VRJ_LIBSUFFIXES lib64 lib) + set(_VRJ_LIBDSUFFIXES + debug + lib64/x86_64/debug + lib64/debug + lib64 + lib/x86_64/debug + lib/debug + lib) + set(_VRJ_LIBDSUFFIXES_ONLY + debug + lib64/x86_64/debug + lib64/debug + lib/x86_64/debug + lib/debug) +else() + set(_VRJ_LIBSUFFIXES lib) + set(_VRJ_LIBDSUFFIXES debug lib/i686/debug lib/debug lib) + set(_VRJ_LIBDSUFFIXES_ONLY debug lib/i686/debug lib/debug) +endif() + +if(NOT VRJUGGLER30_FIND_QUIETLY + AND NOT VRJUGGLER30_FOUND + AND NOT "${_VRJUGGLER30_SEARCH_COMPONENTS}" STREQUAL "${VRJUGGLER30_REQUESTED_COMPONENTS}") + message(STATUS + "Searching for these requested VR Juggler 3.0 components and their dependencies: ${VRJUGGLER30_REQUESTED_COMPONENTS}") +endif() + +# Find components +if("${VRJUGGLER30_REQUESTED_COMPONENTS}" MATCHES "VRJOGL30" AND NOT VRJOGL30_FOUND) + find_package(VRJOGL30 ${_FIND_FLAGS}) +endif() + +if("${VRJUGGLER30_REQUESTED_COMPONENTS}" MATCHES "VRJ30" AND NOT VRJ30_FOUND) + find_package(VRJ30 ${_FIND_FLAGS}) +endif() + +if("${VRJUGGLER30_REQUESTED_COMPONENTS}" MATCHES "JCCL14" AND NOT JCCL14_FOUND) + find_package(JCCL14 ${_FIND_FLAGS}) +endif() + +if("${VRJUGGLER30_REQUESTED_COMPONENTS}" MATCHES "GADGETEER20" AND NOT GADGETEER20_FOUND) + find_package(Gadgeteer20 ${_FIND_FLAGS}) +endif() + +if("${VRJUGGLER30_REQUESTED_COMPONENTS}" MATCHES "SONIX14" AND NOT SONIX14_FOUND) + find_package(Sonix14 ${_FIND_FLAGS}) +endif() + +if("${VRJUGGLER30_REQUESTED_COMPONENTS}" MATCHES "TWEEK14" AND NOT TWEEK14_FOUND) + find_package(Tweek14 ${_FIND_FLAGS}) +endif() + +if("${VRJUGGLER30_REQUESTED_COMPONENTS}" MATCHES "VPR22" AND NOT VPR22_FOUND) + find_package(VPR22 ${_FIND_FLAGS}) +endif() + +# handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if +# all listed variables are TRUE +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(VRJuggler30 + DEFAULT_MSG + ${VRJUGGLER30_COMPONENTS_FOUND}) + +if(VRJUGGLER30_FOUND) + foreach(VRJUGGLER30_REQUEST ${VRJUGGLER30_REQUESTED_COMPONENTS}) + list(APPEND VRJUGGLER30_LIBRARIES ${${VRJUGGLER30_REQUEST}_LIBRARIES}) + list(APPEND + VRJUGGLER30_INCLUDE_DIRS + ${${VRJUGGLER30_REQUEST}_INCLUDE_DIRS}) + endforeach() + + clean_library_list(VRJUGGLER30_LIBRARIES) + + clean_directory_list(VRJUGGLER30_INCLUDE_DIRS) + + set(_vjbase) + set(_vjbaseclean) + foreach(_lib ${VPR22_LIBRARY} ${VRJ30_LIBRARY} ${VRJOGL30_LIBRARY} ${JCCL14_LIBRARY} ${GADGETEER20_LIBRARY}) + get_filename_component(_libpath "${_lib}" PATH) + get_filename_component(_abspath "${_libpath}/.." ABSOLUTE) + list(APPEND _vjbase "${_abspath}") + endforeach() + + clean_directory_list(_vjbase) + + set(_vrj30_have_base_dir NO) + list(LENGTH _vjbase _vjbaselen) + if("${_vjbaselen}" EQUAL 1 AND NOT VRJUGGLER30_VJ_BASE_DIR) + list(GET _vjbase 0 VRJUGGLER30_VJ_BASE_DIR) + mark_as_advanced(VRJUGGLER30_VJ_BASE_DIR) + if(NOT VRJUGGLER30_VJ_BASE_DIR STREQUAL _vrj30_base_dir) + unset(VRJUGGLER30_VJ_CFG_DIR) + endif() + set(_vrj30_have_base_dir YES) + else() + list(GET _vjbase 0 _calculated_base_dir) + if(NOT + "${_calculated_base_dir}" + STREQUAL + "${VRJUGGLER30_VJ_BASE_DIR}") + message("It looks like you might be mixing VR Juggler versions... ${_vjbaselen} ${_vjbase}") + message("If you are, fix your libraries then remove the VRJUGGLER30_VJ_BASE_DIR variable in CMake, then configure again") + message("If you aren't, set the VRJUGGLER30_VJ_BASE_DIR variable to the desired VJ_BASE_DIR to use when running") + else() + if(NOT VRJUGGLER30_VJ_BASE_DIR STREQUAL _vrj30_base_dir) + unset(VRJUGGLER30_VJ_CFG_DIR) + endif() + set(_vrj30_have_base_dir YES) + endif() + endif() + + set(_vrj30_base_dir "${VRJUGGLER30_VJ_BASE_DIR}") + set(_vrj30_base_dir "${_vrj30_base_dir}" CACHE INTERNAL "" FORCE) + + if(_vrj30_have_base_dir) + file(GLOB + _poss_dirs + ${VRJUGGLER30_VJ_BASE_DIR}/share/vrjuggler*/data/configFiles) + find_path(VRJUGGLER30_VJ_CFG_DIR + standalone.jconf + PATHS + ${_poss_dirs} + NO_DEFAULT_PATH) + mark_as_advanced(VRJUGGLER30_VJ_CFG_DIR) + endif() + + set(VRJUGGLER30_VJ_BASE_DIR + "${VRJUGGLER30_VJ_BASE_DIR}" + CACHE + PATH + "Base directory to use as VJ_BASE_DIR when running your app." + FORCE) + set(VRJUGGLER30_ENVIRONMENT + "VJ_BASE_DIR=${VRJUGGLER30_VJ_BASE_DIR}" + "JCCL_BASE_DIR=${VRJUGGLER30_VJ_BASE_DIR}" + "SONIX_BASE_DIR=${VRJUGGLER30_VJ_BASE_DIR}" + "TWEEK_BASE_DIR=${VRJUGGLER30_VJ_BASE_DIR}" + "VJ_CFG_DIR=${VRJUGGLER30_VJ_CFG_DIR}") + + include(GetDirectoryList) + + get_directory_list(VRJUGGLER30_RUNTIME_LIBRARY_DIRS + ${VRJUGGLER30_LIBRARIES}) + if(WIN32) + foreach(dir ${VRJUGGLER30_RUNTIME_LIBRARY_DIRS}) + list(APPEND VRJUGGLER30_RUNTIME_LIBRARY_DIRS "${dir}/../bin") + endforeach() + endif() + + if(MSVC) + # BOOST_ALL_DYN_LINK + set(VRJUGGLER30_DEFINITIONS + "-DBOOST_ALL_DYN_LINK" + "-DCPPDOM_DYN_LINK" + "-DCPPDOM_AUTO_LINK") + + # Disable these annoying warnings + # 4275: non dll-interface class used as base for dll-interface class + # 4251: needs to have dll-interface to be used by clients of class + # 4100: unused parameter + # 4512: assignment operator could not be generated + # 4127: (Not currently disabled) conditional expression in loop evaluates to constant + + set(VRJUGGLER30_CXX_FLAGS "/wd4275 /wd4251 /wd4100 /wd4512") + elseif(CMAKE_COMPILER_IS_GNUCXX) + # Silence annoying warnings about deprecated hash_map. + set(VRJUGGLER30_CXX_FLAGS "-Wno-deprecated") + + set(VRJUGGLER30_DEFINITIONS "") + endif() + set(VRJUGGLER30_CXX_FLAGS + "${VRJUGGLER30_CXX_FLAGS} ${CPPDOM_CXX_FLAGS}") + + set(_VRJUGGLER30_SEARCH_COMPONENTS + "${VRJUGGLER30_REQUESTED_COMPONENTS}" + CACHE + INTERNAL + "Requested components, used as a flag.") + + + + set(_plugin_dirs) + foreach(_libdir ${VRJUGGLER30_RUNTIME_LIBRARY_DIRS}) + # Find directories of Gadgeteer plugins and drivers + if(EXISTS "${_libdir}/gadgeteer") + list(APPEND + _plugin_dirs + "${_libdir}/gadgeteer/drivers" + "${_libdir}/gadgeteer/plugins") + elseif(EXISTS "${_libdir}/gadgeteer-1.4") + list(APPEND + _plugin_dirs + "${_libdir}/gadgeteer-1.4/drivers" + "${_libdir}/gadgeteer-1.4/plugins") + endif() + + # Find directories of Sonix plugins + if(EXISTS "${_libdir}/sonix") + list(APPEND _plugin_dirs "${_libdir}/sonix/plugins/dbg") + list(APPEND _plugin_dirs "${_libdir}/sonix/plugins/opt") + elseif(EXISTS "${_libdir}/sonix-1.4") + list(APPEND _plugin_dirs "${_libdir}/sonix-1.4/plugins/dbg") + list(APPEND _plugin_dirs "${_libdir}/sonix-1.4/plugins/opt") + endif() + endforeach() + + # Grab the actual plugins + foreach(_libdir ${_plugin_dirs}) + if(EXISTS "${_libdir}") + list(APPEND VRJUGGLER30_RUNTIME_LIBRARY_DIRS "${_libdir}") + file(GLOB _plugins "${_libdir}/*${CMAKE_SHARED_LIBRARY_SUFFIX}") + list(APPEND VRJUGGLER30_BUNDLE_PLUGINS ${_plugins}) + endif() + endforeach() + + mark_as_advanced(VRJUGGLER30_ROOT_DIR) +endif() + +mark_as_advanced(VRJUGGLER30_DEFINITIONS) + +function(install_vrjuggler30_data_files prefix) + set(base "${VRJUGGLER30_VJ_CFG_DIR}/..") + get_filename_component(base "${base}" ABSOLUTE) + file(RELATIVE_PATH reldest "${VRJUGGLER30_VJ_BASE_DIR}" "${base}") + if(prefix STREQUAL "" OR prefix STREQUAL "." OR prefix STREQUAL "./") + set(DEST "${reldest}") + else() + set(DEST "${prefix}/${reldest}") + endif() + + # configFiles *.jconf + file(GLOB + _vj_config_files + "${base}/configFiles/*.jconf") + install(FILES ${_vj_config_files} DESTINATION "${DEST}/configFiles/") + + # definitions *.jdef + file(GLOB + _vj_defs_files + "${base}/definitions/*.jdef") + install(FILES ${_vj_defs_files} DESTINATION "${DEST}/definitions/") + + # models *.flt + file(GLOB + _vj_model_files + "${base}/models/*.flt") + install(FILES ${_vj_model_files} DESTINATION "${DEST}/models/") + + # sounds *.wav + file(GLOB + _vj_sound_files + "${base}/sounds/*.wav") + install(FILES ${_vj_sound_files} DESTINATION "${DEST}/sounds/") + + # calibration.table - needed? + file(GLOB + _vj_config_files + "${base}/configFiles/*.jconf") + install(FILES "${base}/calibration.table" DESTINATION "${DEST}") +endfunction() + +function(install_vrjuggler30_plugins prefix varForFilenames) + set(DEST "${prefix}") + + set(out) + foreach(plugin ${VRJUGGLER30_BUNDLE_PLUGINS}) + get_filename_component(full "${plugin}" ABSOLUTE) + file(RELATIVE_PATH relloc "${VRJUGGLER30_VJ_BASE_DIR}" "${full}") + set(filedest "${DEST}/${relloc}") + get_filename_component(path "${filedest}" PATH) + list(APPEND out "${filedest}") + install(FILES "${full}" DESTINATION "${path}") + endforeach() + + set(${varForFilenames} ${out} PARENT_SCOPE) + +endfunction() + +function(get_vrjuggler_bundle_sources _target_sources) + if(APPLE) + if(NOT MACOSX_PACKAGE_DIR) + set(MACOSX_PACKAGE_DIR ${CMAKE_SOURCE_DIR}/cmake/package/macosx) + endif() + + set(_vj_base_dir .) + set(_vj_data_dir ${vj_base_dir}/share/vrjuggler-3.0) + + # Append Mac-specific sources to source list + set(_vj_bundle_src + ${MACOSX_PACKAGE_DIR}/Resources/vrjuggler.icns + ${MACOSX_PACKAGE_DIR}/Resources/vrjuggler.plist + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/classes.nib + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/info.nib + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/keyedobjects.nib) + + message(STATUS "vjbundlesrc: ${_vj_bundle_src}") + set(${_target_sources} + ${${_target_sources}} + ${_vj_bundle_src} + PARENT_SCOPE) + + # Set destination of nib files + set_source_files_properties(${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/classes.nib + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/info.nib + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/keyedobjects.nib + PROPERTIES + MACOSX_PACKAGE_LOCATION + Resources/en.lproj/MainMenu.nib/) + + # Set destination of Resources + set_source_files_properties(${MACOSX_PACKAGE_DIR}/Resources/vrjuggler.icns + ${MACOSX_PACKAGE_DIR}/Resources/vrjuggler.plist + PROPERTIES + MACOSX_PACKAGE_LOCATION + Resources/) + endif() +endfunction() + +function(fixup_vrjuggler_app_bundle + _target + _targetInstallDest + _extralibs + _libdirs) + + if(NOT VRJUGGLER30_FOUND) + return() + endif() + + if(NOT MACOSX_PACKAGE_DIR) + set(MACOSX_PACKAGE_DIR ${CMAKE_SOURCE_DIR}/cmake/package/macosx) + endif() + + set(TARGET_LOCATION + "${_targetInstallDest}/${_target}${CMAKE_EXECUTABLE_SUFFIX}") + if(APPLE) + set(TARGET_LOCATION "${TARGET_LOCATION}.app") + endif() + + set_target_properties(${_target} + PROPERTIES + MACOSX_BUNDLE + true + MACOSX_BUNDLE_INFO_PLIST + ${MACOSX_PACKAGE_DIR}/VRJuggler30BundleInfo.plist.in + MACOSX_BUNDLE_ICON_FILE + vrjuggler.icns + MACOSX_BUNDLE_INFO_STRING + "${PROJECT_NAME} (VR Juggler Application) version ${CPACK_PACKAGE_VERSION}, created by ${CPACK_PACKAGE_VENDOR}" + MACOSX_BUNDLE_GUI_IDENTIFIER + org.vrjuggler.${PROJECT_NAME} + MACOSX_BUNDLE_SHORT_VERSION_STRING + ${CPACK_PACKAGE_VERSION} + MACOSX_BUNDLE_BUNDLE_VERSION + ${CPACK_PACKAGE_VERSION}) + + if(WIN32) + list(APPEND _libdirs "${VRJUGGLER30_VJ_BASE_DIR}/bin") + endif() + + set(BUNDLE_LIBS ${_extralibs}) + set(BUNDLE_LIB_DIRS "${VRJUGGLER30_VJ_BASE_DIR}" ${_libdirs}) + + configure_file(${MACOSX_PACKAGE_DIR}/fixupbundle.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${_target}-fixupbundle-juggler.cmake + @ONLY) + install(SCRIPT + "${CMAKE_CURRENT_BINARY_DIR}/${_target}-fixupbundle-juggler.cmake") +endfunction() diff --git a/cmake/FindVRPN.cmake b/cmake/FindVRPN.cmake index b128ba0..b2dabc6 100644 --- a/cmake/FindVRPN.cmake +++ b/cmake/FindVRPN.cmake @@ -21,10 +21,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(VRPN_ROOT_DIR "${VRPN_ROOT_DIR}" @@ -34,8 +34,18 @@ set(VRPN_ROOT_DIR if("${CMAKE_SIZEOF_VOID_P}" MATCHES "8") set(_libsuffixes lib64 lib) + + # 64-bit dir: only set on win64 + file(TO_CMAKE_PATH "$ENV{ProgramW6432}" _progfiles) else() set(_libsuffixes lib) + if(NOT "$ENV{ProgramFiles(x86)}" STREQUAL "") + # 32-bit dir: only set on win64 + file(TO_CMAKE_PATH "$ENV{ProgramFiles(x86)}" _progfiles) + else() + # 32-bit dir on win32, useless to us on win64 + file(TO_CMAKE_PATH "$ENV{ProgramFiles}" _progfiles) + endif() endif() ### @@ -49,7 +59,9 @@ find_path(VRPN_INCLUDE_DIR include include/vrpn HINTS - "${VRPN_ROOT_DIR}") + "${VRPN_ROOT_DIR}" + PATHS + "${_progfiles}/VRPN") find_library(VRPN_LIBRARY NAMES @@ -57,7 +69,9 @@ find_library(VRPN_LIBRARY PATH_SUFFIXES ${_libsuffixes} HINTS - "${VRPN_ROOT_DIR}") + "${VRPN_ROOT_DIR}" + PATHS + "${_progfiles}/VRPN") find_library(VRPN_SERVER_LIBRARY NAMES @@ -65,7 +79,9 @@ find_library(VRPN_SERVER_LIBRARY PATH_SUFFIXES ${_libsuffixes} HINTS - "${VRPN_ROOT_DIR}") + "${VRPN_ROOT_DIR}" + PATHS + "${_progfiles}/VRPN") ### # Dependencies diff --git a/cmake/FindWiiSCAAT.cmake b/cmake/FindWiiSCAAT.cmake index c453697..0b0dd16 100644 --- a/cmake/FindWiiSCAAT.cmake +++ b/cmake/FindWiiSCAAT.cmake @@ -20,10 +20,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(WIISCAAT_ROOT_DIR "${WIISCAAT_ROOT_DIR}" diff --git a/cmake/FindWiiUse.cmake b/cmake/FindWiiUse.cmake index 521b990..80bc3b0 100644 --- a/cmake/FindWiiUse.cmake +++ b/cmake/FindWiiUse.cmake @@ -19,10 +19,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(WIIUSE_ROOT_DIR "${WIIUSE_ROOT_DIR}" diff --git a/cmake/FindWinHID.cmake b/cmake/FindWinHID.cmake index af3e29a..b21654c 100644 --- a/cmake/FindWinHID.cmake +++ b/cmake/FindWinHID.cmake @@ -20,10 +20,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(NOT WIN32) find_package_handle_standard_args(WinHID diff --git a/cmake/Findargp.cmake b/cmake/Findargp.cmake index e911352..140144d 100644 --- a/cmake/Findargp.cmake +++ b/cmake/Findargp.cmake @@ -20,10 +20,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(ARGP_ROOT_DIR "${ARGP_ROOT_DIR}" diff --git a/cmake/Findcppcheck.cmake b/cmake/Findcppcheck.cmake index c1d3234..a044203 100644 --- a/cmake/Findcppcheck.cmake +++ b/cmake/Findcppcheck.cmake @@ -23,10 +23,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) file(TO_CMAKE_PATH "${CPPCHECK_ROOT_DIR}" CPPCHECK_ROOT_DIR) set(CPPCHECK_ROOT_DIR diff --git a/cmake/Findcutil.cmake b/cmake/Findcutil.cmake index 9441d0d..a7c0340 100644 --- a/cmake/Findcutil.cmake +++ b/cmake/Findcutil.cmake @@ -11,10 +11,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) find_package(CUDA QUIET) @@ -22,8 +22,8 @@ find_package(CUDA QUIET) file(TO_CMAKE_PATH "${CUDA_SDK_ROOT_DIR}/C/common" CUTIL_ROOT_DIR) -if(NOT EXISTS "${CUTIL_ROOT_DIR}//src/cutil.cpp") - set(CUDA_SDK_ROOT_DIR not-found CACHE PATH "NVIDIA GPU Computing SDK dir" FORCE) +if(NOT EXISTS "${CUTIL_ROOT_DIR}/src/cutil.cpp") + set(CUDA_SDK_ROOT_DIR SDKDIR-NOTFOUND CACHE PATH "NVIDIA GPU Computing SDK dir" FORCE) endif() # handle the QUIETLY and REQUIRED arguments and set xxx_FOUND to TRUE if diff --git a/cmake/Finddb2pdf.cmake b/cmake/Finddb2pdf.cmake index 9d1a4ee..e3ad03a 100644 --- a/cmake/Finddb2pdf.cmake +++ b/cmake/Finddb2pdf.cmake @@ -15,10 +15,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(DB2PDF_ROOT_DIR diff --git a/cmake/FindosgLua.cmake b/cmake/FindosgLua.cmake index aa04dbd..d6a682e 100644 --- a/cmake/FindosgLua.cmake +++ b/cmake/FindosgLua.cmake @@ -16,10 +16,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(OSGLUA_ROOT_DIR "${OSGLUA_ROOT_DIR}" diff --git a/cmake/Findquatlib.cmake b/cmake/Findquatlib.cmake index 1eab8fa..578d6d2 100644 --- a/cmake/Findquatlib.cmake +++ b/cmake/Findquatlib.cmake @@ -10,10 +10,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(TARGET quat) # Look for the header file. @@ -35,8 +35,18 @@ else() if("${CMAKE_SIZEOF_VOID_P}" MATCHES "8") set(_libsuffixes lib64 lib) + + # 64-bit dir: only set on win64 + file(TO_CMAKE_PATH "$ENV{ProgramW6432}" _progfiles) else() set(_libsuffixes lib) + if(NOT "$ENV{ProgramFiles(x86)}" STREQUAL "") + # 32-bit dir: only set on win64 + file(TO_CMAKE_PATH "$ENV{ProgramFiles(x86)}" _progfiles) + else() + # 32-bit dir on win32, useless to us on win64 + file(TO_CMAKE_PATH "$ENV{ProgramFiles}" _progfiles) + endif() endif() # Look for the header file. @@ -48,8 +58,8 @@ else() PATH_SUFFIXES include PATHS - "C:/Program Files/quatlib/include" - "../quat") + "${_progfiles}/VRPN" + "${_progfiles}/quatlib") # Look for the library. find_library(QUATLIB_LIBRARY @@ -61,9 +71,8 @@ else() PATH_SUFFIXES ${_libsuffixes} PATHS - "C:/Program Files/quatlib/lib" - "../buildquat" - "../buildquat/release") + "${_progfiles}/VRPN" + "${_progfiles}/quatlib") endif() # handle the QUIETLY and REQUIRED arguments and set QUATLIB_FOUND to TRUE if diff --git a/cmake/GetCPUDetails.cmake b/cmake/GetCPUDetails.cmake index fe7cfa2..9aa5ef1 100644 --- a/cmake/GetCPUDetails.cmake +++ b/cmake/GetCPUDetails.cmake @@ -18,10 +18,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) # diff --git a/cmake/GetCompilerInfoString.cmake b/cmake/GetCompilerInfoString.cmake index db28212..7bcd9d9 100644 --- a/cmake/GetCompilerInfoString.cmake +++ b/cmake/GetCompilerInfoString.cmake @@ -19,10 +19,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 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 #============================================================================= diff --git a/cmake/GetDirectoryList.cmake b/cmake/GetDirectoryList.cmake index 2e85c42..60f2a01 100644 --- a/cmake/GetDirectoryList.cmake +++ b/cmake/GetDirectoryList.cmake @@ -9,10 +9,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__get_directory_list) return() diff --git a/cmake/GetFileList.cmake b/cmake/GetFileList.cmake index 4f2608a..2e0c379 100644 --- a/cmake/GetFileList.cmake +++ b/cmake/GetFileList.cmake @@ -9,10 +9,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__get_file_list) return() diff --git a/cmake/GetForceIncludeDefinitions.cmake b/cmake/GetForceIncludeDefinitions.cmake index 6548de5..efcca04 100644 --- a/cmake/GetForceIncludeDefinitions.cmake +++ b/cmake/GetForceIncludeDefinitions.cmake @@ -13,10 +13,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__get_force_include_definitions) return() diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake index 57b4cd0..f6f07ca 100644 --- a/cmake/GetGitRevisionDescription.cmake +++ b/cmake/GetGitRevisionDescription.cmake @@ -25,10 +25,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__get_git_revision_description) return() diff --git a/cmake/GetGitRevisionDescription.cmake.in b/cmake/GetGitRevisionDescription.cmake.in index 77cc6e0..c6f9b4d 100644 --- a/cmake/GetGitRevisionDescription.cmake.in +++ b/cmake/GetGitRevisionDescription.cmake.in @@ -8,17 +8,26 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) -string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") +if(HEAD_CONTENTS MATCHES "ref") + # named branch + string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") -configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) + configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) +else() + # detached HEAD + configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) +endif() file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) string(STRIP "${HEAD_HASH}" HEAD_HASH) + + +set(HEAD_HASH "${HEAD_CONTENTS}") diff --git a/cmake/GetSubprojectStatus.cmake b/cmake/GetSubprojectStatus.cmake index 7e99993..888a2ca 100644 --- a/cmake/GetSubprojectStatus.cmake +++ b/cmake/GetSubprojectStatus.cmake @@ -10,10 +10,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__get_subproject_status) return() diff --git a/cmake/Licensing.cmake b/cmake/Licensing.cmake index e89f66b..dae8e8b 100644 --- a/cmake/Licensing.cmake +++ b/cmake/Licensing.cmake @@ -5,10 +5,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) define_property(GLOBAL PROPERTY diff --git a/cmake/ListCombinations.cmake b/cmake/ListCombinations.cmake index c94a505..4321f62 100644 --- a/cmake/ListCombinations.cmake +++ b/cmake/ListCombinations.cmake @@ -10,10 +10,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__list_combinations) return() diff --git a/cmake/ListFilter.cmake b/cmake/ListFilter.cmake index fa4237a..0378595 100644 --- a/cmake/ListFilter.cmake +++ b/cmake/ListFilter.cmake @@ -15,10 +15,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__list_filter_out) return() diff --git a/cmake/LuaTargets.cmake b/cmake/LuaTargets.cmake index 9e8b220..6d0816e 100644 --- a/cmake/LuaTargets.cmake +++ b/cmake/LuaTargets.cmake @@ -1,4 +1,4 @@ -# - Copy lua source files as a custom target +# - Copy/parse lua source files as a custom target # # include(LuaTargets) # add_lua_target( [ ]) @@ -7,6 +7,8 @@ # # 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) # @@ -15,74 +17,65 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__add_lua) return() endif() set(__add_lua YES) -define_property(TARGET - PROPERTY - LUA_TARGET - BRIEF_DOCS - "Lua target" - FULL_DOCS - "Is this a Lua target created by add_lua_target?") +include(FileCopyTargets) function(add_lua_target _target _dest) + if(NOT ARGN) message(WARNING - "In add_lua_target call for target ${_target}, no Lua files were specified!") + "In add_lua_target call for target ${_target}, no source files were specified!") return() endif() + + if(NOT LUA_TARGET_LUAC_EXECUTABLE) + set(LUA_TARGET_LUAC_EXECUTABLE luac) + endif() set(ALLFILES) - foreach(luafile ${ARGN}) - if(IS_ABSOLUTE "${luafile}") - set(luapath "${luafile}") - get_filename_component(luafile "${luafile}" NAME) + foreach(fn ${ARGN}) + if(IS_ABSOLUTE "${fn}") + set(fullpath "${fn}") + get_filename_component(fn "${fn}" NAME) else() - set(luapath "${CMAKE_CURRENT_SOURCE_DIR}/${luafile}") + get_filename_component(fullpath "${CMAKE_CURRENT_SOURCE_DIR}/${fn}" ABSOLUTE) endif() - add_custom_command(OUTPUT "${_dest}/${luafile}" + add_custom_command(OUTPUT "${_dest}/${fn}" COMMAND ${CMAKE_COMMAND} ARGS -E make_directory "${_dest}" COMMAND ${CMAKE_COMMAND} - ARGS -E copy "${luapath}" "${_dest}" + ARGS -E copy "${fullpath}" "${_dest}" + COMMAND + "${LUA_TARGET_LUAC_EXECUTABLE}" + ARGS -p "${fullpath}" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" - DEPENDS "${luapath}" - COMMENT "Copying ${luapath} to ${_dest}/${luafile}") - list(APPEND ALLFILES "${_dest}/${luafile}") + DEPENDS "${fullpath}" + COMMENT "Copying ${fullpath} to ${_dest}/${fn} and parsing...") + list(APPEND ALLFILES "${_dest}/${fn}") endforeach() - # Custom target depending on all the lua file commands + # Custom target depending on all the file copy commands add_custom_target(${_target} SOURCES ${ARGN} DEPENDS ${ALLFILES}) - - set_property(TARGET ${_target} PROPERTY LUA_TARGET YES) -endfunction() - -function(install_lua_target _target) - get_target_property(_isLua ${_target} LUA_TARGET) - if(NOT _isLua) - message(WARNING - "install_lua_target called on a target not created with add_lua_target!") - return() + if(TARGET "${LUA_TARGET_LUAC_EXECUTABLE}") + add_dependencies(${_target} ${LUA_TARGET_LUAC_EXECUTABLE}) endif() - # Get sources - get_target_property(_srcs ${_target} SOURCES) - - # Remove the "fake" file forcing build - list(REMOVE_AT _srcs 0) - - # Forward the call to install - install(PROGRAMS ${_srcs} ${ARGN}) + set_property(TARGET ${_target} PROPERTY FILE_COPY_TARGET YES) +endfunction() + +function(install_lua_target) + install_file_copy_target(${ARGN}) endfunction() diff --git a/cmake/MSVCMultipleProcessCompile.cmake b/cmake/MSVCMultipleProcessCompile.cmake index 989c083..aad4eab 100644 --- a/cmake/MSVCMultipleProcessCompile.cmake +++ b/cmake/MSVCMultipleProcessCompile.cmake @@ -10,10 +10,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(MSVC AND NOT "${MSVC_VERSION}" LESS 1400) # Only available in VS 2005 and newer diff --git a/cmake/MSVCStaticRuntime.cmake b/cmake/MSVCStaticRuntime.cmake index 94ca1d6..e4ceea6 100644 --- a/cmake/MSVCStaticRuntime.cmake +++ b/cmake/MSVCStaticRuntime.cmake @@ -10,10 +10,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(MSVC) string(TOUPPER "${CMAKE_CONFIGURATION_TYPES}" _conftypesUC) diff --git a/cmake/MSVCVerboseLinking.cmake b/cmake/MSVCVerboseLinking.cmake index c2e770d..84d4a22 100644 --- a/cmake/MSVCVerboseLinking.cmake +++ b/cmake/MSVCVerboseLinking.cmake @@ -13,10 +13,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(MSVC) if(NOT DEFINED MSVC_LINK_REALLY_VERBOSE) diff --git a/cmake/MakeVRJugglerAppBundle.cmake b/cmake/MakeVRJugglerAppBundle.cmake index a03065e..080069d 100644 --- a/cmake/MakeVRJugglerAppBundle.cmake +++ b/cmake/MakeVRJugglerAppBundle.cmake @@ -8,10 +8,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) function(add_vrjuggler_bundle_sources _target_sources) if(APPLE) diff --git a/cmake/MakeVRJugglerAppBundle30.cmake b/cmake/MakeVRJugglerAppBundle30.cmake new file mode 100644 index 0000000..9cfa633 --- /dev/null +++ b/cmake/MakeVRJugglerAppBundle30.cmake @@ -0,0 +1,146 @@ +# - A script to turn a VR Juggler app target into a Mac OS X bundle +# +# add_vrjuggler_bundle_sources(SOURCES_VAR_NAME) - run before add_executable +# finish_vrjuggler_bundle(TARGET_NAME LIB_DIRS) - run after add_executable +# +# 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 + +function(add_vrjuggler_bundle_sources _target_sources) + if(APPLE) + if(NOT MACOSX_PACKAGE_DIR) + set(MACOSX_PACKAGE_DIR ${CMAKE_SOURCE_DIR}/cmake/package/macosx) + endif() + + set(_vj_base_dir .) + set(_vj_data_dir ${vj_base_dir}/share/vrjuggler-3.0) + + # Append Mac-specific sources to source list + set(_vj_bundle_src + ${MACOSX_PACKAGE_DIR}/Resources/vrjuggler.icns + ${MACOSX_PACKAGE_DIR}/Resources/vrjuggler.plist + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/classes.nib + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/info.nib + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/keyedobjects.nib) + + # Add and set destination of VR Juggler required files + + # configFiles *.jconf + file(GLOB + _vj_config_files + ${VRJ30_LIBRARY_DIR}/../share/vrjuggler-3.0/data/configFiles/*.jconf) + list(APPEND _vj_bundle_src ${_vj_config_files}) + + # definitions *.jdef + file(GLOB + _vj_defs_files + ${VRJ30_LIBRARY_DIR}/../share/vrjuggler-3.0/data/definitions/*.jdef) + list(APPEND _vj_bundle_src ${_vj_defs_files}) + + # models *.flt + file(GLOB + _vj_model_files + ${VRJ30_LIBRARY_DIR}/../share/vrjuggler-3.0/data/models/*.flt) + list(APPEND _vj_bundle_src ${_vj_model_files}) + + # sounds *.wav + file(GLOB + _vj_sound_files + ${VRJ30_LIBRARY_DIR}/../share/vrjuggler-3.0/data/sounds/*.wav) + list(APPEND _vj_bundle_src ${_vj_sound_files}) + + # calibration.table - needed? + list(APPEND + _vj_bundle_src + ${VRJ30_LIBRARY_DIR}/../share/vrjuggler-3.0/data/calibration.table) + + message(STATUS "vjbundlesrc: ${_vj_bundle_src}") + set(${_target_sources} + ${${_target_sources}} + ${_vj_bundle_src} + PARENT_SCOPE) + + # Set destination of nib files + set_source_files_properties(${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/classes.nib + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/info.nib + ${MACOSX_PACKAGE_DIR}/Resources/en.lproj/MainMenu.nib/keyedobjects.nib + PROPERTIES + MACOSX_PACKAGE_LOCATION + Resources/en.lproj/MainMenu.nib/) + + # Set destination of Resources + set_source_files_properties(${MACOSX_PACKAGE_DIR}/Resources/vrjuggler.icns + ${MACOSX_PACKAGE_DIR}/Resources/vrjuggler.plist + PROPERTIES + MACOSX_PACKAGE_LOCATION + Resources/) + + set_source_files_properties(${_vj_config_files} + PROPERTIES + MACOSX_PACKAGE_LOCATION + ${_vj_data_dir}/data/configFiles/) + set_source_files_properties(${_vj_defs_files} + PROPERTIES + MACOSX_PACKAGE_LOCATION + ${_vj_data_dir}/data/definitions/) + set_source_files_properties(${_vj_model_files} + PROPERTIES + MACOSX_PACKAGE_LOCATION + ${_vj_data_dir}/data/models/) + set_source_files_properties(${_vj_sound_files} + PROPERTIES + MACOSX_PACKAGE_LOCATION + ${_vj_data_dir}/data/sounds/) + set_source_files_properties(${VRJ30_LIBRARY_DIR}/../share/vrjuggler-3.0/data/calibration.table + PROPERTIES + MACOSX_PACKAGE_LOCATION + ${_vj_data_dir}/data/) + + endif() +endfunction() + +function(finish_vrjuggler_bundle _target _libdirs) + if(APPLE) + if(NOT MACOSX_PACKAGE_DIR) + set(MACOSX_PACKAGE_DIR ${CMAKE_SOURCE_DIR}/cmake/package/macosx) + endif() + set_target_properties(${_target} + PROPERTIES + MACOSX_BUNDLE + true + MACOSX_BUNDLE_INFO_PLIST + ${MACOSX_PACKAGE_DIR}/VRJuggler30BundleInfo.plist.in + MACOSX_BUNDLE_ICON_FILE + vrjuggler.icns + MACOSX_BUNDLE_INFO_STRING + "${PROJECT_NAME} (VR Juggler Application) version ${CPACK_PACKAGE_VERSION}, created by ${CPACK_PACKAGE_VENDOR}" + MACOSX_BUNDLE_GUI_IDENTIFIER + org.vrjuggler.${PROJECT_NAME} + MACOSX_BUNDLE_SHORT_VERSION_STRING + ${CPACK_PACKAGE_VERSION} + MACOSX_BUNDLE_BUNDLE_VERSION + ${CPACK_PACKAGE_VERSION}) + + set(BUNDLE_LIBS + libboost_filesystem-mt.dylib + libboost_signals-mt.dylib) + set(BUNDLE_LIB_DIRS ${_libdirs}) + + configure_file(${MACOSX_PACKAGE_DIR}/fixupbundle.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${_target}-fixupbundle.cmake + @ONLY) + add_custom_command(TARGET + ${_target} + POST_BUILD + COMMAND + ${CMAKE_COMMAND} + -P + ${CMAKE_CURRENT_BINARY_DIR}/${_target}-fixupbundle.cmake + VERBATIM) + + endif() +endfunction() diff --git a/cmake/OptionRequires.cmake b/cmake/OptionRequires.cmake new file mode 100644 index 0000000..5505664 --- /dev/null +++ b/cmake/OptionRequires.cmake @@ -0,0 +1,52 @@ +# - 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) + +function(option_requires name desc) + set(args ${ARGN}) + + set(OFF_BY_DEFAULT false) + list(FIND args "OFF_BY_DEFAULT" _off_found) + if(NOT _off_found EQUAL -1) + list(REMOVE_AT args ${_off_found}) + set(OFF_BY_DEFAULT true) + endif() + + set(found) + set(missing) + foreach(var ${args}) + if(${var}) + list(APPEND found ${var}) + else() + list(APPEND missing ${var}) + endif() + endforeach() + + if(NOT missing) + set(OK TRUE) + else() + set(OK FALSE) + endif() + + set(default ${OK}) + if(OFF_BY_DEFAULT) + set(default OFF) + endif() + + option(${name} "${desc}" ${default}) + + if(${name} AND (NOT OK)) + message(FATAL_ERROR "${name} enabled but these dependencies were not valid: ${missing}") + endif() + +endfunction() diff --git a/cmake/PrefixListGlob.cmake b/cmake/PrefixListGlob.cmake index 5514a9e..3b1bb64 100644 --- a/cmake/PrefixListGlob.cmake +++ b/cmake/PrefixListGlob.cmake @@ -6,10 +6,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__prefix_list_glob) return() diff --git a/cmake/ProgramFilesGlob.cmake b/cmake/ProgramFilesGlob.cmake index 5f70398..98eb924 100644 --- a/cmake/ProgramFilesGlob.cmake +++ b/cmake/ProgramFilesGlob.cmake @@ -9,10 +9,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(PrefixListGlob) include(CleanDirectoryList) diff --git a/cmake/README.markdown b/cmake/README.markdown index c437bce..b85bf2c 100644 --- a/cmake/README.markdown +++ b/cmake/README.markdown @@ -62,6 +62,10 @@ modules, for that, just add another line following the first one: include(UseBackportedModules) +Look at module-help.html/txt (generated by update-help.sh on a unix-like shell) +either in this directory or online at +for more information on individual modules. + Licenses -------- diff --git a/cmake/ResetConfigurations.cmake b/cmake/ResetConfigurations.cmake index ab7b6e5..abf625b 100644 --- a/cmake/ResetConfigurations.cmake +++ b/cmake/ResetConfigurations.cmake @@ -8,10 +8,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) # diff --git a/cmake/SearchProgramFilesForOpenSceneGraph.cmake b/cmake/SearchProgramFilesForOpenSceneGraph.cmake index 20de666..d7cf2df 100644 --- a/cmake/SearchProgramFilesForOpenSceneGraph.cmake +++ b/cmake/SearchProgramFilesForOpenSceneGraph.cmake @@ -14,10 +14,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(ListFilter) include(ProgramFilesGlob) @@ -53,8 +53,8 @@ if(_osgpaths) list(SORT _osgpaths) list(REVERSE _osgpaths) - # fallback last-ditch effort - use the environment variable - list(APPEND _osgpaths "$ENV{OSGHOME}") + # Use the environment variable to override + set(_osgpaths "$ENV{OSGHOME}" ${_osgpaths}) clean_directory_list(_osgpaths) list(APPEND CMAKE_PREFIX_PATH ${_osgpaths}) diff --git a/cmake/SetDefaultBuildType.cmake b/cmake/SetDefaultBuildType.cmake index 4cfd01f..cd29e32 100644 --- a/cmake/SetDefaultBuildType.cmake +++ b/cmake/SetDefaultBuildType.cmake @@ -8,10 +8,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) # diff --git a/cmake/SplitLibraryList.cmake b/cmake/SplitLibraryList.cmake index f565e83..c6e1a34 100644 --- a/cmake/SplitLibraryList.cmake +++ b/cmake/SplitLibraryList.cmake @@ -9,10 +9,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) function(split_library_list _generalvar _releasevar _debugvar) diff --git a/cmake/StampSourcesWithVersion.cmake b/cmake/StampSourcesWithVersion.cmake index 009a1d8..147fed8 100644 --- a/cmake/StampSourcesWithVersion.cmake +++ b/cmake/StampSourcesWithVersion.cmake @@ -39,10 +39,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__stamp_sources_with_version) return() diff --git a/cmake/TCHARWorkaround.cmake b/cmake/TCHARWorkaround.cmake index 5bea61b..3edcd6a 100644 --- a/cmake/TCHARWorkaround.cmake +++ b/cmake/TCHARWorkaround.cmake @@ -9,10 +9,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(NOT WIN32) option(TCHAR_WORKAROUND "Work around missing tchar error" on) diff --git a/cmake/UseBackportedModules.cmake b/cmake/UseBackportedModules.cmake index 5c39d9b..7ad3baa 100644 --- a/cmake/UseBackportedModules.cmake +++ b/cmake/UseBackportedModules.cmake @@ -18,10 +18,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(NOT CMAKE_VERSION) # defined in >=2.6.3 set(_cmver diff --git a/cmake/UseTR1.cmake b/cmake/UseTR1.cmake index 0cb4d08..c7f020a 100644 --- a/cmake/UseTR1.cmake +++ b/cmake/UseTR1.cmake @@ -8,10 +8,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(__use_tr1) return() diff --git a/cmake/WarningDev.cmake b/cmake/WarningDev.cmake index 3796270..851b5f5 100644 --- a/cmake/WarningDev.cmake +++ b/cmake/WarningDev.cmake @@ -7,10 +7,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) function(warning_dev _yourmsg) if("1.${CMAKE_VERSION}" VERSION_LESS "1.2.8.0") diff --git a/cmake/cmake-2.8.3-modules/FixWinInstallPrefix.cmake b/cmake/cmake-2.8.3-modules/FixWinInstallPrefix.cmake index a606920..8169ddd 100644 --- a/cmake/cmake-2.8.3-modules/FixWinInstallPrefix.cmake +++ b/cmake/cmake-2.8.3-modules/FixWinInstallPrefix.cmake @@ -12,10 +12,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if(WIN32) # caution - ENV{ProgramFiles} on Win64 is adjusted to point to the arch diff --git a/cmake/cmake-2.8.3-modules/autoinclude.cmake b/cmake/cmake-2.8.3-modules/autoinclude.cmake index 0190ad3..64d8f62 100644 --- a/cmake/cmake-2.8.3-modules/autoinclude.cmake +++ b/cmake/cmake-2.8.3-modules/autoinclude.cmake @@ -5,9 +5,9 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(FixWinInstallPrefix) diff --git a/cmake/cmake-2.8.4-modules/ImproveEclipseGCCErrors.cmake b/cmake/cmake-2.8.4-modules/ImproveEclipseGCCErrors.cmake index bd88619..2f7f317 100644 --- a/cmake/cmake-2.8.4-modules/ImproveEclipseGCCErrors.cmake +++ b/cmake/cmake-2.8.4-modules/ImproveEclipseGCCErrors.cmake @@ -8,10 +8,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) if("${CMAKE_GENERATOR}" MATCHES "Eclipse" AND CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") diff --git a/cmake/cmake-2.8.4-modules/autoinclude.cmake b/cmake/cmake-2.8.4-modules/autoinclude.cmake index 3934734..2c98e24 100644 --- a/cmake/cmake-2.8.4-modules/autoinclude.cmake +++ b/cmake/cmake-2.8.4-modules/autoinclude.cmake @@ -5,9 +5,9 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(ImproveEclipseGCCErrors) diff --git a/cmake/cmake-2.8.4-modules/boost/FindBoost.cmake b/cmake/cmake-2.8.4-modules/boost/FindBoost.cmake index 033ab08..9dbfb80 100644 --- a/cmake/cmake-2.8.4-modules/boost/FindBoost.cmake +++ b/cmake/cmake-2.8.4-modules/boost/FindBoost.cmake @@ -64,7 +64,8 @@ # Currently this module searches for the following version numbers: # 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, 1.35, 1.35.0, 1.35.1, # 1.36, 1.36.0, 1.36.1, 1.37, 1.37.0, 1.38, 1.38.0, 1.39, 1.39.0, -# 1.40, 1.40.0, 1.41, 1.41.0, 1.42, 1.42.0, 1.43, 1.43.0, 1.44, 1.44.0 +# 1.40, 1.40.0, 1.41, 1.41.0, 1.42, 1.42.0, 1.43, 1.43.0, 1.44, 1.44.0, +# 1.45, 1.45.0, 1.46, 1.46.0 # # NOTE: If you add a new major 1.x version in Boost_ADDITIONAL_VERSIONS you should # add both 1.x and 1.x.0 as shown above. Official Boost include directories @@ -404,7 +405,7 @@ else(Boost_FIND_VERSION_EXACT) # The user has not requested an exact version. Among known # versions, find those that are acceptable to the user request. set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS} - "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42" + "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42" "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37" "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0" "1.34" "1.33.1" "1.33.0" "1.33") @@ -941,6 +942,7 @@ ELSE (_boost_IN_CACHE) ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION} + ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED} ${Boost_LIB_PREFIX}boost_${COMPONENT} ) if(_boost_STATIC_RUNTIME_WORKAROUND) diff --git a/cmake/cmake-2.9.0-modules/RequireOutOfSourceBuild.cmake b/cmake/cmake-2.9.0-modules/RequireOutOfSourceBuild.cmake index c86f078..9b27970 100644 --- a/cmake/cmake-2.9.0-modules/RequireOutOfSourceBuild.cmake +++ b/cmake/cmake-2.9.0-modules/RequireOutOfSourceBuild.cmake @@ -8,10 +8,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) get_filename_component(_src "${CMAKE_SOURCE_DIR}" ABSOLUTE) get_filename_component(_cur_src "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE) diff --git a/cmake/cmake-2.9.0-modules/autoinclude.cmake b/cmake/cmake-2.9.0-modules/autoinclude.cmake index 3d0464f..e9206ee 100644 --- a/cmake/cmake-2.9.0-modules/autoinclude.cmake +++ b/cmake/cmake-2.9.0-modules/autoinclude.cmake @@ -5,9 +5,9 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include(RequireOutOfSourceBuild) diff --git a/cmake/launcher-templates/genericlauncher.sh.in b/cmake/launcher-templates/genericlauncher.sh.in index cb83ecd..1872051 100644 --- a/cmake/launcher-templates/genericlauncher.sh.in +++ b/cmake/launcher-templates/genericlauncher.sh.in @@ -6,9 +6,13 @@ if test "x$1" = "x--debugger"; then shift cmd="$1" shift - echo "r $@" > $bindir/gdbscript - echo "bt" >> $bindir/gdbscript - gdb $cmd -command=$bindir/gdbscript -batch --return-child-result + if test "x@LAUNCHERS_GOT_GDB@" = "xYES"; then + echo "r $@" > $bindir/gdbscript + echo "bt" >> $bindir/gdbscript + @GDB_COMMAND@ -batch -command=$bindir/gdbscript @LAUNCHERS_GDB_ARG@ $cmd + else + $cmd $@ + fi else $@ fi diff --git a/cmake/launcher-templates/targetlauncher.sh.in b/cmake/launcher-templates/targetlauncher.sh.in index 0888cf4..b4b6d73 100644 --- a/cmake/launcher-templates/targetlauncher.sh.in +++ b/cmake/launcher-templates/targetlauncher.sh.in @@ -4,9 +4,13 @@ cd @USERFILE_WORKING_DIRECTORY@ @USERFILE_ENV_COMMANDS@ if test "x$1" = "x--debugger"; then shift - echo "r @LAUNCHERSCRIPT_COMMAND_ARGUMENTS@" > $bindir/gdbscript - echo "bt" >> $bindir/gdbscript - gdb @USERFILE_COMMAND@ -command=$bindir/gdbscript -batch --return-child-result + if test "x@LAUNCHERS_GOT_GDB@" = "xYES"; then + echo "r @LAUNCHERSCRIPT_COMMAND_ARGUMENTS@" > $bindir/gdbscript + echo "bt" >> $bindir/gdbscript + @GDB_COMMAND@ -batch -command=$bindir/gdbscript @LAUNCHERS_GDB_ARG@ @USERFILE_COMMAND@ + else + "@USERFILE_COMMAND@" @LAUNCHERSCRIPT_COMMAND_ARGUMENTS@ + fi else "@USERFILE_COMMAND@" @LAUNCHERSCRIPT_COMMAND_ARGUMENTS@ fi diff --git a/cmake/module-docs/Example-FindMySimplePackage.cmake b/cmake/module-docs/Example-FindMySimplePackage.cmake index 8f86388..678b868 100644 --- a/cmake/module-docs/Example-FindMySimplePackage.cmake +++ b/cmake/module-docs/Example-FindMySimplePackage.cmake @@ -24,10 +24,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) set(MYSIMPLEPACKAGE_ROOT_DIR "${MYSIMPLEPACKAGE_ROOT_DIR}" diff --git a/cmake/module-help.html b/cmake/module-help.html new file mode 100644 index 0000000..8215db2 --- /dev/null +++ b/cmake/module-help.html @@ -0,0 +1,1483 @@ + + +module-help - cmake +

Master Index CMake 2.8.3

+ +

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 <BoostTestTargetConfig.h>
    +


    +

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

    +
      // OVERRIDE_BOOST_TEST_INCLUDED_WARNING
    +

    in the same file with the boost test include.

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


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


    +

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

    +

    Requires: GetForceIncludeDefinitions CopyResourcesToBuildTree

    +

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

    +

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

    + +
  • +
  • + BundleOSGPlugins: Provide access to the OpenSceneGraph runtime files for bundling in
    +

    an installation or package.

    +

    Sets these variables:

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


    +

    Creates this function:

    +
      - install_osg_plugins( {varNameForOutputFilenames} )
    +


    +

    Requires these CMake modules:

    +
      no additional modules required
    +


    +

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

    +

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

    + +
  • +
  • + BundleOSGRuntime: Include the OpenSceneGraph runtime files in an installation or built package.
    +


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


    +

    Requires these CMake modules:

    +
      no additional modules required
    +


    +

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

    +

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

    + +
  • +
  • + BundleVRJ22Runtime: Include the VR Juggler runtime files in an installation or built package.
    +


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


    +

    Requires these CMake modules:

    +
      FindVRJuggler22 and its dependencies
    +


    +

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

    +

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

    + +
  • +
  • + BundleVRJ30Runtime: Include the VR Juggler runtime files in an installation or built package.
    +


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


    +

    Requires these CMake modules:

    +
      FindVRJuggler22 and its dependencies
    +


    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

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

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

    +

    MACOSX_HID_UINT32T, set according to the results of our test.

    +

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

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


    +

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

    +

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

    + +
  • +
  • + CheckVersion: Utility function for Find modules considering multiple possible versions
    +


    +

    Requires these CMake modules:

    +
      no additional modules required
    +


    +

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

    +

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

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


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


    +

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

    +

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

    +

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

    + +
  • +
  • + CleanLibraryList: A smarter replacement for list(REMOVE_DUPLICATES) for library lists
    +


    +

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

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


    +

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

    +

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

    +

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

    +

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

    + +
  • +
  • + CopyResourcesToBuildTree: Copy the resources your app needs to the build tree.
    +


    +
      copy_resources_to_build_tree(<target_name>)
    +


    +

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

    +

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

    +

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

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


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


    +

    Requires these CMake modules:

    +
      Findcppcheck
    +


    +

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

    +

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

    +

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

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


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


    +

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

    +

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

    +
      CustomInitialCache.${DASHBOARDSCRIPT_SCRIPT_NAME}
    +

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

    +

    Requires these CMake modules:

    +
      GetCompilerInfoString
    +


    +

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

    +

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

    +

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

    + +
  • +
  • + CreateImportedTarget: A smarter replacement for list(REMOVE_DUPLICATES) for library lists
    +


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


    +

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

    +

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

    +

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

    +

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

    + +
  • +
  • + CreateLaunchers: Create launchers to set working directory, env. vars, etc.
    +


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


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


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


    +

    Requires these CMake modules:

    +
      ListFilter
    ProgramFilesGlob
    CleanDirectoryList
    +


    +

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

    +

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

    +

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

    + +
  • +
  • + DoxygenTargets: Run doxygen on source files as a custom target
    +


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


    +

    Requires these CMake modules:

    +
      FindDoxygen
    +


    +

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

    +

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

    +

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

    + +
  • +
  • + EnableExtraCompilerWarnings: Add flags to compile with extra warnings
    +


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


    +


    +

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

    +

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

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


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


    +


    +

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

    +

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

    + +
  • +
  • + FileCopyTargets: Add a target for files that just need to be copied
    +


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


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


    +


    +

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

    +

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

    +

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

    + +
  • +
  • + FindALUT: try to find the OpenAL ALUT library
    +


    +

    Users may optionally supply:

    +
      ALUT_ROOT_DIR - a prefix to start searching.
    +


    +

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

    +
      ALUT_INCLUDE_DIR
    ALUT_LIBRARY
    +


    +

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

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


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindBluez: try to find Bluez
    +


    +

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

    +
      BLUEZ_INCLUDE_DIR
    BLUEZ_LIBRARY
    +


    +

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

    +
      BLUEZ_FOUND
    BLUEZ_INCLUDE_DIRS
    BLUEZ_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindCPPDOM: try to find CPPDOM library
    +

    Optionally uses Flagpoll and FindFlagpoll.cmake

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


    +

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

    +
      CPPDOM_ROOT_DIR - A directory prefix to search
    (a path that contains include/ as a subdirectory)
    CPPDOM_ADDITIONAL_VERSIONS - Additional versions (outside of 0.7.8 to 1.0.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-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

    +

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

    + +
  • +
  • + FindDCubed: try to find DCUBED library
    +


    +
      DCUBED_LIBRARY_DIR, library search path
    DCUBED_INCLUDE_DIR, include search path
    DCUBED_{component}_LIBRARY, the library to link against
    DCUBED_ENVIRONMENT
    DCUBED_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

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

    +

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

    + +
  • +
  • + FindFlagpoll: try to find Flagpoll application, and offer package-finding services
    +
      FLAGPOLL, the executable: if not defined, do not try to use Flagpoll.
    +


    +

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

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


    +

    VR Juggler requires this package, so this Find script takes that into account when determining where to search for the desired files. The VJ_BASE_DIR environment variable is searched (preferentially) when searching for this package, so most sane VR Juggler build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +
      flagpoll_get_include_dirs
    flagpoll_get_library_dirs
    flagpoll_get_library_names
    flagpoll_get_extra_libs
    +

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

    +

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

    +
       	  HINTS  ${vpr_FLAGPOLL_INCLUDE_DIRS})
    +


    +

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

    +

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

    + +
  • +
  • + FindGDB: Try to find GDB
    +


    +

    Once done, this will define:

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


    +

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

    +
      GDB_ROOT_DIR - A directory prefix to search
    +


    +

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

    +

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

    + +
  • +
  • + FindGHOST: try to find Sensable GHOST library and include files
    +
      GHOST_INCLUDE_DIRS, where to find GL/glut.h, etc.
    GHOST_LIBRARIES, the libraries to link against
    GHOST_FOUND, If false, do not try to use GLUT.
    GHOST_RUNTIME_LIBRARY_DIRS, path to DLL on Windows for runtime use.
    +


    +

    Requires these CMake modules:

    +
      no additional modules required
    +


    +

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

    +

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

    + +
  • +
  • + FindGLUI: Try to find GLUI (GL User Interface)
    +

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

    +

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

    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

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

    +

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

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


    +

    Also defined, but not for general use are:

    +
      GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
    GLUT_glut_LIBRARY = the full path to the glut library.
    + +
  • +
  • + FindGMTL: Try to find GMTL
    +

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

    +
      GMTL_FOUND - system has GMTL
    GMTL_INCLUDE_DIR - the GMTL include directory
    +


    +

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

    +
      GMTL_ROOT_DIR - A directory prefix to search
    (a path that contains include/ as a subdirectory)
    GMTL_ADDITIONAL_VERSIONS - Additional versions (outside of 0.5.1 to 0.6.2)
    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-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

    +

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

    + +
  • +
  • + FindGPM: try to find GPM library
    +


    +

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

    +
      GPM_INCLUDE_DIR
    GPM_LIBRARY
    +


    +

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

    +
      GPM_FOUND
    GPM_INCLUDE_DIRS
    GPM_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindGadgeteer12: try to find Gadgeteer 1.2 library
    +

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

    +

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

    +
      GADGETEER12_LIBRARY_DIR, library search path
    GADGETEER12_INCLUDE_DIR, include search path
    GADGETEER12_LIBRARY, the library to link against
    GADGETEER12_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +

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

    + +
  • +
  • + FindGadgeteer20: try to find Gadgeteer 2.0 library
    +

    Requires JCCL 1.4 and VPR 2.2 (thus FindJCCL14.cmake and FindVPR22.cmake) Requires X11 if not on Mac or Windows. Optionally uses Flagpoll and FindFlagpoll.cmake

    +

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

    +
      GADGETEER20_LIBRARY_DIR, library search path
    GADGETEER20_INCLUDE_DIR, include search path
    GADGETEER20_LIBRARY, the library to link against
    GADGETEER20_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    + +
  • +
  • + FindGlove5DT: try to find Glove5DT libraries
    +


    +

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

    +
      GLOVE5DT_INCLUDE_DIR
    GLOVE5DT_LIBRARY
    GLOVE5DT_LIBRARY_RELEASE
    GLOVE5DT_LIBRARY_DEBUG
    GLOVE5DT_RUNTIME_LIBRARY_RELEASE
    GLOVE5DT_RUNTIME_LIBRARY_DEBUG
    +


    +

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

    +
      GLOVE5DT_FOUND
    GLOVE5DT_INCLUDE_DIRS
    GLOVE5DT_LIBRARIES
    GLOVE5DT_RUNTIME_LIBRARY_DIRS
    +


    +

    Requires these CMake modules:

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


    +

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

    +

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

    + +
  • +
  • + FindHIDAPI: try to find HIDAPI library
    +

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

    +

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

    +
      HIDAPI_INCLUDE_DIR
    HIDAPI_LIBRARY
    +


    +

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

    +
      HIDAPI_FOUND
    HIDAPI_INCLUDE_DIRS
    HIDAPI_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindJCCL12: try to find JCCL 1.2 library
    +

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

    +

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

    +
      JCCL12_LIBRARY_DIR, library search path
    JCCL12_INCLUDE_DIR, include search path
    JCCL12_LIBRARY, the library to link against
    JCCL12_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +

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

    + +
  • +
  • + FindJCCL14: try to find JCCL 1.4 library
    +

    Requires VPR 2.2 (thus FindVPR22.cmake) Optionally uses Flagpoll and FindFlagpoll.cmake

    +

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

    +
      JCCL14_LIBRARY_DIR, library search path
    JCCL14_INCLUDE_DIR, include search path
    JCCL14_LIBRARY, the library to link against
    JCCL14_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    + +
  • +
  • + FindJtTk: try to find JTTK library
    +


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


    +

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

    +
      jttk_stamp_binary(<targetname>)
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

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

    +

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

    + +
  • +
  • + FindLAPACKLibs: Try to find LAPACK and BLAS libraries
    +

    Once done, this will define

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


    +

    Users may wish to set:

    +
      LAPACKLIBS_ROOT_DIR, location to start searching for LAPACK libraries
    +


    +

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

    +

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

    + +
  • +
  • + FindLibusb1: try to find libusb-1 library
    +


    +

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

    +
      LIBUSB1_LIBRARY
    LIBUSB1_INCLUDE_DIR
    +


    +

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

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


    +

    Requires these CMake modules:

    +
      ProgramFilesGlob
    FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindLuabind: try to find Luabind
    +


    +

    Users may optionally supply:

    +
      LUABIND_ROOT_DIR - a prefix to start searching
    +


    +

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

    +
      LUABIND_FOUND
    LUABIND_DEFINITIONS
    LUABIND_INCLUDE_DIRS
    LUABIND_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindLyX: Try to find LyX, and define some custom commands to export from LyX
    +


    +

    Once done, this will define:

    +
      LYX_FOUND - system has LyX
    LYX_COMMAND - the command to run
    +


    +

    and the following new functions:

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


    +

    These shortcut functions all have the same syntax:

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


    +

    Available shortcuts:

    +
      lyx_export_to_docbook_xml
    lyx_export_to_docbook
    lyx_export_to_pdf
    lyx_export_to_pdf_via_pdflatex
    lyx_export_to_pdf_via_dvi
    +


    +

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

    +
      LYX_ROOT_DIR - A directory prefix to search
    +


    +

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

    +

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

    + +
  • +
  • + FindMacHID: try to find Mac HID frameworks
    +


    +

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

    +
      MACHID_CoreFoundation_LIBRARY
    MACHID_CoreFoundation_INCLUDE_DIR
    MACHID_IOKit_LIBRARY
    MACHID_IOKit_INCLUDE_DIR
    MACOSX_HID_UINT32T (from CheckMacHIDAPI)
    +


    +

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

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


    +

    Requires these CMake modules:

    +
      CheckMacHIDAPI
    FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + 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_HDU_INCLUDE_DIR
    HDAPI_HDU_LIBRARY
    HDAPI_HDU_LIBRARY_RELEASE
    HDAPI_HDU_LIBRARY_DEBUG
    HLAPI_INCLUDE_DIR
    HLAPI_LIBRARY
    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-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

    +

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

    + +
  • +
  • + FindParasolid: try to find PARASOLID library
    +

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

    +
      find_package(JtTk)
    +

    first, to avoid runtime PK_* errors!

    +
      PARASOLID_LIBRARY_DIR, library search path
    PARASOLID_INCLUDE_DIR, include search path
    PARASOLID_{component}_LIBRARY, the library to link against
    PARASOLID_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

    Requires these CMake modules:

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


    +

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

    +

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

    + +
  • +
  • + FindSonix12: try to find Sonix 1.2 library
    +

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

    +

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

    +
      SONIX12_LIBRARY_DIR, library search path
    SONIX12_INCLUDE_DIR, include search path
    SONIX12_LIBRARY, the library to link against
    SONIX12_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +

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

    + +
  • +
  • + FindSonix14: try to find Sonix 1.4 library
    +

    Requires VPR 2.2 and GMTL (thus FindVPR22.cmake and FindGMTL.cmake) Optionally uses Flagpoll and FindFlagpoll.cmake

    +

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

    +
      SONIX14_LIBRARY_DIR, library search path
    SONIX14_INCLUDE_DIR, include search path
    SONIX14_LIBRARY, the library to link against
    SONIX14_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    + +
  • +
  • + FindTR1: Try to find C++ TR1 headers and libraries
    +

    Once done, this will define

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


    +

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

    +

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

    +

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

    + +
  • +
  • + FindTooN: try to find TooN headers
    +


    +

    Users may optionally supply:

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


    +

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

    +
      TOON_INCLUDE_DIR
    +


    +

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

    +
      TOON_FOUND
    TOON_INCLUDE_DIRS
    TOON_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindTooNtag: try to find tag algorithm library (built on TooN)
    +


    +

    Users may optionally supply:

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


    +

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

    +
      TAG_INCLUDE_DIR
    TAG_LIBRARY
    +


    +

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

    +
      TOONTAG_FOUND
    TOONTAG_INCLUDE_DIRS
    TOONTAG_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindTweek12: try to find Tweek 1.2 library
    +

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

    +

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

    +
      TWEEK12_LIBRARY_DIR, library search path
    TWEEK12_INCLUDE_DIR, include search path
    TWEEK12_LIBRARY, the library to link against
    TWEEK12_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +

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

    + +
  • +
  • + FindTweek14: try to find Tweek 1.4 library
    +

    Requires VPR 2.2 (thus FindVPR22.cmake) Optionally uses Flagpoll and FindFlagpoll.cmake

    +

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

    +
      TWEEK14_LIBRARY_DIR, library search path
    TWEEK14_INCLUDE_DIR, include search path
    TWEEK14_LIBRARY, the library to link against
    TWEEK14_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    + +
  • +
  • + FindVPR20: try to find VPR 2.0 library
    +

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

    +

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

    +
      VPR20_LIBRARY_DIR, library search path
    VPR20_INCLUDE_DIR, include search path
    VPR20_LIBRARY, the library to link against
    VPR20_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +

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

    + +
  • +
  • + FindVPR22: try to find VPR 2.2 library
    +

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

    +

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

    +
      VPR22_LIBRARY_DIR, library search path
    VPR22_INCLUDE_DIR, include search path
    VPR22_LIBRARY, the library to link against
    VPR22_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    + +
  • +
  • + FindVPS: try to find VPS library
    +


    +
      VPS_LIBRARY_DIR, library search path
    VPS_INCLUDE_DIR, include search path
    VPS_{component}_LIBRARY, the library to link against
    VPS_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

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

    +

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

    + +
  • +
  • + FindVRJ22: try to find VR Juggler 2.2 core library
    +

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

    +

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

    +
      VRJ22_LIBRARY_DIR, library search path
    VRJ22_INCLUDE_DIR, include search path
    VRJ22_LIBRARY, the library to link against
    VRJ22_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +

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

    + +
  • +
  • + FindVRJ30: try to find VR Juggler 3.0 core library
    +

    Requires JCCL 1.4, Gadgeteer 1.4, VPR 2.2, and Sonix 1.4 (thus FindJCCL14.cmake, FindGadgeteer20.cmake, FindVPR22.cmake, and FindSonix14.cmake) Requires X11 if not on Mac or Windows. Optionally uses Flagpoll and FindFlagpoll.cmake

    +

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

    +
      VRJ30_LIBRARY_DIR, library search path
    VRJ30_INCLUDE_DIR, include search path
    VRJ30_LIBRARY, the library to link against
    VRJ30_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    +

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

    + +
  • +
  • + FindVRJOGL22: try to find VRJuggler 2.2 OpenGL library
    +

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

    +

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

    +
      VRJOGL22_LIBRARY_DIR, library search path
    VRJOGL22_INCLUDE_DIRS, include search path for dependencies
    VRJOGL22_LIBRARY, the library to link against
    VRJOGL22_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +

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

    + +
  • +
  • + FindVRJOGL30: try to find VRJuggler 3.0 OpenGL library
    +

    Requires VRJ core 3.0 (thus FindVRJ30.cmake) Requires OpenGL. Optionally uses Flagpoll and FindFlagpoll.cmake

    +

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

    +
      VRJOGL30_LIBRARY_DIR, library search path
    VRJOGL30_INCLUDE_DIRS, include search path for dependencies
    VRJOGL30_LIBRARY, the library to link against
    VRJOGL30_FOUND, If false, do not try to use this library.
    +


    +

    Plural versions refer to this library and its dependencies, and are recommended to be used instead, unless you have a good reason.

    +

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

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


    +

    This script will use Flagpoll, if found, to provide hints to the location of this library, but does not use the compiler flags returned by Flagpoll directly.

    +

    The VJ_BASE_DIR environment variable is also searched (preferentially) when searching for this component, so most sane build environments should "just work." Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    + +
  • +
  • + FindVRJuggler: try to find VR Juggler-related packages (combined finder)
    +
      VRJUGGLER_INCLUDE_DIRS, include search paths
    VRJUGGLER_LIBRARIES, the libraries to link against
    VRJUGGLER_ENVIRONMENT
    VRJUGGLER_RUNTIME_LIBRARY_DIRS
    VRJUGGLER_CXX_FLAGS
    VRJUGGLER_DEFINITIONS
    VRJUGGLER_FOUND, If false, do not try to use VR Juggler.
    +


    +

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

    +
      VRJOGL
    VRJ
    Gadgeteer
    JCCL
    VPR
    Sonix
    Tweek
    +


    +

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

    +
      CPPDOM
    GMTL
    +


    +

    Optionally uses Flagpoll (and FindFlagpoll.cmake)

    +

    Notes on components:

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


    +

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

    +

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

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


    +

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

    +

    IMPORTANT: Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    +

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

    + +
  • +
  • + FindVRJuggler22: try to find VRJuggler 2.2-related packages (main finder)
    +
      VRJUGGLER22_LIBRARY_DIRS, library search paths
    VRJUGGLER22_INCLUDE_DIRS, include search paths
    VRJUGGLER22_LIBRARIES, the libraries to link against
    VRJUGGLER22_ENVIRONMENT
    VRJUGGLER22_RUNTIME_LIBRARY_DIRS
    VRJUGGLER22_CXX_FLAGS
    VRJUGGLER22_DEFINITIONS
    VRJUGGLER22_FOUND, If false, do not try to use VR Juggler 2.2.
    +


    +

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

    +
      VRJOGL22
    VRJ22
    Gadgeteer12
    JCCL12
    VPR20
    Sonix12
    Tweek12
    +


    +

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

    +
      CPPDOM
    GMTL
    +


    +

    Optionally uses Flagpoll (and FindFlagpoll.cmake)

    +

    Notes on components:

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


    +

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

    +

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

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


    +

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

    +

    IMPORTANT: Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

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

    +

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

    + +
  • +
  • + FindVRJuggler30: try to find VRJuggler 3.0-related packages (main finder)
    +
      VRJUGGLER30_LIBRARY_DIRS, library search paths
    VRJUGGLER30_INCLUDE_DIRS, include search paths
    VRJUGGLER30_LIBRARIES, the libraries to link against
    VRJUGGLER30_ENVIRONMENT
    VRJUGGLER30_RUNTIME_LIBRARY_DIRS
    VRJUGGLER30_CXX_FLAGS
    VRJUGGLER30_DEFINITIONS
    VRJUGGLER30_FOUND, If false, do not try to use VR Juggler 3.0.
    +


    +

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

    +
      VRJOGL30
    VRJ30
    Gadgeteer20
    JCCL14
    VPR22
    Sonix14
    Tweek14
    +


    +

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

    +
      CPPDOM
    GMTL
    +


    +

    Optionally uses Flagpoll (and FindFlagpoll.cmake)

    +

    Notes on components:

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


    +

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

    +

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

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


    +

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

    +

    IMPORTANT: Note that you need to manually re-run CMake if you change this environment variable, because it cannot auto-detect this change and trigger an automatic re-run.

    +

    Original Author: 2009-2011 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com> and Ryan Pavlik

    +

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

    + +
  • +
  • + FindVRPN: try to find VRPN library
    +


    +

    Cache Variables:

    +
      VRPN_LIBRARY
    VRPN_SERVER_LIBRARY
    VRPN_INCLUDE_DIR
    +


    +

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

    +
      VRPN_FOUND
    VRPN_SERVER_LIBRARIES
    VRPN_LIBRARIES
    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-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC

    +

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

    + +
  • +
  • + FindVirtuoseAPI: try to find Haption VirtuoseAPI library and include files
    +


    +
      VIRTUOSEAPI_INCLUDE_DIRS, where to find headers
    VIRTUOSEAPI_LIBRARIES, the libraries to link against
    VIRTUOSEAPI_FOUND, If false, do not try to use this library
    VIRTUOSEAPI_RUNTIME_LIBRARY_DIRS, path to DLL/SO for runtime use.
    VIRTUOSEAPI_RUNTIME_LIBRARIES, runtime libraries you might want to install
    + +
  • +
  • + FindVirtuoseVPP: try to find Haption VirtuoseAPI C++ wrapper include files
    +


    +

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

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


    +

    Users may optionally supply:

    +
      WIISCAAT_ROOT_DIR - a prefix to start searching for the headers.
    +


    +

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

    +
      WIISCAAT_INCLUDE_DIR
    WIISCAAT_LIBRARY
    +


    +

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

    +
      WIISCAAT_FOUND
    WIISCAAT_INCLUDE_DIRS
    WIISCAAT_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindWiiUse: try to find WiiUse library
    +


    +

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

    +
      WIIUSE_INCLUDE_DIR
    WIIUSE_LIBRARY
    +


    +

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

    +
      WIIUSE_FOUND
    WIIUSE_INCLUDE_DIRS
    WIIUSE_LIBRARIES
    WIIUSE_RUNTIME_LIBRARIES - aka the dll for installing
    WIIUSE_RUNTIME_LIBRARY_DIRS
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + FindWinHID: try to find Windows HID support, part of the WDK/DDK
    +


    +

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

    +
      WINHID_INCLUDE_DIR
    WINHID_CRT_INCLUDE_DIR
    WINHID_LIBRARY
    +


    +

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

    +
      WINHID_FOUND
    WINHID_INCLUDE_DIRS
    WINHID_LIBRARIES
    +


    +

    Requires these CMake modules:

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


    +

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

    +

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

    + +
  • +
  • + Findargp: try to find the argp library/component of glibc
    +


    +

    Users may optionally supply:

    +
      ARGP_ROOT_DIR - a prefix to start searching.
    +


    +

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

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


    +

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

    +
      ARGP_FOUND
    ARGP_INCLUDE_DIRS
    ARGP_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + Findcppcheck: try to find cppcheck tool
    +


    +

    Cache Variables:

    +
      CPPCHECK_EXECUTABLE
    +


    +

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

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


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

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


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


    +

    Functions:

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


    +

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

    +

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

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


    +

    Once done, this will define:

    +
      DB2PDF_FOUND - system has LyX
    DB2PDF_COMMAND - the command to run
    +


    +

    and the following function:

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


    +

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

    +
      DB2PDF_ROOT_DIR - A directory prefix to search
    +


    +

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

    +

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

    + +
  • +
  • + FindosgLua: try to find osgLua
    +


    +

    Users may optionally supply:

    +
      OSGLUA_ROOT_DIR - a prefix to start searching
    +


    +

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

    +
      OSGLUA_FOUND
    OSGLUA_INCLUDE_DIRS
    OSGLUA_LIBRARIES
    +


    +

    Requires these CMake modules:

    +
      FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
    +


    +

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

    +

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

    + +
  • +
  • + Findquatlib: Find quatlib
    +

    Find the quatlib headers and libraries.

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


    +

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

    +

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

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


    +
      CPU_INTEL
    CPU_EXE_64BIT
    CPU_EXE_32BIT
    CPU_HAS_SSE
    CPU_HAS_SSE2
    CPU_HAS_SSE3
    CPU_HAS_SSSE3
    CPU_HAS_SSE4_1
    CPU_HAS_SSE4_2
    +


    +

    Requires these CMake modules:

    +
      no additional modules required
    +


    +

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

    +

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

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


    +
      get_compiler_info_string(<resultvar>)
    +


    +

    and some helper functions:

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


    +

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

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


    +

    Requires these CMake modules:

    +
      no additional modules required
    +


    +

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

    +

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

    +

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

    +

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

    +

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

    +

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

    +

    * Redistributions of source code must retain the above copyright

    +
       notice, this list of conditions and the following disclaimer.
    +


    +

    * Redistributions in binary form must reproduce the above copyright

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


    +

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

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


    +

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

    + +
  • +
  • + GetDirectoryList: Returns a list of the parent directories of all files passed
    +


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


    +

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

    +

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

    +

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

    + +
  • +
  • + GetFileList: Returns a list of the file names of all files passed
    +


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


    +

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

    +

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

    +

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

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


    +

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

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


    +

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

    +

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

    + +
  • +
  • + GetGitRevisionDescription: Returns a version string from Git
    +


    +

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

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


    +

    Returns the refspec and sha hash of the current head revision

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


    +

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

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


    +

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

    +

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

    +

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

    +

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

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


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


    +

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

    +

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

    +

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

    + +
  • +
  • + Licensing: Building a licensing description file
    +


    +

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

    +

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

    + +
  • +
  • + ListCombinations: Combine lists of prefixes and suffixes in all combinations
    +


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


    +

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

    +

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

    + +
  • +
  • + ListFilter: List filtering functions
    +


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


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


    +

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

    +

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

    + +
  • +
  • + LuaTargets: Copy/parse lua source files as a custom target
    +


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


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


    +

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

    +
      LUA_TARGET_LUAC_EXECUTABLE
    +


    +

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

    +

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

    +

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

    + +
  • +
  • + MSVCMultipleProcessCompile: Compile with multiple processes on MSVC
    +


    +
      include(MSVCMultipleProcessCompile)
    +


    +

    Requires these CMake modules:

    +
      ListCombinations.cmake
    +


    +

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

    +

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

    + +
  • +
  • + MSVCStaticRuntime: Modify compile flags to use the static runtimes of MSVC
    +


    +
      include(MSVCStaticRuntime)
    +


    +

    Requires these CMake modules:

    +
      ListCombinations.cmake
    +


    +

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

    +

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

    + +
  • +
  • + MSVCVerboseLinking: Add appropriate linker flags to show link details on Visual Studio
    +


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


    +

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

    +

    Requires these CMake modules:

    +
      - none
    +


    +

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

    +

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

    + +
  • +
  • + MakeVRJugglerAppBundle: A script to turn a VR Juggler app target into a Mac OS X bundle
    +


    +
      add_vrjuggler_bundle_sources(SOURCES_VAR_NAME) - run before add_executable
    finish_vrjuggler_bundle(TARGET_NAME LIB_DIRS) - run after add_executable
    +


    +

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

    +

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

    + +
  • +
  • + MakeVRJugglerAppBundle30: A script to turn a VR Juggler app target into a Mac OS X bundle
    +


    +
      add_vrjuggler_bundle_sources(SOURCES_VAR_NAME) - run before add_executable
    finish_vrjuggler_bundle(TARGET_NAME LIB_DIRS) - run after add_executable
    +


    +

    Original Author: 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net> http://academic.cleardefinition.com Iowa State University HCI Graduate Program/VRAC Updated for VR Juggler 3.0 by: Brandon Newendorp <brandon@newendorp.com>

    + +
  • +
  • + OptionRequires: Add an option that depends on one or more variables being true.
    +


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


    +

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

    +

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

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


    +


    +

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

    +

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

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


    +

    Requires these CMake modules:

    +
      CleanDirectoryList
    PrefixListGlob
    +


    +

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

    +

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

    + +
  • +
  • + ResetConfigurations: Re-set the available configurations to just RelWithDebInfo and Release
    +


    +

    Requires these CMake modules:

    +
      no additional modules required
    +


    +

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

    +

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

    + +
  • +
  • + SearchProgramFilesForOpenSceneGraph: Use some smarts to try to find OpenSceneGraph in the Program Files dirs
    +


    +

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

    +

    Usage:

    +
      include(SearchProgramFilesForOpenSceneGraph OPTIONAL)
    +


    +

    Requires these CMake modules:

    +
      ListFilter
    ProgramFilesGlob
    +


    +

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

    +

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

    + +
  • +
  • + SetDefaultBuildType: Set a developer-chosen default build type
    +


    +

    Requires these CMake modules:

    +
      no additional modules required
    +


    +

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

    +

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

    + +
  • +
  • + SplitLibraryList: Given a list of libraries with OPTIMIZED, DEBUG, etc.
    +


    +
      split_library_list(_generalvar _releasevar _debugvar)
    +


    +

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

    +

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

    +

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

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


    +

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

    +
      @version xxx
    +

    or

    +
      \version xxx
    +


    +

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

    +

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

    +
      ${CPACK_PACKAGE_VERSION}
    +

    Remember, reduced duplication of information means reduced errors!

    +

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

    +

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

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


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


    +

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

    +

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

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

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

    +

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

    +

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

    +

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

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


    +

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

    +

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

    +

    Requires these CMake modules:

    +
      CleanDirectoryList
    +


    +

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

    +

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

    + +
  • +
  • + UseTR1: Use settings to enable access to C++ TR1
    +


    +

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

    +

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

    +

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

    + +
  • +
  • + WarningDev: Print a developer warning, using author_warning if we have cmake 2.8
    +


    +
      warning_dev("your desired message")
    +


    +

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

    +

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

    + +
  • +
+

See Also

+ +

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

+ + +

Summary of helpful links:

+
  Home: http://www.cmake.org
Docs: http://www.cmake.org/HTML/Documentation.html
Mail: http://www.cmake.org/HTML/MailingLists.html
FAQ: http://www.cmake.org/Wiki/CMake_FAQ
+ + diff --git a/cmake/module-help.txt b/cmake/module-help.txt new file mode 100644 index 0000000..3d755e0 --- /dev/null +++ b/cmake/module-help.txt @@ -0,0 +1,3534 @@ +cmake version 2.8.3 +------------------------------------------------------------------------------ +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 amd 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) + + 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.0.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-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) + + 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) + + 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.6.2) + 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-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) + + 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) + + 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) + + 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_HDU_INCLUDE_DIR + HDAPI_HDU_LIBRARY + HDAPI_HDU_LIBRARY_RELEASE + HDAPI_HDU_LIBRARY_DEBUG + HLAPI_INCLUDE_DIR + HLAPI_LIBRARY + 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-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) + + 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) + + 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 + VRPN_LIBRARIES + 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-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) + + 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) + + 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) + + 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_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) + + MakeVRJugglerAppBundle + A script to turn a VR Juggler app target into a Mac OS X bundle + + + + add_vrjuggler_bundle_sources(SOURCES_VAR_NAME) - run before add_executable + finish_vrjuggler_bundle(TARGET_NAME LIB_DIRS) - run after add_executable + + + + 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) + + MakeVRJugglerAppBundle30 + A script to turn a VR Juggler app target into a Mac OS X bundle + + + + add_vrjuggler_bundle_sources(SOURCES_VAR_NAME) - run before add_executable + finish_vrjuggler_bundle(TARGET_NAME LIB_DIRS) - run after add_executable + + + + 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 + + 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 and Release + + + + 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) + + 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. + +Summary of helpful links: + + Home: http://www.cmake.org + Docs: http://www.cmake.org/HTML/Documentation.html + Mail: http://www.cmake.org/HTML/MailingLists.html + FAQ: http://www.cmake.org/Wiki/CMake_FAQ + + diff --git a/cmake/nested_targets/DCubed/CMakeLists.txt b/cmake/nested_targets/DCubed/CMakeLists.txt new file mode 100644 index 0000000..c25267e --- /dev/null +++ b/cmake/nested_targets/DCubed/CMakeLists.txt @@ -0,0 +1,31 @@ +# - Build the DCubed wrapper libraries as a part of your solution. +# +# 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) + + +include_directories("${DCUBED_CORE_INCLUDE_DIR}/d3e_inc" "${DCUBED_WRAPPER_INCLUDE_DIR}") + +include_directories(${PARASOLID_INCLUDE_DIRS}) +if(MSVC) + add_definitions(/D_CRT_SECURE_NO_DEPRECATE /arch:SSE2 /openmp /D_AFXDLL /DNDEBUG) +endif() +if(WIN32) + add_definitions(/DDCM_NT /DWIN32 /D_WINDOWS) +endif() +add_definitions(/DD3EW_DUMMY_HLM) + +if(DCUBED_WRAPPER_d3ew_scene_LIBRARY STREQUAL "dcubed_wrapper_d3ew_scene_nested_target") + add_subdirectory(d3ew_scene) +endif() + +if(DCUBED_WRAPPER_d3ew_p_LIBRARY STREQUAL "dcubed_wrapper_d3ew_p_nested_target") + add_subdirectory(d3ew_p) +endif() diff --git a/cmake/nested_targets/DCubed/d3ew_p/CMakeLists.txt b/cmake/nested_targets/DCubed/d3ew_p/CMakeLists.txt new file mode 100644 index 0000000..c86c527 --- /dev/null +++ b/cmake/nested_targets/DCubed/d3ew_p/CMakeLists.txt @@ -0,0 +1,41 @@ +# - Build the DCubed wrapper library d3ew_p as a part of your solution. +# +# 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) + + +set(SOURCES) +foreach(filename d3ew_p.rc + p_dll.cpp + p_dll.hxx + p_dump.cpp + p_frustrum.cpp + p_gate.cpp + p_gate.hxx + p_lib.cpp + p_modeller.cpp + p_new.hxx + p_rollmark.cpp + p_utils.cpp + p_utils.hxx + res_defs.hxx) + list(APPEND SOURCES "${DCUBED_WRAPPER_INCLUDE_DIR}/d3ew_p/${filename}") +endforeach() +add_library(dcubed_wrapper_d3ew_p_nested_target + STATIC + EXCLUDE_FROM_ALL + ${SOURCES}) +target_link_libraries(dcubed_wrapper_d3ew_p_nested_target ${DCUBED_LIBRARIES} ${PARASOLID_LIBRARIES} "${DCUBED_WRAPPER_d3ew_scene_LIBRARY}") + +set_property(TARGET + dcubed_wrapper_d3ew_p_nested_target + PROPERTY + PROJECT_LABEL + "DCubed d3ew_p Wrapper Library") diff --git a/cmake/nested_targets/DCubed/d3ew_scene/CMakeLists.txt b/cmake/nested_targets/DCubed/d3ew_scene/CMakeLists.txt new file mode 100644 index 0000000..dcc3997 --- /dev/null +++ b/cmake/nested_targets/DCubed/d3ew_scene/CMakeLists.txt @@ -0,0 +1,69 @@ +# - Build the DCubed wrapper library d3ew_scene as a part of your solution. +# +# 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) + + +set(SOURCES) +foreach(filename ansi.hxx + body.hxx + d3ew_clap_data.cpp + d3ew_clap_data.hxx + d3ew_new.hxx + d3ew_stack.cpp + d3ew_stack.hxx + debload.hxx + edge.cpp + edge.hxx + ehlc_timer.cpp + ehlc_timer.hxx + face.cpp + face.hxx + files.txt + frustum.cpp + frustum.hxx + hldeb.hxx + hljournal.hxx + hlm_cdm_dummies.cpp + hltable.hxx + hltabledef.hxx + journalw.cpp + journalw.hxx + modeller.cpp + modeller.hxx + nowarn.hxx + scene.cpp + scene.hxx + scene_build.cpp + scene_edge.cpp + scene_face.cpp + scene_misc.cpp + scene_node.cpp + scene_node.hxx + scene_table.cpp + scene_table.hxx + secure_c.hxx + segment.cpp + segment.hxx + table_dec.hxx + wrapper.cpp + wrapper_new.cpp) + list(APPEND SOURCES "${DCUBED_WRAPPER_INCLUDE_DIR}/d3ew_scene/${filename}") +endforeach() +add_library(dcubed_wrapper_d3ew_scene_nested_target + STATIC + EXCLUDE_FROM_ALL + ${SOURCES}) + +set_property(TARGET + dcubed_wrapper_d3ew_scene_nested_target + PROPERTY + PROJECT_LABEL + "DCubed d3ew_scene Wrapper Library") diff --git a/cmake/nested_targets/OpenHaptics/CMakeLists.txt b/cmake/nested_targets/OpenHaptics/CMakeLists.txt index ec024ce..82f1571 100644 --- a/cmake/nested_targets/OpenHaptics/CMakeLists.txt +++ b/cmake/nested_targets/OpenHaptics/CMakeLists.txt @@ -5,10 +5,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) include_directories("${HDAPI_HDU_INCLUDE_DIR}" "${HDAPI_INCLUDE_DIR}" diff --git a/cmake/nested_targets/Parasolid/CMakeLists.txt b/cmake/nested_targets/Parasolid/CMakeLists.txt index 5565396..3dfc51e 100644 --- a/cmake/nested_targets/Parasolid/CMakeLists.txt +++ b/cmake/nested_targets/Parasolid/CMakeLists.txt @@ -5,15 +5,11 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) -include_directories("${HDAPI_HDU_INCLUDE_DIR}" - "${HDAPI_INCLUDE_DIR}" - "${HLAPI_HLU_INCLUDE_DIR}" - "${HLAPI_INCLUDE_DIR}") if(PARASOLID_fg_LIBRARY STREQUAL "parasolid_fg_nested_target") get_filename_component(_fgdir "${PARASOLID_FG_C}" PATH) @@ -42,14 +38,6 @@ if(PARASOLID_fg_LIBRARY STREQUAL "parasolid_fg_nested_target") PROJECT_LABEL "Parasolid Foreign Geometry Example Library") - if(MSVC) - # Disable warnings - no sense in warning about a third party's potential bugs. - # set_property(TARGET - # parasolid_fg_nested_target - # PROPERTY - # COMPILE_FLAGS - # "/wd4189 /wd4701") - endif() endif() @@ -82,12 +70,4 @@ if(PARASOLID_frustrum_LIBRARY PROJECT_LABEL "Parasolid Frustrum Example Library") - if(MSVC) - # Disable warnings - no sense in warning about a third party's potential bugs. - # set_property(TARGET - # parasolid_frustrum_nested_target - # PROPERTY - # COMPILE_FLAGS - # "/wd4189 /wd4701") - endif() endif() diff --git a/cmake/nested_targets/cutil/CMakeLists.txt b/cmake/nested_targets/cutil/CMakeLists.txt index b1bf2b1..2f27114 100644 --- a/cmake/nested_targets/cutil/CMakeLists.txt +++ b/cmake/nested_targets/cutil/CMakeLists.txt @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com/ # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) ### @@ -36,6 +36,6 @@ endif() cuda_add_library(cutil ${TYPE} EXCLUDE_FROM_ALL ${SOURCES}) -set(CUTIL_INCLUDE_DIRS "${CUTIL_ROOT_DIR}/inc" PARENT_SCOPE) +set(CUTIL_INCLUDE_DIRS "${CUTIL_ROOT_DIR}/inc" "${CUDA_INCLUDE_DIRS}" PARENT_SCOPE) set(CUTIL_LIBRARIES cutil PARENT_SCOPE) diff --git a/cmake/package-licensing/Boost.cmake b/cmake/package-licensing/Boost.cmake index ececdaf..22e7d86 100644 --- a/cmake/package-licensing/Boost.cmake +++ b/cmake/package-licensing/Boost.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(Boost "Based in part on the work of the Boost project. Boost is distributed under the Boost Software License, Version 1.0. See copy at http://www.boost.org/LICENSE_1_0.txt" diff --git a/cmake/package-licensing/Eigen.cmake b/cmake/package-licensing/Eigen.cmake index 9f09b26..538d787 100644 --- a/cmake/package-licensing/Eigen.cmake +++ b/cmake/package-licensing/Eigen.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(Eigen "Based in part on the work of the Eigen project. Eigen is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.\nEigen is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details." diff --git a/cmake/package-licensing/FLTK.cmake b/cmake/package-licensing/FLTK.cmake index 824da78..21d7168 100644 --- a/cmake/package-licensing/FLTK.cmake +++ b/cmake/package-licensing/FLTK.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(FLTK "Based in part on the work of the FLTK project, available under the terms of the FLTK License (GNU Library General Public LIcense with exceptions). FLTK is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\nFLTK is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details." diff --git a/cmake/package-licensing/Lua.cmake b/cmake/package-licensing/Lua.cmake index fd41984..b15f51b 100644 --- a/cmake/package-licensing/Lua.cmake +++ b/cmake/package-licensing/Lua.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(Lua "Based in part on the work of the Lua project, Copyright 1994-2008 Lua.org, PUC-Rio. Lua is licensed under the terms of the MIT license, reproduced at http://www.lua.org/license.html#5" diff --git a/cmake/package-licensing/LuaBind.cmake b/cmake/package-licensing/LuaBind.cmake index 2ce06fc..342e7a4 100644 --- a/cmake/package-licensing/LuaBind.cmake +++ b/cmake/package-licensing/LuaBind.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(LuaBind "Based in part on the work of the LuaBind project. LuaBind is licensed under the terms of the MIT license, reproduced at http://www.lua.org/license.html#5" diff --git a/cmake/package-licensing/OpenHapticsAcademicEdition.cmake b/cmake/package-licensing/OpenHapticsAcademicEdition.cmake index 527cb7d..5a06521 100644 --- a/cmake/package-licensing/OpenHapticsAcademicEdition.cmake +++ b/cmake/package-licensing/OpenHapticsAcademicEdition.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_proprietary_license(OpenHapticsAE "Based in part on the Sensable OpenHaptics Toolkit Academic Edition as licensed to Iowa State University. NOT FOR REDISTRIBUTION." diff --git a/cmake/package-licensing/OpenSceneGraph.cmake b/cmake/package-licensing/OpenSceneGraph.cmake index eb13065..c4fa29b 100644 --- a/cmake/package-licensing/OpenSceneGraph.cmake +++ b/cmake/package-licensing/OpenSceneGraph.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(OpenSceneGraph "Based in part on the work of the OpenSceneGraph project. OpenSceneGraph is open source and may be redistributed and/or modified under the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or (at your option) any later version. The full license is on the openscenegraph.org website.\n\nOpenSceneGraph is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the OpenSceneGraph Public License for more details." diff --git a/cmake/package-licensing/PhysicalModelingUtils.cmake b/cmake/package-licensing/PhysicalModelingUtils.cmake index 4c59b62..edda38f 100644 --- a/cmake/package-licensing/PhysicalModelingUtils.cmake +++ b/cmake/package-licensing/PhysicalModelingUtils.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(PhysicalModelingUtils "Based in part on the work of the PhysicalModelingUtils project, Copyright 2009-2010 Iowa State University. PhysicalModelingUtils is distributed under the Boost Software License, Version 1.0. See copy at http://www.boost.org/LICENSE_1_0.txt" diff --git a/cmake/package-licensing/Qt-LGPL.cmake b/cmake/package-licensing/Qt-LGPL.cmake index ac64392..db4d78d 100644 --- a/cmake/package-licensing/Qt-LGPL.cmake +++ b/cmake/package-licensing/Qt-LGPL.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(Qt "Based in part on the work of the Qt GUI Toolkit project. The Qt GUI Toolkit is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). You may use, distribute and copy the Qt GUI Toolkit under the terms of GNU Lesser General Public License version 2.1, as published by the Free Software Foundation." diff --git a/cmake/package-licensing/VPS.cmake b/cmake/package-licensing/VPS.cmake index 44a0f73..4a2b1ca 100644 --- a/cmake/package-licensing/VPS.cmake +++ b/cmake/package-licensing/VPS.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_proprietary_license(VPS "Based in part on Voxmap PointShell(TM) software from Boeing, licensed to Iowa State University. NOT FOR REDISTRIBUTION." diff --git a/cmake/package-licensing/VRJuggLua.cmake b/cmake/package-licensing/VRJuggLua.cmake index 6f3823c..bc4301b 100644 --- a/cmake/package-licensing/VRJuggLua.cmake +++ b/cmake/package-licensing/VRJuggLua.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_proprietary_license("VR JuggLua" "Based in part on VR JuggLua, Copyright 2010 Iowa State University. This version of VR JuggLua is unreleased research software - NOT FOR REDISTRIBUTION.") diff --git a/cmake/package-licensing/VRJuggler.cmake b/cmake/package-licensing/VRJuggler.cmake index 8e62231..f015ef3 100644 --- a/cmake/package-licensing/VRJuggler.cmake +++ b/cmake/package-licensing/VRJuggler.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license("VR Juggler" "Based in part on the work of the VR Juggler project. VR Juggler is Copyright 1998-2010 Iowa State University. VR Juggler is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\nVR Juggler is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details." diff --git a/cmake/package-licensing/VirtuoseAPI.cmake b/cmake/package-licensing/VirtuoseAPI.cmake index aee6a02..fe7d5c6 100644 --- a/cmake/package-licensing/VirtuoseAPI.cmake +++ b/cmake/package-licensing/VirtuoseAPI.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_proprietary_license(VirtuoseAPI "Based in part on the Haption VirtuoseAPI." diff --git a/cmake/package-licensing/osgLua.cmake b/cmake/package-licensing/osgLua.cmake index 789f652..04780e1 100644 --- a/cmake/package-licensing/osgLua.cmake +++ b/cmake/package-licensing/osgLua.cmake @@ -3,10 +3,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) add_permissive_license(osgLua "Based in part on the work of the osgLua project. osgLua is open source and may be redistributed and/or modified under the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or (at your option) any later version. The full license is on the openscenegraph.org website.\n\nosgLua is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the OpenSceneGraph Public License for more details." diff --git a/cmake/package/macosx/VRJuggler30BundleInfo.plist.in b/cmake/package/macosx/VRJuggler30BundleInfo.plist.in new file mode 100644 index 0000000..161c823 --- /dev/null +++ b/cmake/package/macosx/VRJuggler30BundleInfo.plist.in @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${MACOSX_BUNDLE_EXECUTABLE_NAME} + CFBundleGetInfoString + ${MACOSX_BUNDLE_INFO_STRING} + CFBundleIconFile + ${MACOSX_BUNDLE_ICON_FILE} + CFBundleIdentifier + ${MACOSX_BUNDLE_GUI_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleLongVersionString + ${MACOSX_BUNDLE_LONG_VERSION_STRING} + CFBundleName + ${MACOSX_BUNDLE_BUNDLE_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + ${MACOSX_BUNDLE_SHORT_VERSION_STRING} + CFBundleSignature + ???? + CFBundleVersion + ${MACOSX_BUNDLE_BUNDLE_VERSION} + CSResourcesFileMapped + + NSHumanReadableCopyright + ${MACOSX_BUNDLE_COPYRIGHT} + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/cmake/package/macosx/fixupbundle.cmake.in b/cmake/package/macosx/fixupbundle.cmake.in index 0e722f2..1936f38 100644 --- a/cmake/package/macosx/fixupbundle.cmake.in +++ b/cmake/package/macosx/fixupbundle.cmake.in @@ -5,10 +5,10 @@ # http://academic.cleardefinition.com # Iowa State University HCI Graduate Program/VRAC # -# Copyright Iowa State University 2009-2010 +# 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 accompanying file ../../LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) function(gp_resolve_item_override _context _item _exepath _dirs _resolved_item _resolved) if(NOT ${_resolved}) diff --git a/cmake/update-help.sh b/cmake/update-help.sh new file mode 100755 index 0000000..0611b75 --- /dev/null +++ b/cmake/update-help.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +src="$(dirname $(readlink -f $0))" +: ${CMAKE:=$(which cmake)} +$CMAKE "-DCMAKE_MODULE_PATH=$src" --help-custom-modules "$src/module-help.html" +$CMAKE "-DCMAKE_MODULE_PATH=$src" --help-custom-modules "$src/module-help.txt" +