Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
monticore
EmbeddedMontiArc
generators
EMAM2Cpp
Commits
b2533396
Commit
b2533396
authored
Jan 08, 2019
by
Alexander David Hellwig
Browse files
CMake: Updates for msbuild: genereate {component.name}.cpp, use C++ 14,
parent
c268d60a
Pipeline
#95971
passed with stages
in 35 minutes and 16 seconds
Changes
12
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
pom.xml
View file @
b2533396
...
...
@@ -31,7 +31,7 @@
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-math-generator
</artifactId>
<version>
0.1.
3
-SNAPSHOT
</version>
<version>
0.1.
4
-SNAPSHOT
</version>
<!-- == PROJECT DEPENDENCIES ============================================= -->
...
...
src/main/java/de/monticore/lang/monticar/generator/cmake/CMakeConfig.java
View file @
b2533396
...
...
@@ -91,6 +91,8 @@ public class CMakeConfig {
List
<
FileContent
>
files
=
new
ArrayList
<
FileContent
>();
// generate CMakeLists.txt
files
.
add
(
generateCMakeLists
());
// generate ${component.name}.cpp
files
.
add
(
generateComponentCpp
());
// generate FindModule.cmake's
for
(
CMakeFindModule
module
:
moduleList
)
{
files
.
add
(
generateCMakeFindPackage
(
module
));
...
...
@@ -98,6 +100,14 @@ public class CMakeConfig {
return
files
;
}
private
FileContent
generateComponentCpp
()
{
FileContent
result
=
new
FileContent
();
String
compName
=
cMakeListsViewModel
.
getCompName
().
replace
(
"."
,
"_"
);
result
.
setFileName
(
compName
+
".cpp"
);
result
.
setFileContent
(
"#include \""
+
compName
+
".h\""
);
return
result
;
}
private
FileContent
generateCMakeFindPackage
(
CMakeFindModule
module
)
{
FileContent
result
=
null
;
// map data
...
...
src/main/resources/template/cmake/CMakeListsCppTemplate.ftl
View file @
b2533396
cmake_minimum_required
(
VERSION
3.5)
set
(
CMAKE_CXX_STANDARD
1
1
)
set
(
CMAKE_CXX_STANDARD
1
4
)
project
(${
viewModel
.compName
}
LANGUAGES CXX)
...
...
@@ -20,7 +20,7 @@ ${cmd}
# create static library
include_directories
(${
r
"${
INCLUDE_DIRS
}"})
add_library
(${
viewModel
.compName
}
$
{
viewModel
.compName
}
.
h
)
add_library
(${
viewModel
.compName
}
$
{
viewModel
.compName
}
.
cpp
)
target_include_directories
(${
viewModel
.compName
}
PUBLIC $
{
r
"${CMAKE_CURRENT_SOURCE_DIR}"
}
$
{
r
"${INCLUDE_DIRS}"
}
)
target_link_libraries
(${
viewModel
.compName
}
PUBLIC $
{
r
"${LIBS}"
}
)
set_target_properties
(${
viewModel
.compName
}
PROPERTIES LINKER_LANGUAGE CXX)
...
...
src/test/java/de/monticore/lang/monticar/generator/cmake/GenerateCMakeTest.java
View file @
b2533396
...
...
@@ -100,7 +100,7 @@ public class GenerateCMakeTest extends AbstractSymtabTest {
for
(
File
f
:
files
)
{
if
(
f
.
getName
().
startsWith
(
"Find"
))
findFiles
.
add
(
f
);
else
if
(
f
.
getName
().
endsWith
(
".hpp"
)
||
f
.
getName
().
endsWith
(
".cpp"
))
else
if
(
f
.
getName
().
endsWith
(
".hpp"
)
||
f
.
getName
().
endsWith
(
"
tests_main
.cpp"
))
testFiles
.
add
(
f
);
else
if
(
f
.
toPath
().
getParent
().
endsWith
(
"reporting"
))
{
//don't care about reporting files
...
...
src/test/resources/results/cmake/test/BasicConstantAssignment/CMakeLists.txt
View file @
b2533396
cmake_minimum_required
(
VERSION 3.5
)
set
(
CMAKE_CXX_STANDARD 1
1
)
set
(
CMAKE_CXX_STANDARD 1
4
)
project
(
test_basicConstantAssignment LANGUAGES CXX
)
...
...
@@ -15,7 +15,7 @@ set(LIBS ${LIBS} ${Armadillo_LIBRARIES})
# create static library
include_directories
(
${
INCLUDE_DIRS
}
)
add_library
(
test_basicConstantAssignment test_basicConstantAssignment.
h
)
add_library
(
test_basicConstantAssignment test_basicConstantAssignment.
cpp
)
target_include_directories
(
test_basicConstantAssignment PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
${
INCLUDE_DIRS
}
)
target_link_libraries
(
test_basicConstantAssignment PUBLIC
${
LIBS
}
)
set_target_properties
(
test_basicConstantAssignment PROPERTIES LINKER_LANGUAGE CXX
)
...
...
src/test/resources/results/cmake/test/BasicConstantAssignment/test_basicConstantAssignment.cpp
0 → 100644
View file @
b2533396
#include
"test_basicConstantAssignment.h"
\ No newline at end of file
src/test/resources/results/cmake/test/BasicPortsMath/CMakeLists.txt
View file @
b2533396
cmake_minimum_required
(
VERSION 3.5
)
set
(
CMAKE_CXX_STANDARD 1
1
)
set
(
CMAKE_CXX_STANDARD 1
4
)
project
(
test_basicPortsMath LANGUAGES CXX
)
...
...
@@ -15,7 +15,7 @@ set(LIBS ${LIBS} ${Armadillo_LIBRARIES})
# create static library
include_directories
(
${
INCLUDE_DIRS
}
)
add_library
(
test_basicPortsMath test_basicPortsMath.
h
)
add_library
(
test_basicPortsMath test_basicPortsMath.
cpp
)
target_include_directories
(
test_basicPortsMath PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
${
INCLUDE_DIRS
}
)
target_link_libraries
(
test_basicPortsMath PUBLIC
${
LIBS
}
)
set_target_properties
(
test_basicPortsMath PROPERTIES LINKER_LANGUAGE CXX
)
...
...
src/test/resources/results/cmake/test/BasicPortsMath/test_basicPortsMath.cpp
0 → 100644
View file @
b2533396
#include
"test_basicPortsMath.h"
\ No newline at end of file
src/test/resources/results/cmake/test/math/FloatDivisionTest/CMakeLists.txt
View file @
b2533396
cmake_minimum_required
(
VERSION 3.5
)
set
(
CMAKE_CXX_STANDARD 1
1
)
set
(
CMAKE_CXX_STANDARD 1
4
)
project
(
test_math_floatDivisionTest LANGUAGES CXX
)
...
...
@@ -15,7 +15,7 @@ set(LIBS ${LIBS} ${Armadillo_LIBRARIES})
# create static library
include_directories
(
${
INCLUDE_DIRS
}
)
add_library
(
test_math_floatDivisionTest test_math_floatDivisionTest.
h
)
add_library
(
test_math_floatDivisionTest test_math_floatDivisionTest.
cpp
)
target_include_directories
(
test_math_floatDivisionTest PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
${
INCLUDE_DIRS
}
)
target_link_libraries
(
test_math_floatDivisionTest PUBLIC
${
LIBS
}
)
set_target_properties
(
test_math_floatDivisionTest PROPERTIES LINKER_LANGUAGE CXX
)
...
...
src/test/resources/results/cmake/test/math/FloatDivisionTest/test_math_floatDivisionTest.cpp
0 → 100644
View file @
b2533396
#include
"test_math_floatDivisionTest.h"
\ No newline at end of file
src/test/resources/results/cmake/testing/Model/CMakeLists.txt
View file @
b2533396
cmake_minimum_required
(
VERSION 3.5
)
set
(
CMAKE_CXX_STANDARD 1
1
)
set
(
CMAKE_CXX_STANDARD 1
4
)
project
(
testing_model LANGUAGES CXX
)
...
...
@@ -15,7 +15,7 @@ set(LIBS ${LIBS} ${Armadillo_LIBRARIES})
# create static library
include_directories
(
${
INCLUDE_DIRS
}
)
add_library
(
testing_model testing_model.
h
)
add_library
(
testing_model testing_model.
cpp
)
target_include_directories
(
testing_model PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
${
INCLUDE_DIRS
}
)
target_link_libraries
(
testing_model PUBLIC
${
LIBS
}
)
set_target_properties
(
testing_model PROPERTIES LINKER_LANGUAGE CXX
)
...
...
src/test/resources/results/cmake/testing/Model/testing_model.cpp
0 → 100644
View file @
b2533396
#include
"testing_model.h"
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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