mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-06 09:16:02 +02:00
Fixes for scanner info for Makefile projects.
Using ESP-IDF (the ESP32 FreeRTOS SDK) on MSYS2 as a test bed. Making sure the indexer picks up as much as it can. Removed -j since that messes up build output parsing. Add UI so you can put it back if you want. Change-Id: I767c739dce1412c75fb56d0bb1efceb913883a5f
This commit is contained in:
parent
45019ea780
commit
b7b1d41f08
7 changed files with 162 additions and 24 deletions
|
@ -321,10 +321,13 @@ public class GCCToolChain extends PlatformObject implements IToolChain {
|
||||||
if (tmpFile == null) {
|
if (tmpFile == null) {
|
||||||
// Have to assume there wasn't a source file. Add one in the
|
// Have to assume there wasn't a source file. Add one in the
|
||||||
// resource's container
|
// resource's container
|
||||||
|
// TODO really?
|
||||||
IPath parentPath = resource instanceof IFile ? resource.getParent().getLocation()
|
IPath parentPath = resource instanceof IFile ? resource.getParent().getLocation()
|
||||||
: resource.getLocation();
|
: resource.getLocation();
|
||||||
tmpFile = Files.createTempFile(parentPath.toFile().toPath(), ".sc", ".cpp"); //$NON-NLS-1$ //$NON-NLS-2$
|
if (parentPath.toFile().exists()) {
|
||||||
commandLine.add(tmpFile.toString());
|
tmpFile = Files.createTempFile(parentPath.toFile().toPath(), ".sc", ".cpp"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
commandLine.add(tmpFile.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return getScannerInfo(buildConfig, commandLine, buildDirectory, tmpFile);
|
return getScannerInfo(buildConfig, commandLine, buildDirectory, tmpFile);
|
||||||
|
@ -490,7 +493,8 @@ public class GCCToolChain extends PlatformObject implements IToolChain {
|
||||||
if (cCommand.contains("gcc")) { //$NON-NLS-1$
|
if (cCommand.contains("gcc")) { //$NON-NLS-1$
|
||||||
cppCommand = cCommand.replace("gcc", "g++"); //$NON-NLS-1$ //$NON-NLS-2$
|
cppCommand = cCommand.replace("gcc", "g++"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
// Also recognize c++ as an alias for g++
|
// Also recognize c++ as an alias for g++
|
||||||
commands = new String[] { cCommand, cppCommand, cCommand.replace("gcc", "c++"), "cc", "c++" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
|
commands = new String[] { cCommand, cppCommand, cCommand.replace("gcc", "cc"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
cCommand.replace("gcc", "c++") }; //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
} else if (cCommand.contains("clang")) { //$NON-NLS-1$
|
} else if (cCommand.contains("clang")) { //$NON-NLS-1$
|
||||||
cppCommand = cCommand.replace("clang", "clang++"); //$NON-NLS-1$ //$NON-NLS-2$
|
cppCommand = cCommand.replace("clang", "clang++"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
commands = new String[] { cCommand, cppCommand };
|
commands = new String[] { cCommand, cppCommand };
|
||||||
|
@ -533,12 +537,23 @@ public class GCCToolChain extends PlatformObject implements IToolChain {
|
||||||
// ran into an option, we're done.
|
// ran into an option, we're done.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (i > 1 && cmd.get(i - 1).equals("-o")) { //$NON-NLS-1$
|
||||||
|
// this is an output file
|
||||||
|
--i;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
Path srcPath = Paths.get(arg);
|
Path srcPath = Paths.get(arg);
|
||||||
URI uri;
|
URI uri;
|
||||||
if (srcPath.isAbsolute()) {
|
if (srcPath.isAbsolute()) {
|
||||||
uri = srcPath.toUri();
|
uri = srcPath.toUri();
|
||||||
} else {
|
} else {
|
||||||
|
if (arg.startsWith("/") && Platform.getOS().equals(Platform.OS_WIN32)) { //$NON-NLS-1$
|
||||||
|
String drive = srcPath.getName(0).toString();
|
||||||
|
if (drive.length() == 1) {
|
||||||
|
srcPath = Paths.get(drive + ":\\").resolve(srcPath.subpath(1, srcPath.getNameCount())); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
}
|
||||||
uri = Paths.get(buildDirectoryURI).resolve(srcPath).toUri().normalize();
|
uri = Paths.get(buildDirectoryURI).resolve(srcPath).toUri().normalize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,8 @@ public class NewGCCToolChainWizard extends ToolChainWizard {
|
||||||
@Override
|
@Override
|
||||||
public boolean performFinish() {
|
public boolean performFinish() {
|
||||||
Path path = settingsPage.getPath();
|
Path path = settingsPage.getPath();
|
||||||
String os = settingsPage.getOS();
|
String os = settingsPage.getOS().trim();
|
||||||
String arch = settingsPage.getArch();
|
String arch = settingsPage.getArch().trim();
|
||||||
IEnvironmentVariable[] envvars = envPage.getEnvVars();
|
IEnvironmentVariable[] envvars = envPage.getEnvVars();
|
||||||
|
|
||||||
new Job(Messages.NewGCCToolChainWizard_Add) {
|
new Job(Messages.NewGCCToolChainWizard_Add) {
|
||||||
|
@ -47,7 +47,9 @@ public class NewGCCToolChainWizard extends ToolChainWizard {
|
||||||
}
|
}
|
||||||
|
|
||||||
GCCToolChain gcc = new GCCToolChain(provider, path, arch, envvars);
|
GCCToolChain gcc = new GCCToolChain(provider, path, arch, envvars);
|
||||||
gcc.setProperty(IToolChain.ATTR_OS, os);
|
if (!os.isEmpty()) {
|
||||||
|
gcc.setProperty(IToolChain.ATTR_OS, os);
|
||||||
|
}
|
||||||
provider.addToolChain(gcc);
|
provider.addToolChain(gcc);
|
||||||
return Status.OK_STATUS;
|
return Status.OK_STATUS;
|
||||||
} catch (CoreException e) {
|
} catch (CoreException e) {
|
||||||
|
|
|
@ -25,11 +25,15 @@ import org.eclipse.swt.widgets.Button;
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
import org.eclipse.swt.widgets.Control;
|
import org.eclipse.swt.widgets.Control;
|
||||||
import org.eclipse.swt.widgets.Group;
|
import org.eclipse.swt.widgets.Group;
|
||||||
|
import org.eclipse.swt.widgets.Label;
|
||||||
|
import org.eclipse.swt.widgets.Text;
|
||||||
|
|
||||||
public class MakeBuildSettingsTab extends CommonBuildTab {
|
public class MakeBuildSettingsTab extends CommonBuildTab {
|
||||||
|
|
||||||
private Button projectButton;
|
private Button projectButton;
|
||||||
private Button configButton;
|
private Button configButton;
|
||||||
|
private Text buildCmdText;
|
||||||
|
private Text cleanCmdText;
|
||||||
|
|
||||||
private boolean defaultProject;
|
private boolean defaultProject;
|
||||||
|
|
||||||
|
@ -49,18 +53,35 @@ public class MakeBuildSettingsTab extends CommonBuildTab {
|
||||||
tcControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
|
tcControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
|
||||||
|
|
||||||
// Build Output Group
|
// Build Output Group
|
||||||
Group group = new Group(comp, SWT.NONE);
|
Group outputGroup = new Group(comp, SWT.NONE);
|
||||||
group.setText("Build Output Location");
|
outputGroup.setText("Build Output Location");
|
||||||
group.setLayout(new GridLayout());
|
outputGroup.setLayout(new GridLayout());
|
||||||
group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
|
outputGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
|
||||||
|
|
||||||
projectButton = new Button(group, SWT.RADIO);
|
projectButton = new Button(outputGroup, SWT.RADIO);
|
||||||
projectButton.setText("Build in project directory");
|
projectButton.setText("Build in project directory");
|
||||||
projectButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
|
projectButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
|
||||||
|
|
||||||
configButton = new Button(group, SWT.RADIO);
|
configButton = new Button(outputGroup, SWT.RADIO);
|
||||||
configButton.setText("Build in configuration specific folder");
|
configButton.setText("Build in configuration specific folder");
|
||||||
configButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
|
configButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
|
||||||
|
|
||||||
|
Group cmdGroup = new Group(comp, SWT.NONE);
|
||||||
|
cmdGroup.setText("Build Commands");
|
||||||
|
cmdGroup.setLayout(new GridLayout(2, false));
|
||||||
|
cmdGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
|
||||||
|
|
||||||
|
Label label = new Label(cmdGroup, SWT.NONE);
|
||||||
|
label.setText("Build:");
|
||||||
|
|
||||||
|
buildCmdText = new Text(cmdGroup, SWT.BORDER);
|
||||||
|
buildCmdText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
|
||||||
|
|
||||||
|
label = new Label(cmdGroup, SWT.NONE);
|
||||||
|
label.setText("Clean:");
|
||||||
|
|
||||||
|
cleanCmdText = new Text(cmdGroup, SWT.BORDER);
|
||||||
|
cleanCmdText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -85,6 +106,16 @@ public class MakeBuildSettingsTab extends CommonBuildTab {
|
||||||
defaultProject = false;
|
defaultProject = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String buildCommand = properties.get(StandardBuildConfiguration.BUILD_COMMAND);
|
||||||
|
if (buildCommand != null && !buildCommand.trim().isEmpty()) {
|
||||||
|
buildCmdText.setText(buildCommand);
|
||||||
|
}
|
||||||
|
|
||||||
|
String cleanCommand = properties.get(StandardBuildConfiguration.CLEAN_COMMAND);
|
||||||
|
if (cleanCommand != null && !cleanCommand.trim().isEmpty()) {
|
||||||
|
cleanCmdText.setText(cleanCommand);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -102,6 +133,16 @@ public class MakeBuildSettingsTab extends CommonBuildTab {
|
||||||
properties.put(StandardBuildConfiguration.BUILD_CONTAINER,
|
properties.put(StandardBuildConfiguration.BUILD_CONTAINER,
|
||||||
stdConfig.getProject().getFullPath().toString());
|
stdConfig.getProject().getFullPath().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String buildCommand = buildCmdText.getText().trim();
|
||||||
|
if (!buildCommand.isEmpty()) {
|
||||||
|
properties.put(StandardBuildConfiguration.BUILD_COMMAND, buildCommand);
|
||||||
|
}
|
||||||
|
|
||||||
|
String cleanCommand = cleanCmdText.getText().trim();
|
||||||
|
if (!cleanCommand.isEmpty()) {
|
||||||
|
properties.put(StandardBuildConfiguration.CLEAN_COMMAND, cleanCommand);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (CoreException e) {
|
} catch (CoreException e) {
|
||||||
MakeUIPlugin.log(e.getStatus());
|
MakeUIPlugin.log(e.getStatus());
|
||||||
|
@ -125,6 +166,16 @@ public class MakeBuildSettingsTab extends CommonBuildTab {
|
||||||
defaultProject = false;
|
defaultProject = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String buildCommand = buildConfig.getProperty(StandardBuildConfiguration.BUILD_COMMAND);
|
||||||
|
if (buildCommand != null && !buildCommand.trim().isEmpty()) {
|
||||||
|
buildCmdText.setText(buildCommand);
|
||||||
|
}
|
||||||
|
|
||||||
|
String cleanCommand = buildConfig.getProperty(StandardBuildConfiguration.CLEAN_COMMAND);
|
||||||
|
if (cleanCommand != null && !cleanCommand.trim().isEmpty()) {
|
||||||
|
cleanCmdText.setText(cleanCommand);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -140,6 +191,16 @@ public class MakeBuildSettingsTab extends CommonBuildTab {
|
||||||
} else if (!defaultProject && projectButton.getSelection()) {
|
} else if (!defaultProject && projectButton.getSelection()) {
|
||||||
stdConfig.setBuildContainer(stdConfig.getProject());
|
stdConfig.setBuildContainer(stdConfig.getProject());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String buildCommand = buildCmdText.getText().trim();
|
||||||
|
if (!buildCommand.isEmpty()) {
|
||||||
|
stdConfig.setBuildCommand(buildCommand.split(" ")); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
|
||||||
|
String cleanCommand = cleanCmdText.getText().trim();
|
||||||
|
if (!cleanCommand.isEmpty()) {
|
||||||
|
stdConfig.setCleanCommand(cleanCommand.split(" ")); //$NON-NLS-1$
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (CoreException e) {
|
} catch (CoreException e) {
|
||||||
MakeUIPlugin.log(e.getStatus());
|
MakeUIPlugin.log(e.getStatus());
|
||||||
|
|
|
@ -75,11 +75,23 @@
|
||||||
</filter>
|
</filter>
|
||||||
</resource>
|
</resource>
|
||||||
<resource path="src/org/eclipse/cdt/core/build/StandardBuildConfiguration.java" type="org.eclipse.cdt.core.build.StandardBuildConfiguration">
|
<resource path="src/org/eclipse/cdt/core/build/StandardBuildConfiguration.java" type="org.eclipse.cdt.core.build.StandardBuildConfiguration">
|
||||||
|
<filter id="336658481">
|
||||||
|
<message_arguments>
|
||||||
|
<message_argument value="org.eclipse.cdt.core.build.StandardBuildConfiguration"/>
|
||||||
|
<message_argument value="BUILD_COMMAND"/>
|
||||||
|
</message_arguments>
|
||||||
|
</filter>
|
||||||
<filter comment="No one extends this yet." id="336658481">
|
<filter comment="No one extends this yet." id="336658481">
|
||||||
<message_arguments>
|
<message_arguments>
|
||||||
<message_argument value="org.eclipse.cdt.core.build.StandardBuildConfiguration"/>
|
<message_argument value="org.eclipse.cdt.core.build.StandardBuildConfiguration"/>
|
||||||
<message_argument value="BUILD_CONTAINER"/>
|
<message_argument value="BUILD_CONTAINER"/>
|
||||||
</message_arguments>
|
</message_arguments>
|
||||||
</filter>
|
</filter>
|
||||||
|
<filter id="336658481">
|
||||||
|
<message_arguments>
|
||||||
|
<message_argument value="org.eclipse.cdt.core.build.StandardBuildConfiguration"/>
|
||||||
|
<message_argument value="CLEAN_COMMAND"/>
|
||||||
|
</message_arguments>
|
||||||
|
</filter>
|
||||||
</resource>
|
</resource>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -674,6 +674,7 @@ public abstract class CBuildConfiguration extends PlatformObject
|
||||||
|
|
||||||
// Make sure it's a compile command
|
// Make sure it's a compile command
|
||||||
String[] compileCommands = toolChain.getCompileCommands();
|
String[] compileCommands = toolChain.getCompileCommands();
|
||||||
|
boolean found = false;
|
||||||
loop:
|
loop:
|
||||||
for (String arg : command) {
|
for (String arg : command) {
|
||||||
// TODO we should really ask the toolchain, not all args start with '-'
|
// TODO we should really ask the toolchain, not all args start with '-'
|
||||||
|
@ -685,9 +686,26 @@ public abstract class CBuildConfiguration extends PlatformObject
|
||||||
for (String cc : compileCommands) {
|
for (String cc : compileCommands) {
|
||||||
if (arg.endsWith(cc)
|
if (arg.endsWith(cc)
|
||||||
&& (arg.equals(cc) || arg.endsWith("/" + cc) || arg.endsWith("\\" + cc))) { //$NON-NLS-1$ //$NON-NLS-2$
|
&& (arg.equals(cc) || arg.endsWith("/" + cc) || arg.endsWith("\\" + cc))) { //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
found = true;
|
||||||
break loop;
|
break loop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Platform.getOS().equals(Platform.OS_WIN32) && !arg.endsWith(".exe")) { //$NON-NLS-1$
|
||||||
|
// Try with exe
|
||||||
|
arg = arg + ".exe"; //$NON-NLS-1$
|
||||||
|
for (String cc : compileCommands) {
|
||||||
|
if (arg.endsWith(cc)
|
||||||
|
&& (arg.equals(cc) || arg.endsWith("/" + cc) || arg.endsWith("\\" + cc))) { //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
found = true;
|
||||||
|
break loop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!found) {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -47,6 +47,14 @@ public class StandardBuildConfiguration extends CBuildConfiguration {
|
||||||
* @since 6.4
|
* @since 6.4
|
||||||
*/
|
*/
|
||||||
public static final String BUILD_CONTAINER = "stdbuild.build.container"; //$NON-NLS-1$
|
public static final String BUILD_CONTAINER = "stdbuild.build.container"; //$NON-NLS-1$
|
||||||
|
/**
|
||||||
|
* @since 6.4
|
||||||
|
*/
|
||||||
|
public static final String BUILD_COMMAND = "stdbuild.build.command"; //$NON-NLS-1$
|
||||||
|
/**
|
||||||
|
* @since 6.4
|
||||||
|
*/
|
||||||
|
public static final String CLEAN_COMMAND = "stdbuild.clean.command"; //$NON-NLS-1$
|
||||||
|
|
||||||
private String[] buildCommand;
|
private String[] buildCommand;
|
||||||
private String[] cleanCommand;
|
private String[] cleanCommand;
|
||||||
|
@ -54,6 +62,15 @@ public class StandardBuildConfiguration extends CBuildConfiguration {
|
||||||
|
|
||||||
public StandardBuildConfiguration(IBuildConfiguration config, String name) throws CoreException {
|
public StandardBuildConfiguration(IBuildConfiguration config, String name) throws CoreException {
|
||||||
super(config, name);
|
super(config, name);
|
||||||
|
applyProperties();
|
||||||
|
}
|
||||||
|
|
||||||
|
public StandardBuildConfiguration(IBuildConfiguration config, String name, IToolChain toolChain,
|
||||||
|
String launchMode) {
|
||||||
|
super(config, name, toolChain);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void applyProperties() {
|
||||||
String container = getProperty(BUILD_CONTAINER);
|
String container = getProperty(BUILD_CONTAINER);
|
||||||
if (container != null && !container.trim().isEmpty()) {
|
if (container != null && !container.trim().isEmpty()) {
|
||||||
IPath containerLoc = new org.eclipse.core.runtime.Path(container);
|
IPath containerLoc = new org.eclipse.core.runtime.Path(container);
|
||||||
|
@ -63,11 +80,16 @@ public class StandardBuildConfiguration extends CBuildConfiguration {
|
||||||
buildContainer = ResourcesPlugin.getWorkspace().getRoot().getFolder(containerLoc);
|
buildContainer = ResourcesPlugin.getWorkspace().getRoot().getFolder(containerLoc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public StandardBuildConfiguration(IBuildConfiguration config, String name, IToolChain toolChain,
|
String buildCmd = getProperty(BUILD_COMMAND);
|
||||||
String launchMode) {
|
if (buildCmd != null && !buildCmd.trim().isEmpty()) {
|
||||||
super(config, name, toolChain);
|
buildCommand = buildCmd.split(" "); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
|
||||||
|
String cleanCmd = getProperty(CLEAN_COMMAND);
|
||||||
|
if (cleanCmd != null && !cleanCmd.trim().isEmpty()) {
|
||||||
|
cleanCommand = cleanCmd.split(" "); //$NON-NLS-1$
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBuildContainer(IContainer buildContainer) {
|
public void setBuildContainer(IContainer buildContainer) {
|
||||||
|
@ -77,6 +99,7 @@ public class StandardBuildConfiguration extends CBuildConfiguration {
|
||||||
|
|
||||||
public void setBuildCommand(String[] buildCommand) {
|
public void setBuildCommand(String[] buildCommand) {
|
||||||
this.buildCommand = buildCommand;
|
this.buildCommand = buildCommand;
|
||||||
|
setProperty(BUILD_COMMAND, String.join(" ", buildCommand)); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCleanCommand(String[] cleanCommand) {
|
public void setCleanCommand(String[] cleanCommand) {
|
||||||
|
@ -132,6 +155,15 @@ public class StandardBuildConfiguration extends CBuildConfiguration {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setProperties(Map<String, String> properties) {
|
||||||
|
if (!super.setProperties(properties)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
applyProperties();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IProject[] build(int kind, Map<String, String> args, IConsole console, IProgressMonitor monitor)
|
public IProject[] build(int kind, Map<String, String> args, IConsole console, IProgressMonitor monitor)
|
||||||
throws CoreException {
|
throws CoreException {
|
||||||
|
@ -153,7 +185,6 @@ public class StandardBuildConfiguration extends CBuildConfiguration {
|
||||||
} else {
|
} else {
|
||||||
command = new ArrayList<>();
|
command = new ArrayList<>();
|
||||||
command.add(findCommand("make").toString()); //$NON-NLS-1$
|
command.add(findCommand("make").toString()); //$NON-NLS-1$
|
||||||
command.add("-j"); //$NON-NLS-1$
|
|
||||||
if (!getBuildContainer().equals(getProject())) {
|
if (!getBuildContainer().equals(getProject())) {
|
||||||
Path makefile = Paths.get(getProject().getFile("Makefile").getLocationURI()); //$NON-NLS-1$
|
Path makefile = Paths.get(getProject().getFile("Makefile").getLocationURI()); //$NON-NLS-1$
|
||||||
Path relative = getBuildDirectory().relativize(makefile);
|
Path relative = getBuildDirectory().relativize(makefile);
|
||||||
|
|
|
@ -126,6 +126,12 @@ public class ToolChainPreferencePage extends PreferencePage implements IWorkbenc
|
||||||
availTable.setContentProvider(new IStructuredContentProvider() {
|
availTable.setContentProvider(new IStructuredContentProvider() {
|
||||||
@Override
|
@Override
|
||||||
public Object[] getElements(Object inputElement) {
|
public Object[] getElements(Object inputElement) {
|
||||||
|
toolChains = new ArrayList<IToolChain>();
|
||||||
|
try {
|
||||||
|
toolChains.addAll(manager.getAllToolChains());
|
||||||
|
} catch (CoreException e) {
|
||||||
|
CUIPlugin.log(e.getStatus());
|
||||||
|
}
|
||||||
return toolChains.toArray();
|
return toolChains.toArray();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -282,13 +288,6 @@ public class ToolChainPreferencePage extends PreferencePage implements IWorkbenc
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
toolChains = new ArrayList<IToolChain>();
|
|
||||||
try {
|
|
||||||
toolChains.addAll(manager.getAllToolChains());
|
|
||||||
} catch (CoreException e) {
|
|
||||||
CUIPlugin.log(e.getStatus());
|
|
||||||
}
|
|
||||||
|
|
||||||
availTable.setInput(manager);
|
availTable.setInput(manager);
|
||||||
userTable.setInput(manager);
|
userTable.setInput(manager);
|
||||||
updateButtons();
|
updateButtons();
|
||||||
|
|
Loading…
Add table
Reference in a new issue