1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-08 18:26:01 +02:00

Fix problem with building when a referenced project has changed.

This commit is contained in:
Leo Treggiari 2005-07-06 14:57:21 +00:00
parent 61aa8cb62c
commit b6b99ac40a

View file

@ -155,8 +155,6 @@ public class GeneratedMakefileBuilder extends ACBuilder {
return true; return true;
} else { } else {
String name = changedResource.getName(); String name = changedResource.getName();
String ext = changedResource.getFileExtension();
if ((!name.equals(buildGoalName) && if ((!name.equals(buildGoalName) &&
// TODO: Also need to check for secondary outputs // TODO: Also need to check for secondary outputs
(changedResource.isDerived() || (changedResource.isDerived() ||
@ -363,6 +361,27 @@ public class GeneratedMakefileBuilder extends ACBuilder {
outputTrace(getProject().getName(), "Incremental build requested"); //$NON-NLS-1$ outputTrace(getProject().getName(), "Incremental build requested"); //$NON-NLS-1$
incrementalBuild(delta, info, generator, monitor); incrementalBuild(delta, info, generator, monitor);
} }
else if (referencedProjects != null) {
// Also check to see is any of the dependent projects changed
for (int i=0; i<referencedProjects.length; i++) {
IProject ref = referencedProjects[i];
IResourceDelta refDelta = getDelta(ref);
if (refDelta == null) {
outputTrace(getProject().getName(), "Incremental build because of changed referenced project"); //$NON-NLS-1$
incrementalBuild(delta, info, generator, monitor);
} else {
int refKind = refDelta.getKind();
if (refKind != IResourceDelta.NO_CHANGE) {
int refFlags = refDelta.getFlags();
if (!(refKind == IResourceDelta.CHANGED &&
refFlags == IResourceDelta.OPEN)) {
outputTrace(getProject().getName(), "Incremental build because of changed referenced project"); //$NON-NLS-1$
incrementalBuild(delta, info, generator, monitor);
}
}
}
}
}
} }
} }
// Scrub the build info the project // Scrub the build info the project
@ -815,7 +834,6 @@ public class GeneratedMakefileBuilder extends ACBuilder {
// then: don't invoke the prebuild step, which should be run only if // then: don't invoke the prebuild step, which should be run only if
// something needs to be built in the main build // something needs to be built in the main build
// else: invoke the prebuild step and the main build step // else: invoke the prebuild step and the main build step
boolean quit = false;
premakeArgs.add("-q"); //$NON-NLS-1$ premakeArgs.add("-q"); //$NON-NLS-1$
premakeArgs.add("main-build"); //$NON-NLS-1$ premakeArgs.add("main-build"); //$NON-NLS-1$
premakeTargets = (String[]) premakeArgs.toArray(new String[premakeArgs.size()]); premakeTargets = (String[]) premakeArgs.toArray(new String[premakeArgs.size()]);