9db3116226
Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
142 lines
5.7 KiB
CMake
142 lines
5.7 KiB
CMake
# - 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.
|
|
#
|
|
|
|
#=============================================================================
|
|
# Copyright 2001-2009 Kitware, Inc.
|
|
#
|
|
# 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.
|
|
#=============================================================================
|
|
# (To distribute this file outside of CMake, substitute the full
|
|
# License text for the above reference.)
|
|
|
|
# Assume not found.
|
|
set(VTK_FOUND 0)
|
|
|
|
# VTK 4.0 did not provide VTKConfig.cmake.
|
|
if("${VTK_FIND_VERSION}" VERSION_LESS 4.1)
|
|
set(_VTK_40_ALLOW 1)
|
|
if(VTK_FIND_VERSION)
|
|
set(_VTK_40_ONLY 1)
|
|
endif()
|
|
endif()
|
|
|
|
# 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.")
|
|
if(_VTK_40_ALLOW)
|
|
set(VTK_DIR_DESCRIPTION "${VTK_DIR_DESCRIPTION} 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.")
|
|
endif()
|
|
set(VTK_DIR_MESSAGE "VTK not found. Set the VTK_DIR cmake cache entry to the ${VTK_DIR_DESCRIPTION}")
|
|
|
|
# Check whether VTK 4.0 has already been found.
|
|
if(_VTK_40_ALLOW AND VTK_DIR)
|
|
if(EXISTS ${VTK_DIR}/UseVTK.cmake AND NOT EXISTS ${VTK_DIR}/VTKConfig.cmake)
|
|
set(VTK_FOUND 1)
|
|
include(UseVTKConfig40) # No VTKConfig; load VTK 4.0 settings.
|
|
endif()
|
|
endif()
|
|
|
|
# Use the Config mode of the find_package() command to find VTKConfig.
|
|
# If this succeeds (possibly because VTK_DIR is already set), the
|
|
# command will have already loaded VTKConfig.cmake and set VTK_FOUND.
|
|
if(NOT _VTK_40_ONLY AND NOT VTK_FOUND)
|
|
find_package(VTK QUIET NO_MODULE)
|
|
endif()
|
|
|
|
# Special search for VTK 4.0.
|
|
if(_VTK_40_ALLOW AND NOT VTK_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()
|
|
if(VTK_INSTALL_PATH AND USE_INSTALLED_VTK)
|
|
set(VTK_DIR_SEARCH_LEGACY ${VTK_DIR_SEARCH_LEGACY}
|
|
${VTK_INSTALL_PATH}/lib/vtk)
|
|
endif()
|
|
|
|
# Look for UseVTK.cmake in build trees or under <prefix>/include/vtk.
|
|
find_path(VTK_DIR
|
|
NAMES UseVTK.cmake
|
|
PATH_SUFFIXES vtk-4.0 vtk
|
|
HINTS $ENV{VTK_DIR}
|
|
|
|
PATHS
|
|
|
|
# Support legacy cache files.
|
|
${VTK_DIR_SEARCH_LEGACY}
|
|
|
|
# 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}"
|
|
)
|
|
|
|
if(VTK_DIR)
|
|
if(EXISTS ${VTK_DIR}/UseVTK.cmake AND NOT EXISTS ${VTK_DIR}/VTKConfig.cmake)
|
|
set(VTK_FOUND 1)
|
|
include(UseVTKConfig40) # No VTKConfig; load VTK 4.0 settings.
|
|
else()
|
|
# We found the wrong version. Pretend we did not find it.
|
|
set(VTK_DIR "VTK_DIR-NOTFOUND" CACHE PATH "The ${VTK_DIR_DESCRIPTION}" FORCE)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
#-----------------------------------------------------------------------------
|
|
if(VTK_FOUND)
|
|
# Set USE_VTK_FILE for backward-compatability.
|
|
set(USE_VTK_FILE ${VTK_USE_FILE})
|
|
else()
|
|
# VTK not found, explain to the user how to specify its location.
|
|
if(VTK_FIND_REQUIRED)
|
|
message(FATAL_ERROR ${VTK_DIR_MESSAGE})
|
|
else()
|
|
if(NOT VTK_FIND_QUIETLY)
|
|
message(STATUS ${VTK_DIR_MESSAGE})
|
|
endif()
|
|
endif()
|
|
endif()
|