Browse Source

BUG#682: Adding environment variable check to FIND_PACKAGE command.

Brad King 21 years ago
parent
commit
7c0844d2f4
3 changed files with 20 additions and 0 deletions
  1. 3 0
      Modules/FindITK.cmake
  2. 3 0
      Modules/FindVTK.cmake
  3. 14 0
      Source/cmFindPackageCommand.cxx

+ 3 - 0
Modules/FindITK.cmake

@@ -45,6 +45,9 @@ IF(NOT ITK_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}
 

+ 3 - 0
Modules/FindVTK.cmake

@@ -65,6 +65,9 @@ IF(NOT VTK_DIR)
     # 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}
 

+ 14 - 0
Source/cmFindPackageCommand.cxx

@@ -326,6 +326,20 @@ bool cmFindPackageCommand::FindConfig()
 //----------------------------------------------------------------------------
 std::string cmFindPackageCommand::SearchForConfig() const
 {
+  // Check the environment variable.
+  std::string env;
+  if(cmSystemTools::GetEnv(this->Variable.c_str(), env) && env.length() > 0)
+    {
+    cmSystemTools::ConvertToUnixSlashes(env);
+    std::string f = env;
+    f += "/";
+    f += this->Config;
+    if(cmSystemTools::FileExists(f.c_str()))
+      {
+      return env;
+      }
+    }
+
   // Search the build directories.
   for(std::vector<cmStdString>::const_iterator b = this->Builds.begin();
       b != this->Builds.end(); ++b)