| /*============================================================================ |
| CMake - Cross Platform Makefile Generator |
| Copyright 2000-2009 Kitware, Inc., Insight Software Consortium |
| |
| Distributed under the OSI-approved BSD License (the "License"); |
| see accompanying file Copyright.txt for details. |
| |
| This software is distributed WITHOUT ANY WARRANTY; without even the |
| implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the License for more information. |
| ============================================================================*/ |
| |
| #include "cmExternalMakefileProjectGenerator.h" |
| |
| #include <assert.h> |
| |
| void cmExternalMakefileProjectGenerator::EnableLanguage( |
| std::vector<std::string> const&, cmMakefile*, bool) |
| { |
| } |
| |
| std::string cmExternalMakefileProjectGenerator::CreateFullGeneratorName( |
| const std::string& globalGenerator, const std::string& extraGenerator) |
| { |
| std::string fullName; |
| if (!globalGenerator.empty()) { |
| if (!extraGenerator.empty()) { |
| fullName = extraGenerator; |
| fullName += " - "; |
| } |
| fullName += globalGenerator; |
| } |
| return fullName; |
| } |
| |
| std::string cmExternalMakefileProjectGenerator::GetGlobalGeneratorName( |
| const std::string& fullName) |
| { |
| // at least one global generator must be supported |
| assert(!this->SupportedGlobalGenerators.empty()); |
| |
| if (fullName.empty()) { |
| return ""; |
| } |
| |
| // if we get only the short name, take the first global generator as default |
| if (fullName == this->GetName()) { |
| return this->SupportedGlobalGenerators[0]; |
| } |
| |
| // otherwise search for the matching global generator |
| for (std::vector<std::string>::const_iterator it = |
| this->SupportedGlobalGenerators.begin(); |
| it != this->SupportedGlobalGenerators.end(); ++it) { |
| if (this->CreateFullGeneratorName(*it, this->GetName()) == fullName) { |
| return *it; |
| } |
| } |
| return ""; |
| } |