diff options
author | Brad King <brad.king@kitware.com> | 2004-04-26 15:00:41 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2004-04-26 15:00:41 (GMT) |
commit | 7c0844d2f4f98d40bc4bb7be89cc75740506db3c (patch) | |
tree | dbc501552f9d74a09125245219752403c4893bb2 | |
parent | b6f7e08242fd95fb979ac780c0bb02b5f32374a9 (diff) | |
download | CMake-7c0844d2f4f98d40bc4bb7be89cc75740506db3c.zip CMake-7c0844d2f4f98d40bc4bb7be89cc75740506db3c.tar.gz CMake-7c0844d2f4f98d40bc4bb7be89cc75740506db3c.tar.bz2 |
BUG#682: Adding environment variable check to FIND_PACKAGE command.
-rw-r--r-- | Modules/FindITK.cmake | 3 | ||||
-rw-r--r-- | Modules/FindVTK.cmake | 3 | ||||
-rw-r--r-- | Source/cmFindPackageCommand.cxx | 14 |
3 files changed, 20 insertions, 0 deletions
diff --git a/Modules/FindITK.cmake b/Modules/FindITK.cmake index 12d27c6..40c321b 100644 --- a/Modules/FindITK.cmake +++ b/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} diff --git a/Modules/FindVTK.cmake b/Modules/FindVTK.cmake index d2acc9a..519815f 100644 --- a/Modules/FindVTK.cmake +++ b/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} diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx index 3b78201..7026bc9 100644 --- a/Source/cmFindPackageCommand.cxx +++ b/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) |