summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalMSYSMakefileGenerator.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-02-16 02:26:47 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-02-16 02:26:47 (GMT)
commit5042581f4384cbeb19b769e8443ff4da7d322790 (patch)
tree6029afb540fb8c1cf0e2ac370dbac18586d7f369 /Source/cmGlobalMSYSMakefileGenerator.cxx
parent5288d61ede70fbe0944b1eff22eff11ae4f10a1a (diff)
downloadCMake-5042581f4384cbeb19b769e8443ff4da7d322790.zip
CMake-5042581f4384cbeb19b769e8443ff4da7d322790.tar.gz
CMake-5042581f4384cbeb19b769e8443ff4da7d322790.tar.bz2
ENH: better algorithm for looking for make and gcc on msys and mingw
Diffstat (limited to 'Source/cmGlobalMSYSMakefileGenerator.cxx')
-rw-r--r--Source/cmGlobalMSYSMakefileGenerator.cxx21
1 files changed, 9 insertions, 12 deletions
diff --git a/Source/cmGlobalMSYSMakefileGenerator.cxx b/Source/cmGlobalMSYSMakefileGenerator.cxx
index 5c106d6..fdae0b9 100644
--- a/Source/cmGlobalMSYSMakefileGenerator.cxx
+++ b/Source/cmGlobalMSYSMakefileGenerator.cxx
@@ -32,24 +32,21 @@ void cmGlobalMSYSMakefileGenerator::EnableLanguage(std::vector<std::string>const
std::string makeProgram = mf->GetRequiredDefinition("CMAKE_MAKE_PROGRAM");
std::vector<std::string> locations;
locations.push_back(cmSystemTools::GetProgramPath(makeProgram.c_str()));
- locations.push_back("c:/mingw/bin");
locations.push_back("/mingw/bin");
locations.push_back("/msys/1.0/bin");
+ locations.push_back("c:/mingw/bin");
locations.push_back("C:/msys/1.0/bin");
+ std::string tgcc = cmSystemTools::FindProgram("gcc", locations);
std::string gcc = "gcc.exe";
+ if(tgcc.size())
+ {
+ gcc = tgcc;
+ }
+ std::string tgxx = cmSystemTools::FindProgram("g++", locations);
std::string gxx = "g++.exe";
- std::string slash = "/";
- for(std::vector<std::string>::iterator i = locations.begin();
- i != locations.end(); ++i)
+ if(tgxx.size())
{
- std::string tgcc = *i + slash + gcc;
- std::string tgxx = *i + slash + gxx;
- if(cmSystemTools::FileExists(tgcc.c_str()))
- {
- gcc = tgcc;
- gxx = tgxx;
- break;
- }
+ gxx = tgxx;
}
mf->AddDefinition("CMAKE_GENERATOR_CC", gcc.c_str());
mf->AddDefinition("CMAKE_GENERATOR_CXX", gxx.c_str());