Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
monticore
EmbeddedMontiArc
generators
EMAM2Cpp
Commits
3333f1b1
Commit
3333f1b1
authored
Nov 02, 2020
by
Jan Philipp Haller
Browse files
WIP Bugfix library linkage
parent
16e45ca9
Pipeline
#351891
failed with stage
in 4 minutes and 48 seconds
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
src/main/java/de/monticore/lang/monticar/generator/cpp/GeneratorCppCli.java
View file @
3333f1b1
...
@@ -128,7 +128,7 @@ public final class GeneratorCppCli {
...
@@ -128,7 +128,7 @@ public final class GeneratorCppCli {
runGenerator
(
cliArgs
);
runGenerator
(
cliArgs
);
}
else
{
}
else
{
Log
.
error
(
"Error parsing cli arguments!"
);
Log
.
error
(
"Error parsing cli arguments!"
);
System
.
exit
(
1
);
//
System.exit(1);
}
}
}
}
...
...
src/main/java/de/monticore/lang/monticar/generator/cpp/mathopt/optimizationSolver/solver/ipopt/IpoptSolverGeneratorImplementation.java
View file @
3333f1b1
...
@@ -126,9 +126,10 @@ public class IpoptSolverGeneratorImplementation implements NLPSolverGeneratorImp
...
@@ -126,9 +126,10 @@ public class IpoptSolverGeneratorImplementation implements NLPSolverGeneratorImp
protected
void
addCMakeDependenciesToGenerator
(
EMAMBluePrintCPP
bluePrint
)
{
protected
void
addCMakeDependenciesToGenerator
(
EMAMBluePrintCPP
bluePrint
)
{
Generator
gen
=
bluePrint
.
getGenerator
();
Generator
gen
=
bluePrint
.
getGenerator
();
if
(
gen
instanceof
GeneratorCPP
)
{
if
(
gen
instanceof
GeneratorCPP
)
{
CMakeConfig
cmake
=
((
GeneratorCPP
)
gen
).
getCMakeConfig
();
//ToDo: Find bug, why linkage generation isn't executed.
//((GeneratorCPP) gen).getCMakeConfig().addCmakeLibraryLinkage("ipopt");
((
GeneratorCPP
)
gen
).
getCMakeConfig
().
addCMakeCommand
(
"set(LIBS ${LIBS} ipopt)"
);
cmake
.
addCmakeLibraryLinkage
(
"ipopt"
);
}
}
}
}
...
...
src/main/resources/template/cmake/CMakeListsCppTemplate.ftl
View file @
3333f1b1
...
@@ -16,8 +16,8 @@ find_package(${var.packageName} <#if var.required>REQUIRED<#else></#if>)
...
@@ -16,8 +16,8 @@ find_package(${var.packageName} <#if var.required>REQUIRED<#else></#if>)
</#list>
</#list>
# additional library linkage
# additional library linkage
<#list viewModel.cmakeLibraryLinkageList as
cmd
>
<#list viewModel.cmakeLibraryLinkageList as
link
>
set(LIBS ${r"${LIBS}"} ${
cmd}
)
set(LIBS ${r"${LIBS}"}
"
${
link}"
)
</#list>
</#list>
# additional commands
# additional commands
...
...
src/test/java/de/monticore/lang/monticar/generator/cmake/GenerateCMakeTest.java
View file @
3333f1b1
...
@@ -4,6 +4,7 @@ package de.monticore.lang.monticar.generator.cmake;
...
@@ -4,6 +4,7 @@ package de.monticore.lang.monticar.generator.cmake;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.instanceStructure.EMAComponentInstanceSymbol
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.instanceStructure.EMAComponentInstanceSymbol
;
import
de.monticore.lang.monticar.generator.AbstractSymtabTest
;
import
de.monticore.lang.monticar.generator.AbstractSymtabTest
;
import
de.monticore.lang.monticar.generator.cpp.GeneratorCPP
;
import
de.monticore.lang.monticar.generator.cpp.GeneratorCPP
;
import
de.monticore.lang.monticar.generator.cpp.GeneratorCppCli
;
import
de.monticore.lang.tagging._symboltable.TaggingResolver
;
import
de.monticore.lang.tagging._symboltable.TaggingResolver
;
import
de.se_rwth.commons.logging.Log
;
import
de.se_rwth.commons.logging.Log
;
import
org.junit.Before
;
import
org.junit.Before
;
...
@@ -13,8 +14,10 @@ import java.io.File;
...
@@ -13,8 +14,10 @@ import java.io.File;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.nio.file.Paths
;
import
java.nio.file.Paths
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
static
junit
.
framework
.
TestCase
.
assertTrue
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
/**
/**
...
@@ -111,4 +114,18 @@ public class GenerateCMakeTest extends AbstractSymtabTest {
...
@@ -111,4 +114,18 @@ public class GenerateCMakeTest extends AbstractSymtabTest {
testCMakeFilesEqual
(
files
,
restPath
);
testCMakeFilesEqual
(
files
,
restPath
);
}
}
@Test
public
void
testModelWithIpopt
()
{
Log
.
getFindings
().
clear
();
String
[]
args
=
{
"-m"
,
"src/test/resources"
,
"-r"
,
"ipopt.QuadraticOpt"
,
"-o"
,
"./target/generated-sources-emadl"
};
GeneratorCppCli
.
main
(
args
);
//checkFilesAreEqual(Paths.get("./target/generated-sources-emadl"), Paths.get("./src/test/resources/target_code/ipopt"), Arrays.asList(
// "CMakeLists.txt"
//));
assertTrue
(
Log
.
getFindings
().
isEmpty
());
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment