Browse Source

Merge topic 'FindVTK-drop-4.0-support'

117e7e11 FindVTK: Drop support for finding VTK 4.0
Brad King 11 years ago
parent
commit
31ec558be1
2 changed files with 17 additions and 101 deletions
  1. 6 0
      Help/release/dev/FindVTK.rst
  2. 11 101
      Modules/FindVTK.cmake

+ 6 - 0
Help/release/dev/FindVTK.rst

@@ -0,0 +1,6 @@
+FindVTK
+-------
+
+* The :module:`FindVTK` module dropped support for finding VTK 4.0.
+  It is now a thin-wrapper around ``find_package(VTK ... NO_MODULE)``.
+  This produces much clearer error messages when VTK is not found.

+ 11 - 101
Modules/FindVTK.cmake

@@ -10,18 +10,6 @@
 # ::
 #
 #   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:
 #
@@ -43,7 +31,7 @@
 #                  instead.
 
 #=============================================================================
-# Copyright 2001-2009 Kitware, Inc.
+# Copyright 2001-2014 Kitware, Inc.
 #
 # Distributed under the OSI-approved BSD License (the "License");
 # see accompanying file Copyright.txt for details.
@@ -55,102 +43,24 @@
 # (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 consistent 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(${CMAKE_CURRENT_LIST_DIR}/UseVTKConfig40.cmake) # 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)
+if(NOT VTK_FOUND)
+  set(_VTK_REQUIRED "")
+  if(VTK_FIND_REQUIRED)
+    set(_VTK_REQUIRED REQUIRED)
   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(${CMAKE_CURRENT_LIST_DIR}/UseVTKConfig40.cmake) # 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()
+  set(_VTK_QUIET "")
+  if(VTK_FIND_QUIETLY)
+    set(_VTK_QUIET QUIET)
   endif()
+  find_package(VTK ${_VTK_REQUIRED} ${_VTK_QUIET} NO_MODULE)
+  unset(_VTK_REQUIRED)
+  unset(_VTK_QUIET)
 endif()
 
-#-----------------------------------------------------------------------------
 if(VTK_FOUND)
   # Set USE_VTK_FILE for backward-compatibility.
   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()