Merge topic 'FindITK-use-find_package'
38b0a84
Modernize FindITK module (#11494)
This commit is contained in:
commit
bc43385d23
|
@ -21,7 +21,7 @@
|
||||||
# instead.
|
# instead.
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2001-2009 Kitware, Inc.
|
# Copyright 2001-2010 Kitware, Inc.
|
||||||
#
|
#
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
# see accompanying file Copyright.txt for details.
|
# see accompanying file Copyright.txt for details.
|
||||||
|
@ -33,67 +33,23 @@
|
||||||
# (To distribute this file outside of CMake, substitute the full
|
# (To distribute this file outside of CMake, substitute the full
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
SET(ITK_DIR_STRING "directory containing ITKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/InsightToolkit for an installation.")
|
# Use the Config mode of the find_package() command to find ITKConfig.
|
||||||
|
# If this succeeds (possibly because ITK_DIR is already set), the
|
||||||
|
# command will have already loaded ITKConfig.cmake and set ITK_FOUND.
|
||||||
|
IF(NOT ITK_FOUND)
|
||||||
|
FIND_PACKAGE(ITK QUIET NO_MODULE
|
||||||
|
NAMES ITK InsightToolkit
|
||||||
|
CONFIGS ITKConfig.cmake
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# Search only if the location is not already known.
|
SET(ITK_DIR_MESSAGE "Please set ITK_DIR to the directory containing ITKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/InsightToolkit for an installation.")
|
||||||
IF(NOT ITK_DIR)
|
|
||||||
# Get the system search path as a list.
|
|
||||||
IF(UNIX)
|
|
||||||
STRING(REGEX MATCHALL "[^:]+" ITK_DIR_SEARCH1 "$ENV{PATH}")
|
|
||||||
ELSE(UNIX)
|
|
||||||
STRING(REGEX REPLACE "\\\\" "/" ITK_DIR_SEARCH1 "$ENV{PATH}")
|
|
||||||
ENDIF(UNIX)
|
|
||||||
STRING(REGEX REPLACE "/;" ";" ITK_DIR_SEARCH2 ${ITK_DIR_SEARCH1})
|
|
||||||
|
|
||||||
# Construct a set of paths relative to the system search path.
|
|
||||||
SET(ITK_DIR_SEARCH "")
|
|
||||||
FOREACH(dir ${ITK_DIR_SEARCH2})
|
|
||||||
SET(ITK_DIR_SEARCH ${ITK_DIR_SEARCH} "${dir}/../lib/InsightToolkit")
|
|
||||||
ENDFOREACH(dir)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Look for an installation or build tree.
|
|
||||||
#
|
|
||||||
FIND_PATH(ITK_DIR ITKConfig.cmake
|
|
||||||
# Look for an environment variable ITK_DIR.
|
|
||||||
$ENV{ITK_DIR}
|
|
||||||
|
|
||||||
# Look in places relative to the system executable search path.
|
|
||||||
${ITK_DIR_SEARCH}
|
|
||||||
|
|
||||||
# Look in standard UNIX install locations.
|
|
||||||
/usr/local/lib/InsightToolkit
|
|
||||||
/usr/lib/InsightToolkit
|
|
||||||
|
|
||||||
# Read from the CMakeSetup registry entries. It is likely that
|
|
||||||
# ITK 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 ${ITK_DIR_STRING}"
|
|
||||||
)
|
|
||||||
ENDIF(NOT ITK_DIR)
|
|
||||||
|
|
||||||
# If ITK was found, load the configuration file to get the rest of the
|
|
||||||
# settings.
|
|
||||||
IF(ITK_DIR)
|
|
||||||
SET(ITK_FOUND 1)
|
|
||||||
INCLUDE(${ITK_DIR}/ITKConfig.cmake)
|
|
||||||
|
|
||||||
|
IF(ITK_FOUND)
|
||||||
# Set USE_ITK_FILE for backward-compatability.
|
# Set USE_ITK_FILE for backward-compatability.
|
||||||
SET(USE_ITK_FILE ${ITK_USE_FILE})
|
SET(USE_ITK_FILE ${ITK_USE_FILE})
|
||||||
ELSE(ITK_DIR)
|
ELSEIF(ITK_FIND_REQUIRED)
|
||||||
SET(ITK_FOUND 0)
|
MESSAGE(FATAL_ERROR ${ITK_DIR_MESSAGE})
|
||||||
IF(ITK_FIND_REQUIRED)
|
ELSEIF(NOT ITK_FIND_QUIETLY)
|
||||||
MESSAGE(FATAL_ERROR "Please set ITK_DIR to the ${ITK_DIR_STRING}")
|
MESSAGE(STATUS ${ITK_DIR_MESSAGE})
|
||||||
ENDIF(ITK_FIND_REQUIRED)
|
ENDIF()
|
||||||
ENDIF(ITK_DIR)
|
|
||||||
|
|
Loading…
Reference in New Issue