|
|
@@ -1,16 +1,57 @@
|
|
|
#
|
|
|
-# Find the native ITK includes and library
|
|
|
+# Find an ITK installation or build tree.
|
|
|
#
|
|
|
-# This module defines
|
|
|
+# When ITK is found, the ITKConfig.cmake file is sourced to setup the
|
|
|
+# location and configuration of ITK. Please read this file, or
|
|
|
+# ITKConfig.cmake.in from the ITK source tree for the full list of
|
|
|
+# definitions. Of particular interest is
|
|
|
#
|
|
|
-# ITK_BINARY_PATH - where is the binary tree (only defined if SOURCE_PATH is defined)
|
|
|
-# USE_ITK_FILE - the full path and location of the UseITK.cmake file
|
|
|
+# ITK_USE_FILE - A CMake source file that can be included
|
|
|
+# to set the include directories, library
|
|
|
+# directories, and preprocessor macros.
|
|
|
#
|
|
|
-
|
|
|
+# In addition to the variables read from ITKConfig.cmake, this find
|
|
|
+# module also defines
|
|
|
+#
|
|
|
+# ITK_DIR - The directory containing ITKConfig.cmake. This is either
|
|
|
+# the root of the build tree, or the lib/InsightToolkit
|
|
|
+# directory. This is the only cache entry.
|
|
|
+#
|
|
|
+# ITK_FOUND - Whether ITK was found. If this is true, ITK_DIR is okay.
|
|
|
#
|
|
|
-# Look for a binary tree
|
|
|
-#
|
|
|
-FIND_PATH(ITK_BINARY_PATH UseITK.cmake
|
|
|
+# USE_ITK_FILE - The full path to the UseITK.cmake file. This is provided
|
|
|
+# for backward compatability. Use ITK_USE_FILE instead.
|
|
|
+#
|
|
|
+
|
|
|
+# Search only if the location is not already known.
|
|
|
+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 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]
|
|
|
@@ -21,23 +62,20 @@ FIND_PATH(ITK_BINARY_PATH UseITK.cmake
|
|
|
[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]
|
|
|
- ../ITKBIN
|
|
|
- ../itkbin
|
|
|
- ../Insight-vc
|
|
|
- ../InsightBin
|
|
|
- ITKBIN
|
|
|
- itkbin
|
|
|
- $ENV{HOME}/ITKBIN
|
|
|
- $ENV{HOME}/Insight
|
|
|
- $ENV{HOME}/InsightBin
|
|
|
- $ENV{HOME}/itkbin
|
|
|
- )
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-IF (ITK_BINARY_PATH)
|
|
|
- SET (USE_ITK_FILE ${ITK_BINARY_PATH}/UseITK.cmake)
|
|
|
-ENDIF (ITK_BINARY_PATH)
|
|
|
|
|
|
+ # Help the user find it if we cannot.
|
|
|
+ DOC "The directory containing ITKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/InsightToolkit for an installation."
|
|
|
+ )
|
|
|
+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)
|
|
|
|
|
|
+ # Set USE_ITK_FILE for backward-compatability.
|
|
|
+ SET(USE_ITK_FILE ${ITK_USE_FILE})
|
|
|
+ELSE(ITK_DIR)
|
|
|
+ SET(ITK_FOUND 0)
|
|
|
+ENDIF(ITK_DIR)
|