summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmGlobalGenerator.cxx19
-rw-r--r--Source/cmGlobalGenerator.h2
-rw-r--r--Source/cmGlobalVisualStudio6Generator.cxx7
-rw-r--r--Source/cmGlobalVisualStudio6Generator.h3
-rw-r--r--Source/cmGlobalVisualStudio7Generator.cxx6
-rw-r--r--Source/cmGlobalVisualStudio7Generator.h3
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx3
-rw-r--r--Source/cmGlobalXCodeGenerator.h3
8 files changed, 29 insertions, 17 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 17bfc01..c473def 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -651,7 +651,8 @@ int cmGlobalGenerator::TryCompile(const char *srcdir, const char *bindir,
}
std::string cmGlobalGenerator::GenerateBuildCommand(const char* makeProgram,
- const char *projectName, const char *targetName, const char* config)
+ const char *projectName, const char *targetName, const char* config,
+ bool ignoreErrors)
{
// Project name and config are not used yet.
(void)projectName;
@@ -659,20 +660,20 @@ std::string cmGlobalGenerator::GenerateBuildCommand(const char* makeProgram,
std::string makeCommand = makeProgram;
makeCommand = cmSystemTools::ConvertToOutputPath(makeCommand.c_str());
- makeCommand += " ";
// Since we have full control over the invocation of nmake, let us
// make it quiet.
if ( strcmp(this->GetName(), "NMake Makefiles") == 0 )
{
- makeCommand += "/NOLOGO ";
+ makeCommand += " /NOLOGO ";
}
- if ( targetName )
+ if ( ignoreErrors )
{
- makeCommand += targetName;
+ makeCommand += " -i";
}
- else
+ if ( targetName )
{
- makeCommand += "all";
+ makeCommand += " ";
+ makeCommand += targetName;
}
return makeCommand;
}
@@ -701,7 +702,7 @@ int cmGlobalGenerator::Build(
// should we do a clean first?
if (clean)
{
- std::string cleanCommand = this->GenerateBuildCommand(makeCommandCSTR, projectName, "clean", config);
+ std::string cleanCommand = this->GenerateBuildCommand(makeCommandCSTR, projectName, "clean", config, false);
if (!cmSystemTools::RunSingleCommand(cleanCommand.c_str(), output,
&retVal, 0, false, timeout))
{
@@ -719,7 +720,7 @@ int cmGlobalGenerator::Build(
}
// now build
- std::string makeCommand = this->GenerateBuildCommand(makeCommandCSTR, projectName, target, config);
+ std::string makeCommand = this->GenerateBuildCommand(makeCommandCSTR, projectName, target, config, false);
if (!cmSystemTools::RunSingleCommand(makeCommand.c_str(), output,
&retVal, 0, false, timeout))
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index a4bd0ba..a250ab0 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -99,7 +99,7 @@ public:
const char *makeProgram, const char *config,
bool clean);
virtual std::string GenerateBuildCommand(const char* makeProgram, const char *projectName, const char *targetName,
- const char* config);
+ const char* config, bool ignoreErrors);
///! Set the CMake instance
void SetCMakeInstance(cmake *cm) {
diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx
index 6704c73..79fd4fd 100644
--- a/Source/cmGlobalVisualStudio6Generator.cxx
+++ b/Source/cmGlobalVisualStudio6Generator.cxx
@@ -67,9 +67,12 @@ void cmGlobalVisualStudio6Generator::GenerateConfigurations(cmMakefile* mf)
}
}
-std::string cmGlobalVisualStudio6Generator::GenerateBuildCommand(const char* makeProgram, const char *projectName, const char *targetName,
- const char* config)
+std::string cmGlobalVisualStudio6Generator::GenerateBuildCommand(const char* makeProgram,
+ const char *projectName, const char *targetName, const char* config, bool ignoreErrors)
{
+ // Ingoring errors is not implemented in visual studio 6
+ (void) ignoreErrors;
+
// now build the test
std::vector<std::string> mp;
mp.push_back("[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Setup;VsCommonDir]/MSDev98/Bin");
diff --git a/Source/cmGlobalVisualStudio6Generator.h b/Source/cmGlobalVisualStudio6Generator.h
index 3f0841f..0234ac7 100644
--- a/Source/cmGlobalVisualStudio6Generator.h
+++ b/Source/cmGlobalVisualStudio6Generator.h
@@ -55,7 +55,8 @@ public:
* loaded commands, not as part of the usual build process.
*/
virtual std::string GenerateBuildCommand(const char* makeProgram,
- const char *projectName, const char *targetName, const char* config);
+ const char *projectName, const char *targetName, const char* config,
+ bool ignoreErrors);
/**
* Generate the all required files for building this project/tree. This
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 7eb1272..3362188 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -43,8 +43,12 @@ void cmGlobalVisualStudio7Generator::EnableLanguage(std::vector<std::string>cons
this->cmGlobalGenerator::EnableLanguage(lang, mf);
}
-std::string cmGlobalVisualStudio7Generator::GenerateBuildCommand(const char* makeProgram, const char *projectName, const char *targetName, const char* config)
+std::string cmGlobalVisualStudio7Generator::GenerateBuildCommand(const char* makeProgram,
+ const char *projectName, const char *targetName, const char* config, bool ignoreErrors)
{
+ // Ingoring errors is not implemented in visual studio 6
+ (void) ignoreErrors;
+
// now build the test
std::string makeCommand =
cmSystemTools::ConvertToOutputPath(makeProgram);
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h
index f735dc7..6396971 100644
--- a/Source/cmGlobalVisualStudio7Generator.h
+++ b/Source/cmGlobalVisualStudio7Generator.h
@@ -54,7 +54,8 @@ public:
* loaded commands, not as part of the usual build process.
*/
virtual std::string GenerateBuildCommand(const char* makeProgram,
- const char *projectName, const char *targetName, const char* config);
+ const char *projectName, const char *targetName, const char* config,
+ bool ignoreErrors);
/**
* Generate the all required files for building this project/tree. This
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 1f17992..95df611 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -52,7 +52,8 @@ void cmGlobalXCodeGenerator::EnableLanguage(std::vector<std::string>const&
//----------------------------------------------------------------------------
std::string cmGlobalXCodeGenerator::GenerateBuildCommand(const char* makeProgram,
- const char *projectName, const char *targetName, const char* config)
+ const char *projectName, const char *targetName, const char* config,
+ bool ignoreErrors)
{
// Config is not used yet
(void) config;
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index 85cbea0..c308a54 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -58,7 +58,8 @@ public:
* loaded commands, not as part of the usual build process.
*/
virtual std::string GenerateBuildCommand(const char* makeProgram,
- const char *projectName, const char *targetName, const char* config);
+ const char *projectName, const char *targetName, const char* config,
+ bool ignoreErrors);
/**
* Generate the all required files for building this project/tree. This