diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2006-02-16 02:26:47 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2006-02-16 02:26:47 (GMT) |
commit | 5042581f4384cbeb19b769e8443ff4da7d322790 (patch) | |
tree | 6029afb540fb8c1cf0e2ac370dbac18586d7f369 /Source/cmGlobalMSYSMakefileGenerator.cxx | |
parent | 5288d61ede70fbe0944b1eff22eff11ae4f10a1a (diff) | |
download | CMake-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.cxx | 21 |
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()); |