diff options
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 63 |
1 files changed, 19 insertions, 44 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 249373c..38ba5d1 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1616,7 +1616,7 @@ int cmGlobalGenerator::TryCompile(const std::string& srcdir, const std::string& bindir, const std::string& projectName, const std::string& target, bool fast, - std::string *output, cmMakefile *mf) + std::string& output, cmMakefile *mf) { // if this is not set, then this is a first time configure // and there is a good chance that the try compile stuff will @@ -1675,7 +1675,7 @@ void cmGlobalGenerator::GenerateBuildCommand( int cmGlobalGenerator::Build( const std::string&, const std::string& bindir, const std::string& projectName, const std::string& target, - std::string *output, + std::string& output, const std::string& makeCommandCSTR, const std::string& config, bool clean, bool fast, @@ -1688,22 +1688,15 @@ int cmGlobalGenerator::Build( */ std::string cwd = cmSystemTools::GetCurrentWorkingDirectory(); cmSystemTools::ChangeDirectory(bindir.c_str()); - if(output) - { - *output += "Change Dir: "; - *output += bindir; - *output += "\n"; - } + output += "Change Dir: "; + output += bindir; + output += "\n"; int retVal; bool hideconsole = cmSystemTools::GetRunCommandHideConsole(); cmSystemTools::SetRunCommandHideConsole(true); std::string outputBuffer; - std::string* outputPtr = 0; - if(output) - { - outputPtr = &outputBuffer; - } + std::string* outputPtr = &outputBuffer; // should we do a clean first? if (clean) @@ -1711,32 +1704,23 @@ int cmGlobalGenerator::Build( std::vector<std::string> cleanCommand; this->GenerateBuildCommand(cleanCommand, makeCommandCSTR, projectName, bindir, "clean", config, fast); - if(output) - { - *output += "\nRun Clean Command:"; - *output += cmSystemTools::PrintSingleCommand(cleanCommand); - *output += "\n"; - } + output += "\nRun Clean Command:"; + output += cmSystemTools::PrintSingleCommand(cleanCommand); + output += "\n"; if (!cmSystemTools::RunSingleCommand(cleanCommand, outputPtr, &retVal, 0, outputflag, timeout)) { cmSystemTools::SetRunCommandHideConsole(hideconsole); cmSystemTools::Error("Generator: execution of make clean failed."); - if (output) - { - *output += *outputPtr; - *output += "\nGenerator: execution of make clean failed.\n"; - } + output += *outputPtr; + output += "\nGenerator: execution of make clean failed.\n"; // return to the original directory cmSystemTools::ChangeDirectory(cwd.c_str()); return 1; } - if (output) - { - *output += *outputPtr; - } + output += *outputPtr; } // now build @@ -1744,12 +1728,9 @@ int cmGlobalGenerator::Build( this->GenerateBuildCommand(makeCommand, makeCommandCSTR, projectName, bindir, target, config, fast, nativeOptions); std::string makeCommandStr = cmSystemTools::PrintSingleCommand(makeCommand); - if(output) - { - *output += "\nRun Build Command:"; - *output += makeCommandStr; - *output += "\n"; - } + output += "\nRun Build Command:"; + output += makeCommandStr; + output += "\n"; if (!cmSystemTools::RunSingleCommand(makeCommand, outputPtr, &retVal, 0, outputflag, timeout)) @@ -1758,27 +1739,21 @@ int cmGlobalGenerator::Build( cmSystemTools::Error ("Generator: execution of make failed. Make command was: ", makeCommandStr.c_str()); - if (output) - { - *output += *outputPtr; - *output += "\nGenerator: execution of make failed. Make command was: " + output += *outputPtr; + output += "\nGenerator: execution of make failed. Make command was: " + makeCommandStr + "\n"; - } // return to the original directory cmSystemTools::ChangeDirectory(cwd.c_str()); return 1; } - if (output) - { - *output += *outputPtr; - } + output += *outputPtr; cmSystemTools::SetRunCommandHideConsole(hideconsole); // The SGI MipsPro 7.3 compiler does not return an error code when // the source has a #error in it! This is a work-around for such // compilers. - if((retVal == 0) && (output->find("#error") != std::string::npos)) + if((retVal == 0) && (output.find("#error") != std::string::npos)) { retVal = 1; } |