Merge topic 'enable-using-devenv-as-cmakemakeprogram'

2ca1161 VS10: Enable using devenv as CMAKE_MAKE_PROGRAM (#11459)
This commit is contained in:
Brad King 2011-01-26 15:23:47 -05:00 committed by CMake Topic Stage
commit 5cd8b8bdfb
1 changed files with 10 additions and 5 deletions

View File

@ -114,18 +114,23 @@ std::string cmGlobalVisualStudio10Generator
::GenerateBuildCommand(const char* makeProgram, ::GenerateBuildCommand(const char* makeProgram,
const char *projectName, const char *projectName,
const char* additionalOptions, const char *targetName, const char* additionalOptions, const char *targetName,
const char* config, bool ignoreErrors, bool) const char* config, bool ignoreErrors, bool fast)
{ {
// Ingoring errors is not implemented in visual studio 6
(void) ignoreErrors;
// now build the test // now build the test
std::string makeCommand std::string makeCommand
= cmSystemTools::ConvertToOutputPath(makeProgram); = cmSystemTools::ConvertToOutputPath(makeProgram);
std::string lowerCaseCommand = makeCommand; std::string lowerCaseCommand = makeCommand;
cmSystemTools::LowerCase(lowerCaseCommand); cmSystemTools::LowerCase(lowerCaseCommand);
// If makeProgram is devenv, parent class knows how to generate command:
if (lowerCaseCommand.find("devenv") != std::string::npos)
{
return cmGlobalVisualStudio7Generator::GenerateBuildCommand(makeProgram,
projectName, additionalOptions, targetName, config, ignoreErrors, fast);
}
// Otherwise, assume MSBuild command line, and construct accordingly.
// if there are spaces in the makeCommand, assume a full path // if there are spaces in the makeCommand, assume a full path
// and convert it to a path with no spaces in it as the // and convert it to a path with no spaces in it as the
// RunSingleCommand does not like spaces // RunSingleCommand does not like spaces