summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d68ccf0)
raw | patch | inline | side by side (parent: d68ccf0)
author | ishmal <ishmal@users.sourceforge.net> | |
Fri, 25 Apr 2008 17:23:55 +0000 (17:23 +0000) | ||
committer | ishmal <ishmal@users.sourceforge.net> | |
Fri, 25 Apr 2008 17:23:55 +0000 (17:23 +0000) |
buildtool.cpp | patch | blob | history |
diff --git a/buildtool.cpp b/buildtool.cpp
index 21a7a4aef8131d83b30a315530adc850e15a00d8..2556cd83747ff7b3a7ea947f2a0a75c2cc2bd8a3 100644 (file)
--- a/buildtool.cpp
+++ b/buildtool.cpp
*
*/
-#define BUILDTOOL_VERSION "BuildTool v0.8.1, 2007-2008 Bob Jamison"
+#define BUILDTOOL_VERSION "BuildTool v0.8.2, 2007-2008 Bob Jamison"
#include <stdio.h>
#include <fcntl.h>
TaskCC(MakeBase &par) : Task(par)
{
- type = TASK_CC; name = "cc";
- ccCommand = "gcc";
- cxxCommand = "g++";
- source = ".";
- dest = ".";
- flags = "";
- defines = "";
- includes = "";
+ type = TASK_CC;
+ name = "cc";
+ ccCommand = "gcc";
+ cxxCommand = "g++";
+ source = ".";
+ dest = ".";
+ flags = "";
+ defines = "";
+ includes = "";
+ continueOnError = false;
fileSet.clear();
excludeInc.clear();
}
dname.append(dirName);
incs.append(parent.resolve(dname));
}
+
+ /**
+ * Compile each of the C files that need it
+ */
+ bool errorOccurred = false;
std::vector<String> cfiles;
for (viter=deps.begin() ; viter!=deps.end() ; viter++)
{
if (!ret)
{
error("problem compiling: %s", errString.c_str());
- return false;
+ errorOccurred = true;
}
-
+ if (errorOccurred || !continueOnError)
+ break;
}
if (f)
fclose(f);
}
- return true;
+ return errorOccurred;
}
virtual bool parse(Element *elem)
if (!parent.getAttribute(elem, "destdir", s))
return false;
if (s.size()>0) dest = s;
+ if (!parent.getAttribute(elem, "continueOnError", s))
+ return false;
+ if (s=="true" || s=="yes")
+ continueOnError = true;
std::vector<Element *> children = elem->getChildren();
for (unsigned int i=0 ; i<children.size() ; i++)
String lastflags;
String defines;
String includes;
+ bool continueOnError;
FileSet fileSet;
FileList excludeInc;