| # - Find a VTK installation or build tree. |
| # The following variables are set if VTK is found. If VTK is not |
| # found, VTK_FOUND is set to false. |
| # VTK_FOUND - Set to true when VTK is found. |
| # VTK_USE_FILE - CMake file to use VTK. |
| # VTK_MAJOR_VERSION - The VTK major version number. |
| # VTK_MINOR_VERSION - The VTK minor version number |
| # (odd non-release). |
| # VTK_BUILD_VERSION - The VTK patch level |
| # (meaningless for odd minor). |
| # VTK_INCLUDE_DIRS - Include directories for VTK |
| # VTK_LIBRARY_DIRS - Link directories for VTK libraries |
| # VTK_KITS - List of VTK kits, in CAPS |
| # (COMMON,IO,) etc. |
| # VTK_LANGUAGES - List of wrapped languages, in CAPS |
| # (TCL, PYHTON,) etc. |
| # The following cache entries must be set by the user to locate VTK: |
| # VTK_DIR - The directory containing VTKConfig.cmake. |
| # This is either the root of the build tree, |
| # or the lib/vtk directory. This is the |
| # only cache entry. |
| # The following variables are set for backward compatibility and |
| # should not be used in new code: |
| # USE_VTK_FILE - The full path to the UseVTK.cmake file. |
| # This is provided for backward |
| # compatibility. Use VTK_USE_FILE |
| # instead. |
| # |
| |
| # Construct consitent error messages for use below. |
| SET(VTK_DIR_DESCRIPTION "directory containing VTKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/vtk for an installation. For VTK 4.0, this is the location of UseVTK.cmake. This is either the root of the build tree or PREFIX/include/vtk for an installation.") |
| SET(VTK_DIR_MESSAGE "VTK not found. Set the VTK_DIR cmake cache entry to the ${VTK_DIR_DESCRIPTION}") |
| |
| # Search only if the location is not already known. |
| IF(NOT VTK_DIR) |
| # Get the system search path as a list. |
| IF(UNIX) |
| STRING(REGEX MATCHALL "[^:]+" VTK_DIR_SEARCH1 "$ENV{PATH}") |
| ELSE(UNIX) |
| STRING(REGEX REPLACE "\\\\" "/" VTK_DIR_SEARCH1 "$ENV{PATH}") |
| ENDIF(UNIX) |
| STRING(REGEX REPLACE "/;" ";" VTK_DIR_SEARCH2 "${VTK_DIR_SEARCH1}") |
| |
| # Construct a set of paths relative to the system search path. |
| SET(VTK_DIR_SEARCH "") |
| FOREACH(dir ${VTK_DIR_SEARCH2}) |
| SET(VTK_DIR_SEARCH ${VTK_DIR_SEARCH} |
| ${dir}/../lib/vtk-5.2 |
| ${dir}/../lib/vtk-5.1 |
| ${dir}/../lib/vtk-5.0 |
| ${dir}/../lib/vtk |
| ) |
| ENDFOREACH(dir) |
| |
| # Old scripts may set these directories in the CMakeCache.txt file. |
| # They can tell us where to find VTKConfig.cmake. |
| SET(VTK_DIR_SEARCH_LEGACY "") |
| IF(VTK_BINARY_PATH AND USE_BUILT_VTK) |
| SET(VTK_DIR_SEARCH_LEGACY ${VTK_DIR_SEARCH_LEGACY} ${VTK_BINARY_PATH}) |
| ENDIF(VTK_BINARY_PATH AND USE_BUILT_VTK) |
| IF(VTK_INSTALL_PATH AND USE_INSTALLED_VTK) |
| SET(VTK_DIR_SEARCH_LEGACY ${VTK_DIR_SEARCH_LEGACY} |
| ${VTK_INSTALL_PATH}/lib/vtk) |
| ENDIF(VTK_INSTALL_PATH AND USE_INSTALLED_VTK) |
| |
| # |
| # Look for an installation or build tree. |
| # |
| FIND_PATH(VTK_DIR UseVTK.cmake |
| # Support legacy cache files. |
| ${VTK_DIR_SEARCH_LEGACY} |
| |
| # Look for an environment variable VTK_DIR. |
| $ENV{VTK_DIR} |
| |
| # Look in places relative to the system executable search path. |
| ${VTK_DIR_SEARCH} |
| |
| # Look in standard UNIX install locations. |
| /usr/local/lib/vtk |
| /usr/lib/vtk |
| |
| # Read from the CMakeSetup registry entries. It is likely that |
| # VTK will have been recently built. |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild1] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild2] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild3] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild4] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild5] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild6] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild7] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild8] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild9] |
| [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild10] |
| |
| # Help the user find it if we cannot. |
| DOC "The ${VTK_DIR_DESCRIPTION}" |
| ) |
| ENDIF(NOT VTK_DIR) |
| |
| # If VTK was found, load the configuration file to get the rest of the |
| # settings. |
| IF(VTK_DIR) |
| # Make sure the VTKConfig.cmake file exists in the directory provided. |
| IF(EXISTS ${VTK_DIR}/VTKConfig.cmake) |
| |
| # We found VTK. Load the settings. |
| SET(VTK_FOUND 1) |
| INCLUDE(${VTK_DIR}/VTKConfig.cmake) |
| |
| ELSE(EXISTS ${VTK_DIR}/VTKConfig.cmake) |
| IF(EXISTS ${VTK_DIR}/UseVTK.cmake) |
| # We found VTK 4.0 (UseVTK.cmake exists, but not VTKConfig.cmake). |
| SET(VTK_FOUND 1) |
| # Load settings for VTK 4.0. |
| INCLUDE(UseVTKConfig40) |
| ELSE(EXISTS ${VTK_DIR}/UseVTK.cmake) |
| # We did not find VTK. |
| SET(VTK_FOUND 0) |
| ENDIF(EXISTS ${VTK_DIR}/UseVTK.cmake) |
| ENDIF(EXISTS ${VTK_DIR}/VTKConfig.cmake) |
| ELSE(VTK_DIR) |
| # We did not find VTK. |
| SET(VTK_FOUND 0) |
| ENDIF(VTK_DIR) |
| |
| #----------------------------------------------------------------------------- |
| IF(VTK_FOUND) |
| # Set USE_VTK_FILE for backward-compatability. |
| SET(USE_VTK_FILE ${VTK_USE_FILE}) |
| ELSE(VTK_FOUND) |
| # VTK not found, explain to the user how to specify its location. |
| IF(NOT VTK_FIND_QUIETLY) |
| MESSAGE(FATAL_ERROR ${VTK_DIR_MESSAGE}) |
| ELSE(NOT VTK_FIND_QUIETLY) |
| IF(VTK_FIND_REQUIRED) |
| MESSAGE(FATAL_ERROR ${VTK_DIR_MESSAGE}) |
| ENDIF(VTK_FIND_REQUIRED) |
| ENDIF(NOT VTK_FIND_QUIETLY) |
| ENDIF(VTK_FOUND) |