Skip to content
Snippets Groups Projects
Commit 53e4fa2b authored by Florian Hölzl's avatar Florian Hölzl
Browse files

RasPi generator creates Eclipse CDT project properly.

parent 71eb4f67
No related branches found
No related tags found
No related merge requests found
...@@ -17,6 +17,7 @@ package org.fortiss.af3.platform.raspberry.generator.executable; ...@@ -17,6 +17,7 @@ package org.fortiss.af3.platform.raspberry.generator.executable;
import org.fortiss.af3.component.model.OutputPort; import org.fortiss.af3.component.model.OutputPort;
import org.fortiss.af3.platform.raspberry.generator.executable.framework.IInitializationExecutable; import org.fortiss.af3.platform.raspberry.generator.executable.framework.IInitializationExecutable;
import org.fortiss.af3.platform.raspberry.generator.executable.framework.ISingletonInitializationExecutable;
import org.fortiss.af3.platform.raspberry.generator.executable.framework.ITerminationExecutable; import org.fortiss.af3.platform.raspberry.generator.executable.framework.ITerminationExecutable;
import org.fortiss.af3.platform.raspberry.generator.executable.framework.IWriteableExecutable; import org.fortiss.af3.platform.raspberry.generator.executable.framework.IWriteableExecutable;
import org.fortiss.af3.platform.raspberry.generator.executable.library.PiHALLibraryExecutableBase; import org.fortiss.af3.platform.raspberry.generator.executable.library.PiHALLibraryExecutableBase;
...@@ -24,7 +25,8 @@ import org.fortiss.af3.platform.raspberry.model.ActuatorPWM; ...@@ -24,7 +25,8 @@ import org.fortiss.af3.platform.raspberry.model.ActuatorPWM;
/** Executable for {@link ActuatorPWM}. */ /** Executable for {@link ActuatorPWM}. */
public class PWMActuatorExecutable extends PiHALLibraryExecutableBase<ActuatorPWM> implements public class PWMActuatorExecutable extends PiHALLibraryExecutableBase<ActuatorPWM> implements
IInitializationExecutable, IWriteableExecutable, ITerminationExecutable { ISingletonInitializationExecutable, IInitializationExecutable, IWriteableExecutable,
ITerminationExecutable {
/** Constructor. */ /** Constructor. */
public PWMActuatorExecutable(ActuatorPWM modelElement) { public PWMActuatorExecutable(ActuatorPWM modelElement) {
super(modelElement); super(modelElement);
...@@ -36,16 +38,35 @@ public class PWMActuatorExecutable extends PiHALLibraryExecutableBase<ActuatorPW ...@@ -36,16 +38,35 @@ public class PWMActuatorExecutable extends PiHALLibraryExecutableBase<ActuatorPW
return "temp_actuator.h"; return "temp_actuator.h";
} }
/** {@inheritDoc} */
@Override
public String getSingletonVariableDeclarationCode() {
return "static int actuator_pwm = -1;\n";
}
/** {@inheritDoc} */
@Override
public String getSingletonInitializationCode() {
return "actuator_pwm = temp_actuator_initialize(\"/dev/ttyACM0\");\n";
}
/** {@inheritDoc} */
@Override
public String getSingletonInitializationIdentifier() {
// Using header file as unique ID
return "temp_actuator.h";
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public String getVariableDeclaration(String prefix) { public String getVariableDeclaration(String prefix) {
return "int " + prefix + "actuator_pwm = -1;\n"; return "";
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public String getInitializationCode(String prefix) { public String getInitializationCode(String prefix) {
return prefix + "actuator_pwm = temp_actuator_initialize(\"/dev/ttyACM0\");\n"; return "";
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
...@@ -57,7 +78,7 @@ public class PWMActuatorExecutable extends PiHALLibraryExecutableBase<ActuatorPW ...@@ -57,7 +78,7 @@ public class PWMActuatorExecutable extends PiHALLibraryExecutableBase<ActuatorPW
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public String getWriteCode(String prefix, OutputPort logicalSignal, String value) { public String getWriteCode(String prefix, OutputPort logicalSignal, String value) {
return "temp_actuator_set_target(" + prefix + "actuator_pwm, " + return "temp_actuator_device_set_target(" + prefix + "actuator_pwm, " +
modelElement.getChannelID() + ", " + value + ");\n"; modelElement.getChannelID() + ", " + value + ");\n";
} }
......
...@@ -19,6 +19,7 @@ import static org.fortiss.af3.component.utils.ComponentArchitectureUtils.isAtomi ...@@ -19,6 +19,7 @@ import static org.fortiss.af3.component.utils.ComponentArchitectureUtils.isAtomi
import static org.fortiss.af3.expression.utils.ExpressionModelElementFactory.createDataDictionary; import static org.fortiss.af3.expression.utils.ExpressionModelElementFactory.createDataDictionary;
import static org.fortiss.af3.generator.common.utils.CLanguageModelElementFactory.createCSourcePackage; import static org.fortiss.af3.generator.common.utils.CLanguageModelElementFactory.createCSourcePackage;
import static org.fortiss.af3.platform.raspberry.generator.templates.RasPiCTemplates.getConfigureFile; import static org.fortiss.af3.platform.raspberry.generator.templates.RasPiCTemplates.getConfigureFile;
import static org.fortiss.af3.platform.raspberry.generator.templates.RasPiCTemplates.getEclipseCDTProjectFile;
import static org.fortiss.af3.platform.raspberry.generator.templates.RasPiCTemplates.getEclipseProjectFile; import static org.fortiss.af3.platform.raspberry.generator.templates.RasPiCTemplates.getEclipseProjectFile;
import static org.fortiss.af3.platform.raspberry.generator.templates.RasPiCTemplates.getMakedefsFile; import static org.fortiss.af3.platform.raspberry.generator.templates.RasPiCTemplates.getMakedefsFile;
import static org.fortiss.af3.platform.utils.PlatformArchitectureUtils.findAtomicTransmissionUnits; import static org.fortiss.af3.platform.utils.PlatformArchitectureUtils.findAtomicTransmissionUnits;
...@@ -262,7 +263,9 @@ public class RaspberryPIExecutable extends ExecutionUnitExecutableBase<Raspberry ...@@ -262,7 +263,9 @@ public class RaspberryPIExecutable extends ExecutionUnitExecutableBase<Raspberry
/** Adds auxiliary files for Eclipse C project. */ /** Adds auxiliary files for Eclipse C project. */
private void addEclipseCProjectFiles() { private void addEclipseCProjectFiles() {
generatorResult.addUnit(getEclipseProjectFile(modelElement.getName())); String name = modelElement.getName();
generatorResult.addUnit(getEclipseProjectFile(name));
generatorResult.addUnit(getEclipseCDTProjectFile(name));
} }
/** Creates the code for all deployed components. */ /** Creates the code for all deployed components. */
......
...@@ -126,6 +126,24 @@ class SingleUnitMainGenerator { ...@@ -126,6 +126,24 @@ class SingleUnitMainGenerator {
private String createVariables(List<Pair<ExecutionUnit, Component>> deployedComponents, private String createVariables(List<Pair<ExecutionUnit, Component>> deployedComponents,
List<Pair<PlatformConnectorUnit, Port>> deployedPorts) { List<Pair<PlatformConnectorUnit, Port>> deployedPorts) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
Set<String> singletonInitDone = new HashSet<>();
for(PlatformConnectorUnit pcu : platformConnector2ExecutableBase.keySet()) {
ExecutableBase<?> exec = platformConnector2ExecutableBase.get(pcu);
if(exec instanceof ISingletonInitializationExecutable) {
ISingletonInitializationExecutable singletonExec =
(ISingletonInitializationExecutable)exec;
String ident = singletonExec.getSingletonInitializationIdentifier();
if(!singletonInitDone.contains(ident)) {
singletonInitDone.add(ident);
sb.append(singletonExec.getSingletonVariableDeclarationCode());
}
}
if(exec instanceof IInitializationExecutable) {
IInitializationExecutable initExec = (IInitializationExecutable)exec;
String prefix = getPrefix(pcu);
sb.append(initExec.getVariableDeclaration(prefix));
}
}
// if(usePWM) { // if(usePWM) {
// sb.append("int maestro_fd = -1;\n"); // sb.append("int maestro_fd = -1;\n");
// } // }
......
group CDTProjectFile;
CDTProjectFile(PROJECT_NAME) ::= <<
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.debug.1203432056">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.debug.1203432056" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="\${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.config.gnu.cross.exe.debug.1203432056" name="Debug" parent="cdt.managedbuild.config.gnu.cross.exe.debug" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.debug.1203432056." name="/" resourcePath="">
<toolChain errorParsers="" id="cdt.managedbuild.toolchain.gnu.cross.exe.debug.973530837" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.debug">
<option id="cdt.managedbuild.option.gnu.cross.prefix.934670330" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix" useByScannerDiscovery="false" value="arm-linux-gnueabihf-" valueType="string"/>
<option id="cdt.managedbuild.option.gnu.cross.path.198990975" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path" useByScannerDiscovery="false" value="/home/hoelzl/.local/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.465416258" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
<builder buildPath="\${workspace_loc:/test00}/Debug" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator" id="cdt.managedbuild.builder.gnu.cross.1201733457" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
<tool command="gcc" commandLinePattern="\${COMMAND} \${FLAGS} -MT \${OUTPUT_PREFIX}\${OUTPUT} \${OUTPUT_FLAG} \${OUTPUT_PREFIX}\${OUTPUT} \${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="cdt.managedbuild.tool.gnu.cross.c.compiler.1388664563" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1101114252" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/>
<option id="gnu.c.compiler.option.debugging.level.522806567" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.1787146438" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/\${ProjName}/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/\${ProjName}/inc-gen}&quot;"/>
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/\${ProjName}/inc-lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/\${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/brick/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/af3pihal/inc}&quot;"/>
</option>
<option id="gnu.c.compiler.option.dialect.std.995945301" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
<option id="gnu.c.compiler.option.misc.other.1828262063" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -fmessage-length=0" valueType="string"/>
<option id="gnu.c.compiler.option.debugging.other.2030059407" name="Other debugging flags" superClass="gnu.c.compiler.option.debugging.other" useByScannerDiscovery="false" value="" valueType="string"/>
<option id="gnu.c.compiler.option.dialect.flags.1268463370" name="Other dialect flags" superClass="gnu.c.compiler.option.dialect.flags" useByScannerDiscovery="true" value="-std=gnu99" valueType="string"/>
<option id="gnu.c.compiler.option.preprocessor.def.symbols.1944056558" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="DEBUG=1"/>
</option>
<option id="gnu.c.compiler.option.misc.verbose.600336910" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1078799723" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.757847987" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
<option id="gnu.cpp.compiler.option.optimization.level.1463865645" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.debugging.level.1427843115" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
</tool>
<tool command="gcc" commandLinePattern="\${COMMAND} \${FLAGS} \${OUTPUT_FLAG} \${OUTPUT_PREFIX}\${OUTPUT} \${INPUTS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="cdt.managedbuild.tool.gnu.cross.c.linker.552685778" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker">
<option id="gnu.c.link.option.libs.1721772670" name="Libraries (-l)" superClass="gnu.c.link.option.libs" useByScannerDiscovery="false" valueType="libs">
<listOptionValue builtIn="false" value="pthread"/>
<listOptionValue builtIn="false" value="brick"/>
<listOptionValue builtIn="false" value="af3pihal"/>
<listOptionValue builtIn="false" value="rt"/>
</option>
<option id="gnu.c.link.option.paths.32490919" name="Library search path (-L)" superClass="gnu.c.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/\${ProjName}/lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/af3pihal/Debug}&quot;"/>
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/brick/Debug}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1755029706" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="\$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="\$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.254479804" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker"/>
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.1841822076" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
<tool command="as" commandLinePattern="\${COMMAND} \${FLAGS} \${OUTPUT_FLAG} \${OUTPUT_PREFIX}\${OUTPUT} \${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.tool.gnu.cross.assembler.628187760" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1525657615" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="cdt.managedbuild.config.gnu.cross.exe.release.1701809930">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.cross.exe.release.1701809930" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="\${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.cross.exe.release.1701809930" name="Release" parent="cdt.managedbuild.config.gnu.cross.exe.release">
<folderInfo id="cdt.managedbuild.config.gnu.cross.exe.release.1701809930." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.release.1833865695" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.release">
<option id="cdt.managedbuild.option.gnu.cross.prefix.1487579101" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix" useByScannerDiscovery="false" value="arm-linux-gnueabihf-" valueType="string"/>
<option id="cdt.managedbuild.option.gnu.cross.path.1096674352" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path" useByScannerDiscovery="false" value="/home/hoelzl/.local/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.465022183" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
<builder buildPath="\${workspace_loc:/test00}/Release" id="cdt.managedbuild.builder.gnu.cross.860871354" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.6906706" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1217192025" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.c.optimization.level.size" valueType="enumerated"/>
<option id="gnu.c.compiler.option.debugging.level.1414867465" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.1248659198" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/\${ProjName}/inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/af3pihal/inc}&quot;"/>
</option>
<option id="gnu.c.compiler.option.dialect.std.591562260" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
<option id="gnu.c.compiler.option.dialect.flags.1079038852" name="Other dialect flags" superClass="gnu.c.compiler.option.dialect.flags" useByScannerDiscovery="true" value="-std=gnu99" valueType="string"/>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1754693810" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1210018632" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
<option id="gnu.cpp.compiler.option.optimization.level.1591077970" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
<option id="gnu.cpp.compiler.option.debugging.level.210110614" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.535379101" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker">
<option id="gnu.c.link.option.libs.11190781" name="Libraries (-l)" superClass="gnu.c.link.option.libs" useByScannerDiscovery="false" valueType="libs">
<listOptionValue builtIn="false" value="pthread"/>
<listOptionValue builtIn="false" value="af3pihal"/>
<listOptionValue builtIn="false" value="rt"/>
</option>
<option id="gnu.c.link.option.paths.1918255762" name="Library search path (-L)" superClass="gnu.c.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;\${workspace_loc:/af3pihal/Release}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.513910677" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="\$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="\$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1159798554" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker"/>
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.319096652" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.1238670092" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.956044129" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="test00.cdt.managedbuild.target.gnu.cross.exe.730013779" name="Executable" projectType="cdt.managedbuild.target.gnu.cross.exe"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.release.1701809930;cdt.managedbuild.config.gnu.cross.exe.release.1701809930.;cdt.managedbuild.tool.gnu.cross.c.compiler.6906706;cdt.managedbuild.tool.gnu.c.compiler.input.1754693810">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.cross.exe.debug.1203432056;cdt.managedbuild.config.gnu.cross.exe.debug.1203432056.;cdt.managedbuild.tool.gnu.cross.c.compiler.1388664563;cdt.managedbuild.tool.gnu.c.compiler.input.1078799723">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug">
<resource resourceType="PROJECT" workspacePath="/$PROJECT_NAME$"/>
</configuration>
<configuration configurationName="Release">
<resource resourceType="PROJECT" workspacePath="/$PROJECT_NAME$"/>
</configuration>
</storageModule>
</cproject>
>>
\ No newline at end of file
...@@ -77,6 +77,13 @@ public final class RasPiCTemplates { ...@@ -77,6 +77,13 @@ public final class RasPiCTemplates {
return createStaticContentSourceUnit(".project", template.toString(), false); return createStaticContentSourceUnit(".project", template.toString(), false);
} }
/** Returns the '.cproject' file used for Eclipse CDT project. */
public static AbstractUnit getEclipseCDTProjectFile(String projectName) {
StringTemplate template = makeTemplate("CProjectFile.stg", "CDTProjectFile");
template.setAttribute("PROJECT_NAME", projectName);
return createStaticContentSourceUnit(".cproject", template.toString(), false);
}
/** Returns the 'configure' file used to create a Makefile. */ /** Returns the 'configure' file used to create a Makefile. */
public static AbstractUnit getConfigureFile(String binaryName, String libNames) { public static AbstractUnit getConfigureFile(String binaryName, String libNames) {
StringTemplate template = makeTemplate("ConfigureFile.stg", "ConfigureFile"); StringTemplate template = makeTemplate("ConfigureFile.stg", "ConfigureFile");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment